:root{color-scheme:light;--color-bg: #fbf6ef;--color-bg-alt: #f3e9db;--color-surface: #ffffff;--color-surface-glass: rgba(255, 255, 255, .7);--color-border: #e6d9c7;--color-border-strong: #d8c6ab;--color-text: #2a1c1f;--color-text-muted: #6f5c58;--color-text-faint: #a3908a;--color-text-on-primary: #fff8f0;--color-primary: #8a2540;--color-primary-dark: #691c31;--color-primary-light: #b23a57;--color-gold: #c08a2e;--color-gold-light: #e3b463;--gradient-primary: linear-gradient(135deg, #7c1f38 0%, #8a2540 45%, #c08a2e 100%);--gradient-primary-soft: linear-gradient(135deg, rgba(138, 37, 64, .12), rgba(192, 138, 46, .12));--color-success: #2f7a4f;--color-success-bg: #e6f2ea;--color-warning: #b9791a;--color-warning-bg: #fbf0dc;--color-danger: #b3261e;--color-danger-bg: #fbeae8;--color-neutral: #6f5c58;--color-neutral-bg: #efe6da;--color-org: #1f6f78;--color-org-bg: #e3f1f2;--color-restricted: #b9791a;--color-restricted-bg: #fbf0dc;--color-private: #5b4b4f;--color-private-bg: #ede2df;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 28px;--space-7: 36px;--space-8: 48px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(42, 20, 20, .06), 0 1px 1px rgba(42, 20, 20, .04);--shadow-md: 0 6px 16px rgba(58, 22, 22, .1), 0 2px 4px rgba(58, 22, 22, .06);--shadow-lg: 0 18px 40px rgba(58, 22, 22, .16), 0 6px 12px rgba(58, 22, 22, .08);--shadow-primary: 0 10px 24px rgba(138, 37, 64, .28);--ease: cubic-bezier(.4, 0, .2, 1);--transition-fast: .14s var(--ease);--transition-base: .22s var(--ease)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,#fdf1e4 0%,var(--color-bg) 45%) fixed;color:var(--color-text);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column}h1,h2,h3{margin:0 0 var(--space-2);font-weight:650;letter-spacing:-.01em;color:var(--color-text)}h1{font-size:26px}h2{font-size:18px}p{margin:0 0 var(--space-3);color:var(--color-text-muted)}a{color:var(--color-primary)}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px;color:var(--color-text)}ul{margin:0;padding:0;list-style:none}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.page-shell{width:100%;max-width:1080px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.page-shell--narrow{max-width:640px}main{flex:1}main.main--viewer{display:flex;flex-direction:column;min-height:100vh}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.page-header__subtitle{margin-top:-2px}.page-header__title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.page-header__title-row h1{margin:0}.page-header__stats{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2);color:var(--color-text-muted);font-size:13px}.page-header__actions{display:flex;gap:var(--space-2);flex-shrink:0}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);text-decoration:none;font-size:13px;font-weight:600;margin-bottom:var(--space-4);transition:color var(--transition-fast)}.back-link:hover{color:var(--color-primary)}.mt-sm{margin-top:var(--space-2)}.mt-xs{margin-top:var(--space-1)}.nav{position:sticky;top:0;z-index:20;background:var(--color-surface-glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--color-border)}.nav__inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:var(--space-6);padding:var(--space-3) var(--space-5)}.nav__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--color-text);text-decoration:none;flex-shrink:0}.nav__brand-mark{width:22px;height:22px;border-radius:7px;background:var(--gradient-primary);box-shadow:var(--shadow-primary)}.nav__links{display:flex;align-items:center;gap:var(--space-2);flex:1}.nav__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-muted);text-decoration:none;font-size:14px;font-weight:600;transition:background var(--transition-fast),color var(--transition-fast)}.nav__link:hover{background:var(--color-bg-alt);color:var(--color-text)}.nav__link--active{background:var(--gradient-primary-soft);color:var(--color-primary)}.nav__actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.nav__user{display:flex;align-items:center;gap:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--color-border)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--gradient-primary);color:var(--color-text-on-primary);font-size:12px;font-weight:700}.nav__user-name{font-size:13px;font-weight:600;color:var(--color-text-muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav__signout{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.nav__signout:hover{background:var(--color-danger-bg);color:var(--color-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 16px;border:1px solid transparent;border-radius:var(--radius-md);font-size:14px;font-weight:650;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.btn--primary{background:var(--gradient-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-primary)}.btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #8a254057}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.btn--ghost{background:transparent;color:var(--color-text-muted)}.btn--ghost:hover:not(:disabled){background:var(--color-bg-alt);color:var(--color-text)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:#96201a;transform:translateY(-1px)}.btn--sm{padding:6px 12px;font-size:13px;border-radius:var(--radius-sm)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card--aicop{text-decoration:none;color:inherit}.card--aicop:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.card__title{margin:0;font-size:16px;font-weight:650;color:var(--color-text)}.card__description{margin:0;color:var(--color-text-muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:12px;color:var(--color-text-faint)}.card__owner,.card__updated{font-size:12px;color:var(--color-text-faint)}.card__footer{display:flex;align-items:center;gap:var(--space-4);margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.card--skeleton{cursor:default}.card--skeleton:hover{transform:none;box-shadow:var(--shadow-sm)}.stat{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-muted)}.stat--liked{color:var(--color-primary)}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(100deg,var(--color-bg-alt) 30%,#fff 50%,var(--color-bg-alt) 70%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:650;white-space:nowrap}.badge--status-draft{background:var(--color-neutral-bg);color:var(--color-neutral)}.badge--status-processing{background:var(--color-warning-bg);color:var(--color-warning)}.badge--status-published{background:var(--color-success-bg);color:var(--color-success)}.badge--status-archived{background:var(--color-neutral-bg);color:var(--color-neutral)}.badge--status-error{background:var(--color-danger-bg);color:var(--color-danger)}.badge--visibility-org{background:var(--color-org-bg);color:var(--color-org)}.badge--visibility-restricted{background:var(--color-restricted-bg);color:var(--color-restricted)}.badge--visibility-private{background:var(--color-private-bg);color:var(--color-private)}.badge--current{background:var(--gradient-primary-soft);color:var(--color-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface)}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--gradient-primary-soft);color:var(--color-primary);margin-bottom:var(--space-2)}.empty-state__title{margin:0}.empty-state__description{margin:0;max-width:380px}.empty-state__action{margin-top:var(--space-3)}.form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label,.field__label{font-size:13px;font-weight:650;color:var(--color-text)}.field input[type=text],.field input[type=email],.field textarea{padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--gradient-primary-soft)}.field input:disabled,.field textarea:disabled{background:var(--color-bg-alt);color:var(--color-text-faint);cursor:not-allowed}.field__hint{margin:0;font-size:12px;color:var(--color-text-faint)}.field-error{margin:0;font-size:13px;font-weight:600;color:var(--color-danger);display:flex;align-items:center;gap:6px}.field-error--form{padding:var(--space-3);background:var(--color-danger-bg);border-radius:var(--radius-sm)}.form__status{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:14px}.form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.radio-group{display:flex;flex-direction:column;gap:var(--space-2)}.radio-card{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.radio-card:hover{border-color:var(--color-primary-light)}.radio-card--selected{border-color:var(--color-primary);background:var(--gradient-primary-soft)}.radio-card--compact{padding:var(--space-2) var(--space-3)}.radio-card input{margin:0;accent-color:var(--color-primary)}.radio-card__label{font-weight:650;font-size:14px;color:var(--color-text)}.radio-card__hint{font-size:12px;color:var(--color-text-faint)}.dropzone-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.dropzone{position:relative;border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-alt);padding:var(--space-5);transition:border-color var(--transition-fast),background var(--transition-fast)}.dropzone--drag{border-color:var(--color-primary);background:var(--gradient-primary-soft)}.dropzone--error{border-color:var(--color-danger)}.dropzone--filled{background:var(--color-surface)}.dropzone--disabled{opacity:.6}.dropzone__label{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;cursor:pointer;color:var(--color-text-muted)}.dropzone--disabled .dropzone__label{cursor:not-allowed}.dropzone__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.dropzone__icon{color:var(--color-primary)}.dropzone__filename{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-weight:650;color:var(--color-text)}.dropzone__hint{font-size:13px}.dropzone__hint--muted{display:block;margin-top:2px;font-size:12px;color:var(--color-text-faint)}.dropzone__remove{position:absolute;top:var(--space-2);right:var(--space-2);border:none;background:var(--color-surface);color:var(--color-text-muted);border-radius:var(--radius-pill);padding:4px 10px;font-size:12px;font-weight:650;cursor:pointer;box-shadow:var(--shadow-sm)}.dropzone__remove:hover{color:var(--color-danger)}.progress{margin-top:var(--space-3);height:6px;border-radius:var(--radius-pill);background:var(--color-border);overflow:hidden}.progress__bar{height:100%;background:var(--gradient-primary);border-radius:var(--radius-pill);transition:width var(--transition-base)}.success-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.success-card__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--gradient-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-primary);margin-bottom:var(--space-2)}.success-card__url{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0;background:var(--color-bg-alt);border-radius:var(--radius-md);max-width:100%}.success-card__url code{font-family:var(--font-mono);font-size:13px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.success-card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.panel{padding:var(--space-5);margin-bottom:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel--danger{border-color:#b3261e59;background:var(--color-danger-bg)}.panel__hint{margin-top:-4px;font-size:13px}.panel__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.code-editor{width:100%;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#201417;color:#f3e6da;font-family:var(--font-mono);font-size:13px;line-height:1.6;resize:vertical}.code-editor:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--gradient-primary-soft)}.code-editor:disabled{opacity:.6}.version-list{display:flex;flex-direction:column;gap:var(--space-2)}.version-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap}.version-list__meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.version-list__number{font-family:var(--font-mono);font-weight:650;color:var(--color-text)}.version-list__detail{font-size:12px;color:var(--color-text-faint)}.version-list__note{font-size:12px;font-style:italic;color:var(--color-text-muted)}.banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.banner p{margin:0;flex:1;color:inherit}.banner--error{background:var(--color-danger-bg);color:var(--color-danger)}.banner--muted{background:var(--color-bg-alt);color:var(--color-text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#2a141473;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:relative;width:100%;max-width:420px;padding:var(--space-6) var(--space-5) var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal__close{position:absolute;top:var(--space-3);right:var(--space-3);border:none;background:transparent;color:var(--color-text-faint);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.modal__close:hover{color:var(--color-text);background:var(--color-bg-alt)}.modal__title{margin:0 0 var(--space-2)}.modal__description{margin:0 0 var(--space-4)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.toast-region{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:100;display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);animation:toast-in var(--transition-base)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--success{border-color:#2f7a4f59}.toast--error{border-color:#b3261e59}.toast__message{flex:1;font-size:13px;font-weight:600;color:var(--color-text)}.toast__dismiss{border:none;background:transparent;color:var(--color-text-faint);font-size:16px;line-height:1;cursor:pointer;padding:0 var(--space-1)}.toast__dismiss:hover{color:var(--color-text)}.viewer{display:flex;flex-direction:column;flex:1;min-height:100vh;background:var(--color-text)}.viewer__bar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-surface-glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.viewer__bar .back-link{margin-bottom:0}.viewer__title{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.viewer__title h1{margin:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer__stats{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.viewer__updated{font-size:12px;color:var(--color-text-faint)}.viewer__frame{flex:1;width:100%;border:none;background:#fff}.like-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:13px;font-weight:650;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.like-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.like-button--active{background:var(--gradient-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.like-button:disabled{cursor:default}.icon-spin{animation:icon-spin .9s linear infinite}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.nav__inner{gap:var(--space-3)}.nav__links{gap:0}.nav__user-name{display:none}.page-header{flex-direction:column}.page-header__actions{width:100%}.card-grid{grid-template-columns:1fr}}
