@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700&family=Shippori+Mincho:wght@500;700&display=swap";.toast-viewport[data-v-09e2c331]{position:fixed;top:1.2rem;right:1.2rem;z-index:1200;pointer-events:none}.toast-stack[data-v-09e2c331]{display:grid;gap:.75rem}.toast-card[data-v-09e2c331]{min-width:min(22rem,calc(100vw - 2.4rem));max-width:min(25rem,calc(100vw - 2.4rem));display:grid;grid-template-columns:.28rem minmax(0,1fr) auto;align-items:start;gap:.85rem;padding:.9rem .9rem .9rem 0;border:1px solid var(--border-soft);border-radius:.95rem;background:linear-gradient(180deg,var(--surface-panel-strong),var(--surface-deep)),var(--surface-panel-strong);box-shadow:0 22px 48px #03050557,var(--shadow-elevation);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.toast-card p[data-v-09e2c331]{margin:0;padding-top:.04rem;color:var(--text-primary);line-height:1.45}.toast-accent[data-v-09e2c331]{width:100%;height:100%;border-radius:999px;background:var(--accent)}.toast-card.tone-success .toast-accent[data-v-09e2c331]{background:var(--status-success)}.toast-card.tone-error .toast-accent[data-v-09e2c331]{background:var(--status-danger)}.toast-dismiss[data-v-09e2c331]{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-faint);color:var(--text-muted);transition:border-color .12s ease,color .12s ease,transform .12s ease}.toast-dismiss[data-v-09e2c331]:hover{border-color:var(--border-hover);color:var(--text-accent);transform:translateY(-1px)}.toast-stack-enter-active[data-v-09e2c331],.toast-stack-leave-active[data-v-09e2c331],.toast-stack-move[data-v-09e2c331]{transition:all .18s ease}.toast-stack-enter-from[data-v-09e2c331],.toast-stack-leave-to[data-v-09e2c331]{opacity:0;transform:translate3d(0,-10px,0)}@media(max-width:720px){.toast-viewport[data-v-09e2c331]{top:.9rem;right:.9rem;left:.9rem}.toast-card[data-v-09e2c331]{min-width:0;max-width:none}}.global-feature-loading-backdrop[data-v-16e3d550]{position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--surface-overlay) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.global-feature-loading[data-v-16e3d550]{display:grid;gap:16px;width:min(420px,100%);padding:24px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface-panel-strong);color:var(--text-primary);box-shadow:var(--shadow-elevation)}.global-feature-loading p[data-v-16e3d550]{margin:0;color:var(--text-secondary)}.global-feature-loading__actions[data-v-16e3d550]{display:flex;justify-content:flex-end;gap:10px}.global-feature-loading__actions button[data-v-16e3d550]{min-height:42px;padding:0 16px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-accent);color:var(--text-primary);font:inherit;font-weight:700;cursor:pointer}:root,:root[data-theme=dark]{color-scheme:dark;color:var(--text-primary);background:var(--canvas);font-family:"Noto Serif SC",serif;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #0A0F0E;--canvas-grid: transparent;--canvas-grid-secondary: transparent;--canvas-glow: transparent;--canvas-glow-secondary: transparent;--surface-base: #121917;--surface-subtle: #19211F;--surface-raised: #202A27;--surface-hover: #293431;--surface-pressed: #34413D;--surface-selected: #4B3B17;--surface-input: #101614;--surface-overlay: #121917;--surface-panel: var(--surface-base);--surface-panel-strong: var(--surface-raised);--surface-muted: var(--surface-subtle);--surface-faint: var(--surface-subtle);--surface-deep: var(--surface-base);--surface-accent: var(--accent-soft);--accent-faint: var(--accent-soft);--text-primary: #F3F5F2;--text-secondary: #C2CBC7;--text-muted: #98A49F;--text-subtle: #98A49F;--text-accent: #E4C573;--text-on-accent: #151006;--text-on-image: #F3F5F2;--text-on-image-muted: #C2CBC7;--border: #34413D;--border-strong: #71807A;--border-muted: #34413D;--border-subtle: #34413D;--border-soft: #34413D;--border-faint: #34413D;--border-hover: #71807A;--accent: #D7B45A;--accent-hover: #E4C573;--accent-pressed: #B9953F;--accent-soft: #332A16;--accent-strong: #E4C573;--accent-on-image: #E4C573;--focus-ring: #73D7C8;--status-success: #79D3A7;--status-success-soft: #193A2B;--status-warning: #E6BD68;--status-warning-soft: #3B2D12;--status-danger: #F1A596;--status-danger-soft: #43211D;--text-on-danger: #151006;--status-info: #7BCBD2;--status-info-soft: #17363A;--ticket-status-all: #475569;--ticket-status-open: #3d5fb5;--ticket-status-processing: #0e7490;--ticket-status-pending: #b4233b;--ticket-status-resolved: #2f855a;--ticket-status-closed: #d8dde3;--ticket-status-closed-text: #2c3742;--surface-lightbox: #0A0F0E;--shadow-elevation: 0 1px 2px rgba(0, 0, 0, .28), 0 8px 24px rgba(0, 0, 0, .28);--shadow-raised: var(--shadow-elevation);--shadow-overlay: 0 20px 56px rgba(8, 14, 12, .56);--radius-none: 0;--radius-detail: 4px;--radius-control: 8px;--radius-container: 12px;--radius-overlay: 16px;--radius-round: 999px;--motion-fast: .12s;--motion-state: .16s;--ease-standard: cubic-bezier(.2, 0, 0, 1)}:root[data-theme=light]{color-scheme:light;--canvas: #F6F7F8;--canvas-grid: transparent;--canvas-grid-secondary: transparent;--canvas-glow: transparent;--canvas-glow-secondary: transparent;--surface-base: #FFFFFF;--surface-subtle: #F0F2F3;--surface-raised: #FFFFFF;--surface-hover: #E8ECEB;--surface-pressed: #DCE2E0;--surface-selected: #E5CE90;--surface-input: #FFFFFF;--surface-overlay: #FFFFFF;--surface-panel: var(--surface-base);--surface-panel-strong: var(--surface-raised);--surface-muted: var(--surface-subtle);--surface-faint: var(--surface-subtle);--surface-deep: var(--surface-base);--surface-accent: var(--accent-soft);--accent-faint: var(--accent-soft);--shadow-raised: var(--shadow-elevation);--shadow-overlay: 0 20px 56px rgba(8, 14, 12, .2);--text-primary: #18201E;--text-secondary: #46524F;--text-muted: #626D6A;--text-subtle: #626D6A;--text-accent: #5F4608;--text-on-accent: #FFFFFF;--text-on-image: #FFFFFF;--text-on-image-muted: #F0F2F3;--border: #D5DBD9;--border-strong: #838E8B;--border-muted: #D5DBD9;--border-subtle: #D5DBD9;--border-soft: #D5DBD9;--border-faint: #D5DBD9;--border-hover: #838E8B;--accent: #76580D;--accent-hover: #5F4608;--accent-pressed: #493506;--accent-soft: #F2E7C7;--accent-strong: #5F4608;--accent-on-image: #FFFFFF;--focus-ring: #0B756A;--status-success: #1E6B48;--status-success-soft: #E1F1E9;--status-warning: #8A5B00;--status-warning-soft: #FFF2D1;--status-danger: #A33A2B;--status-danger-soft: #FBE9E6;--text-on-danger: #FFFFFF;--status-info: #176A73;--status-info-soft: #E1F2F3;--surface-lightbox: #18201E;--shadow-elevation: 0 1px 2px rgba(15, 23, 20, .08), 0 8px 24px rgba(15, 23, 20, .08)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}body,button,input,select,textarea{font:inherit}button,input,select,textarea{outline:none}button{cursor:pointer}button:disabled,select:disabled,textarea:disabled,input:disabled{cursor:not-allowed;opacity:.56}:where(button,input,select,textarea,a):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}input,textarea{width:100%;border:1px solid var(--border-muted);border-radius:var(--radius-control);background:var(--surface-input);color:var(--text-primary);padding:12px 14px;transition:border-color var(--motion-state) var(--ease-standard),box-shadow var(--motion-state) var(--ease-standard),background-color var(--motion-state) var(--ease-standard)}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--border-strong)}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--focus-ring);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus-ring) 28%,transparent)}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-family:Shippori Mincho,"Noto Serif SC",serif;font-size:clamp(1.7rem,3vw,3.2rem);line-height:1}h2{margin-bottom:8px;font-size:1.12rem}h3{margin-bottom:3px;font-size:.98rem}.kicker,.panel-label{margin:0 0 7px;color:var(--accent);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.shell{min-height:100vh;padding:18px}.auth-shell{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(320px,.9fr);gap:18px;align-items:stretch;min-height:100vh;padding:18px}.card-frame{border:1px solid var(--border);background:var(--surface-panel);box-shadow:var(--shadow-elevation)}.auth-hero,.auth-panel,.admin-panel{padding:24px}.auth-hero{display:grid;align-content:space-between;background:var(--surface-panel-strong)}.auth-hero h1{max-width:11ch;margin-bottom:16px;line-height:1.05}.lede,.muted{color:var(--text-secondary);line-height:1.7}.auth-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-hero-grid article,.identity-card{display:grid;gap:4px;border:1px solid var(--border-subtle);background:var(--surface-faint);padding:16px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.compact-header{margin-bottom:18px}.stack-form{display:grid;gap:14px}.field{display:grid;gap:4px}.field span{color:var(--text-muted);font-size:.86rem}.field-help{color:var(--text-subtle);font-size:.78rem;line-height:1.45}.field-row{display:flex;align-items:center;gap:10px;border:1px solid var(--border-muted);background:var(--surface-input);padding:0 12px}.field-row input{border:0;background:transparent;padding-left:0;padding-right:0}.readonly-field input{color:var(--text-secondary)}.primary-button,.ghost-button,.text-button,.icon-button,.send-button,.danger-button{border:1px solid var(--border);color:var(--text-primary);background:var(--surface-raised);border-radius:var(--radius-control);transition:border-color var(--motion-state) var(--ease-standard),background-color var(--motion-state) var(--ease-standard),color var(--motion-state) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-state) var(--ease-standard)}.primary-button,.ghost-button,.danger-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:42px;padding:0 14px}.primary-button{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.ghost-button{background:var(--surface-faint)}.danger-button{border-color:var(--status-danger);color:var(--status-danger);background:var(--status-danger-soft)}.primary-button:hover:not(:disabled){border-color:var(--accent-hover, var(--accent-strong));background:var(--accent-hover, var(--accent-strong));color:var(--text-on-accent)}.primary-button:active:not(:disabled){background:var(--accent-pressed, var(--accent));transform:translateY(1px)}.danger-button:active:not(:disabled){background:color-mix(in srgb,var(--status-danger) 82%,var(--text-primary));color:var(--text-on-danger);transform:translateY(1px)}.icon-button{display:inline-grid;width:42px;height:42px;place-items:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.action-row,.topbar-actions{display:flex;align-items:center;gap:10px}.wrap-actions{flex-wrap:wrap;justify-content:flex-end}.user-chip,.status-pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;border:1px solid var(--border-soft);padding:0 12px;background:var(--surface-accent);color:var(--text-accent);font-size:.88rem}.admin-chip{color:var(--text-accent)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1500px;margin:0 auto 14px;border-bottom:1px solid var(--border);padding-bottom:12px}.center-state{display:grid;min-height:55vh;place-items:center;color:var(--text-muted)}.admin-list,.discovery-list{display:grid;gap:10px}.inventory{display:flex;flex-wrap:wrap;gap:4px}.message{max-width:760px;border-left:2px solid var(--border-muted);margin-bottom:20px;padding:2px 0 4px 16px}.message.player{margin-left:auto;border-left-color:var(--accent)}.message.npc{border-left-color:var(--status-info)}.message.ending{border-left-color:var(--text-accent)}.message p{margin-bottom:0}.avatar{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--border-strong);color:var(--text-accent)}.app-workspace-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;min-height:100vh;padding:18px}.player-workspace-shell{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 18px);padding-top:0}.app-workspace-shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.app-workspace-main{min-width:0;display:grid;align-content:start;gap:18px;padding-top:16px}.app-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1440px;min-height:74px;margin:0 auto;border-bottom:1px solid var(--border);padding-bottom:16px}.app-workspace-title{display:flex;align-items:center;gap:12px;min-height:42px}.app-workspace-heading{min-width:0}.app-workspace-header h2{margin-bottom:0;font-family:Shippori Mincho,"Noto Serif SC",serif;font-size:2rem;line-height:1;color:var(--accent-on-image)}:root[data-theme=light] .app-workspace-header h2{color:var(--text-accent)}.workspace-back-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--text-accent);line-height:1;text-decoration:none;transition:color .16s ease,transform .16s ease}.workspace-back-link:hover{color:var(--accent-strong);transform:translate(-1px)}.app-workspace-actions{display:inline-flex;align-items:center;gap:.75rem}.app-workspace-content{width:100%;max-width:1440px;margin:0 auto;display:grid;gap:16px}@media(min-width:721px){.app-workspace-header--mobile-only{display:none}.player-workspace-shell .app-workspace-main{padding-top:18px}.player-workspace-shell .app-workspace-content{max-width:1800px;box-sizing:border-box;padding:18px 20px 30px}}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1440px;margin:0 auto}.book-card{display:grid;grid-template-rows:260px minmax(0,1fr);height:440px;min-width:0;overflow:hidden;border:1px solid var(--border);background:linear-gradient(90deg,var(--surface-faint),transparent 18%),linear-gradient(180deg,var(--surface-raised),var(--surface-deep));box-shadow:var(--shadow-elevation)}.book-card--landscape{display:flex;align-items:stretch}.book-cover{position:relative;min-height:0;background:var(--surface-deep)}.book-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--surface-overlay));pointer-events:none}.book-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}.book-card--landscape .book-cover{flex:0 0 188px;height:100%;border-right:1px solid var(--border-faint)}.book-card--landscape .book-cover img{object-fit:cover;object-position:center center}.book-cover-empty{display:grid;height:100%;place-items:center;color:var(--text-accent)}.book-content{display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px}.book-card--landscape .book-content{flex:1 1 auto;height:100%;padding:20px 20px 16px}.book-copy{display:grid;gap:8px}.book-card--landscape .book-copy{display:flex;flex:1 1 auto;flex-direction:column}.book-content h3{margin-bottom:0;font-family:Shippori Mincho,"Noto Serif SC",serif;font-size:1.46rem;line-height:1.08;letter-spacing:.01em}.book-card--landscape .book-content h3{font-size:1.72rem;line-height:1.02}.book-card--landscape .book-copy .book-logline{margin-top:auto;margin-bottom:auto}.book-logline,.book-description{margin-bottom:0;color:var(--text-secondary);line-height:1.6}.book-description{color:var(--text-secondary);font-size:.92rem}.book-tags{display:flex;flex-wrap:wrap;gap:7px}.book-tags span{border:1px solid var(--border-soft);background:var(--surface-accent);color:var(--text-accent);padding:5px 8px;font-size:.78rem}.book-meta-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;min-width:0;border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:12px}.book-actions{display:flex;justify-content:flex-end;align-items:end}.admin-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.3fr) minmax(320px,.95fr);gap:14px}.admin-panel{min-height:72vh}.wide-panel{background:linear-gradient(180deg,var(--surface-panel),var(--surface-deep)),var(--surface-panel-strong)}.empty-block{margin-bottom:0;color:var(--text-muted)}.status-pill.on{background:var(--border-muted);color:var(--status-info)}.status-pill.warn{background:var(--status-warning-soft);color:var(--status-warning)}.status-pill.off{background:var(--status-danger-soft);color:var(--status-danger)}.empty-block{display:grid;min-height:100%;place-items:center;border:1px dashed var(--border-muted);padding:24px;text-align:center}.error-text{color:var(--status-danger)}.page-error{max-width:1500px;margin:0 auto 12px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.auth-shell,.admin-grid{grid-template-columns:1fr;height:auto}.auth-hero-grid{grid-template-columns:1fr}.admin-panel{min-height:auto}}@media(max-width:720px){.shell,.auth-shell{padding:12px}.topbar{align-items:flex-start}.topbar,.wrap-actions,.action-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.primary-button,.ghost-button,.danger-button,.text-button,.icon-button,.send-button{width:100%}.message{max-width:100%}}.hero-copy{display:grid;gap:18px;max-width:40rem;position:relative;z-index:1}.auth-toolbar{display:flex;justify-content:flex-end;position:relative;z-index:1}.auth-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative;z-index:1}.auth-value-grid article,.auth-scene-copy,.auth-scene-points{display:grid;gap:10px;border:1px solid var(--border-subtle);background:linear-gradient(180deg,var(--surface-panel),var(--surface-muted));padding:18px}.auth-atmosphere{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(18rem,.9fr);gap:14px;align-items:stretch;position:relative;z-index:1}.auth-scene-list{margin:0;padding-left:18px;color:var(--text-secondary);line-height:1.7}.auth-scene-list li+li{margin-top:8px}.auth-hero{gap:28px;position:relative;overflow:hidden;min-height:calc(100vh - 36px)}.auth-hero:before,.auth-hero:after{content:"";position:absolute;inset:auto;pointer-events:none}.auth-hero:before{top:-4rem;right:-5rem;width:18rem;height:18rem;border-radius:999px;background:radial-gradient(circle,var(--accent-soft),transparent)}.auth-hero:after{left:-7rem;bottom:-8rem;width:22rem;height:22rem;border-radius:999px;background:radial-gradient(circle,var(--canvas-glow),transparent)}.auth-panel{align-content:center;justify-self:end;width:100%;max-width:32rem;min-height:calc(100vh - 36px)}.panel-subcopy{margin:10px 0 0;color:var(--text-secondary);line-height:1.65}.action-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.action-row>*{flex:1 1 0}.locale-switcher{display:grid;gap:4px;border:1px solid var(--border-subtle);background:var(--surface-muted);padding:10px 12px}.locale-switcher-label{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.78rem}.locale-switcher-actions{display:flex;gap:4px}.locale-button{min-width:84px;border:1px solid var(--border-muted);background:var(--surface-muted);color:var(--text-primary);padding:8px 12px}.locale-button.active{border-color:var(--border-hover);background:var(--accent-soft)}@media(max-width:1100px){.auth-shell{grid-template-columns:1fr;min-height:auto}.auth-hero,.auth-panel{min-height:auto}.auth-panel{max-width:none;justify-self:stretch}.auth-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-atmosphere{grid-template-columns:1fr}.topbar,.topbar-actions{flex-wrap:wrap}}@media(max-width:720px){.shell,.auth-shell{padding:12px;gap:12px}.auth-hero,.auth-panel,.admin-panel{padding:18px}.auth-hero h1{max-width:none;font-size:clamp(2rem,10vw,3rem)}.auth-value-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar-actions,.wrap-actions{width:100%;gap:4px}.user-chip,.text-button,.ghost-button,.primary-button,.send-button{width:100%}.action-row{flex-direction:column}.action-row>*{width:100%}}@media(max-width:720px){.auth-panel{order:-1}.hero-copy{gap:14px}.auth-hero h1{max-width:8ch;font-size:clamp(1.8rem,8vw,2.6rem);line-height:1.08}.lede{font-size:.98rem;line-height:1.75}}.auth-shell>.auth-hero{animation:auth-section-rise .68s cubic-bezier(.2,.8,.2,1) both}.auth-shell>.auth-panel{position:relative;overflow:hidden;animation:auth-section-rise .68s cubic-bezier(.2,.8,.2,1) .12s both}.auth-shell>.auth-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:1px;background:linear-gradient(180deg,#c7a55200,#c7a5526b,#c7a55200);opacity:.8}.hero-copy,.auth-value-grid article,.auth-atmosphere>article{opacity:0;animation:auth-fade-up .72s ease forwards}.hero-copy{animation-delay:.12s}.auth-value-grid article:nth-child(1){animation-delay:.24s}.auth-value-grid article:nth-child(2){animation-delay:.32s}.auth-value-grid article:nth-child(3){animation-delay:.4s}.auth-atmosphere>article:nth-child(1){animation-delay:.46s}.auth-atmosphere>article:nth-child(2){animation-delay:.54s}.auth-hero h1{max-width:none;white-space:nowrap;font-size:clamp(2.3rem,2vw + 1.6rem,3.25rem);letter-spacing:-.035em}.auth-step-enter-active,.auth-step-leave-active{transition:opacity .24s ease,transform .24s ease,filter .24s ease}.auth-step-enter-from,.auth-step-leave-to{opacity:0;transform:translateY(16px);filter:blur(4px)}.auth-step-enter-to,.auth-step-leave-from{opacity:1;transform:translateY(0);filter:blur(0)}@keyframes auth-section-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.auth-hero h1{white-space:normal;max-width:12ch;font-size:clamp(2.2rem,4vw,3.2rem)}}@media(max-width:720px){.auth-panel{order:0}.auth-shell>.auth-panel:before{inset:0 0 auto;width:auto;height:1px;background:linear-gradient(90deg,#c7a55200,#c7a5526b,#c7a55200)}.auth-hero h1{max-width:8ch;white-space:normal;font-size:clamp(2rem,8vw,2.8rem);line-height:1.08}}.auth-shell{grid-template-columns:minmax(0,1.4fr) minmax(22rem,.8fr)}.auth-hero h1{font-size:clamp(2rem,1.35vw + 1.45rem,2.65rem)}.admin-sidebar{position:sticky;top:18px;display:grid;grid-template-rows:auto auto 1fr auto;align-self:start;min-height:calc(100vh - 36px);border:1px solid var(--border);background:var(--surface-panel-strong);padding:20px}.admin-sidebar.collapsed{padding:12px 8px;grid-template-rows:auto auto 1fr auto}.admin-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-sidebar.collapsed .admin-sidebar-top{flex-direction:column;align-items:center;gap:10px}.admin-sidebar h1{font-size:2rem}.admin-sidebar.collapsed h1{font-size:1.15rem;line-height:1;letter-spacing:.04em}.admin-nav,.admin-sidebar-footer,.ops-section{display:grid}.admin-nav{align-content:start;gap:4px;margin-top:20px}.admin-sidebar.collapsed .admin-nav{justify-items:center;gap:6px;margin-top:16px}.admin-nav-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:42px;border:1px solid var(--border-muted);background:var(--surface-muted);color:var(--text-primary);padding:0 12px;text-align:left}.admin-sidebar.collapsed .admin-nav-item{justify-content:center;padding:0;min-height:34px;width:40px}.admin-nav-item.active{border-color:var(--border-hover);background:var(--accent-soft)}.admin-sidebar-footer{align-self:end;gap:10px;margin-top:18px}.admin-sidebar.collapsed .admin-sidebar-footer{justify-items:center;align-self:end;gap:4px}.admin-sidebar.collapsed .text-button,.admin-sidebar.collapsed .ghost-button{justify-content:center;width:40px;min-height:34px;padding:0}.sidebar-toggle{flex:0 0 auto}.admin-sidebar.collapsed .sidebar-toggle{width:32px;min-height:32px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-metrics article,.ops-section,.admin-empty{border:1px solid var(--border-muted);background:var(--surface-panel)}.admin-metrics article{display:grid;gap:4px;padding:16px}.admin-metrics span{color:var(--text-muted);font-size:.78rem}.admin-metrics strong{overflow:hidden;color:var(--text-accent);font-size:1.15rem;text-overflow:ellipsis;white-space:nowrap}.ops-section{gap:16px;padding:18px}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-header h3{margin:0;font-size:1.08rem}.inline-hint{margin:0;color:var(--text-muted)}.two-column-form{display:grid;gap:12px}.two-column-form{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.section-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.section-actions{justify-content:space-between}.inline-hint{font-size:.85rem;line-height:1.55}.admin-empty{min-height:360px}.script-review-empty{align-content:center;justify-items:center;gap:4px;min-height:520px;text-align:center}.script-review-empty strong{color:var(--text-primary);font-size:1rem}@media(max-width:1180px){.app-workspace-shell,.app-workspace-shell.sidebar-collapsed{grid-template-columns:1fr}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar{position:static;min-height:auto}.admin-sidebar-footer,.admin-nav{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column-form{grid-template-columns:1fr}}@media(max-width:720px){.app-workspace-shell{padding:12px}.player-workspace-shell{min-height:100vh;padding-top:12px}.book-content{padding:16px}.app-workspace-header{align-items:stretch;flex-direction:column;min-height:auto}.app-workspace-main{padding-top:6px}.app-workspace-title{min-height:auto}.app-workspace-header h2{font-size:1.5rem}.book-card{grid-template-rows:220px minmax(0,1fr);height:auto;min-height:400px}.book-card--landscape{display:grid;grid-template-columns:1fr;grid-template-rows:220px minmax(0,1fr)}.book-card--landscape .book-cover{flex:none;border-right:0}.admin-sidebar,.ops-section{padding:16px}.section-actions{align-items:stretch;flex-direction:column}.admin-metrics,.admin-sidebar-footer,.admin-nav{grid-template-columns:1fr}.auth-panel{order:0}.locale-switcher-actions{flex-direction:column}}.ticket-filter,.admin-ticket-filter{--ticket-tone-text: var(--text-on-image);--ticket-tone-active-border: var(--text-on-image)}.ticket-filter--all,.admin-ticket-filter--all{--ticket-tone: var(--ticket-status-all);--ticket-tone-fill: var(--ticket-status-all);--ticket-tone-border: color-mix(in srgb, var(--text-on-image) 42%, var(--ticket-status-all));--ticket-tone-ink: color-mix(in srgb, var(--ticket-status-all) 72%, var(--text-primary))}.ticket-filter--open,.admin-ticket-filter--open,.ticket-card--open,.admin-ticket-card--open,.ticket-status--open{--ticket-tone: var(--ticket-status-open);--ticket-tone-fill: var(--ticket-status-open);--ticket-tone-border: color-mix(in srgb, var(--text-on-image) 42%, var(--ticket-status-open));--ticket-tone-ink: color-mix(in srgb, var(--ticket-status-open) 72%, var(--text-primary))}.ticket-filter--processing,.admin-ticket-filter--processing,.ticket-card--processing,.admin-ticket-card--processing,.ticket-status--processing{--ticket-tone: var(--ticket-status-processing);--ticket-tone-fill: var(--ticket-status-processing);--ticket-tone-border: color-mix(in srgb, var(--text-on-image) 42%, var(--ticket-status-processing));--ticket-tone-ink: color-mix(in srgb, var(--ticket-status-processing) 72%, var(--text-primary))}.ticket-filter--pending_user,.admin-ticket-filter--pending_user,.ticket-card--pending_user,.admin-ticket-card--pending_user,.ticket-status--pending_user{--ticket-tone: var(--ticket-status-pending);--ticket-tone-fill: var(--ticket-status-pending);--ticket-tone-border: color-mix(in srgb, var(--text-on-image) 42%, var(--ticket-status-pending));--ticket-tone-ink: color-mix(in srgb, var(--ticket-status-pending) 72%, var(--text-primary))}.ticket-filter--resolved,.admin-ticket-filter--resolved,.ticket-card--resolved,.admin-ticket-card--resolved,.ticket-status--resolved{--ticket-tone: var(--ticket-status-resolved);--ticket-tone-fill: var(--ticket-status-resolved);--ticket-tone-border: color-mix(in srgb, var(--text-on-image) 42%, var(--ticket-status-resolved));--ticket-tone-ink: color-mix(in srgb, var(--ticket-status-resolved) 72%, var(--text-primary))}.ticket-filter--closed,.admin-ticket-filter--closed,.ticket-card--closed,.admin-ticket-card--closed,.ticket-status--closed{--ticket-tone: var(--ticket-status-closed);--ticket-tone-fill: var(--ticket-status-closed);--ticket-tone-border: color-mix(in srgb, var(--ticket-status-closed-text) 34%, var(--ticket-status-closed));--ticket-tone-ink: var(--ticket-status-closed-text);--ticket-tone-text: var(--ticket-status-closed-text);--ticket-tone-active-border: var(--ticket-status-closed-text)}.ticket-filter.active,.admin-ticket-filter.active{border-color:var(--ticket-tone-active-border);box-shadow:inset 0 -3px var(--ticket-tone-active-border)}.ticket-status{display:inline-flex;flex:0 0 auto;align-items:center;min-height:26px;padding:0 7px;border:1px solid var(--ticket-tone-border);border-radius:0;background:var(--ticket-tone-fill);color:var(--ticket-tone-text, var(--text-on-image));font-size:.65rem;font-weight:800;white-space:nowrap}.script-admin-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;align-items:start}.version-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.json-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-admin-layout,.creator-editor-layout{grid-template-columns:330px minmax(0,1fr)}.creator-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.creator-status-grid article{display:grid;gap:6px;min-width:0;border:1px solid var(--border-muted);background:var(--surface-faint);padding:10px}.creator-status-grid span{overflow:hidden;color:var(--text-muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.creator-status-grid strong{color:var(--text-accent)}.editor-section{border-color:var(--border-subtle)}.settings-main,.settings-shell,.settings-workbench,.settings-surface{min-width:0}.settings-shell{display:grid;gap:18px;width:100%;max-width:none;margin:0;padding:22px}.settings-workbench,.settings-surface,.settings-section,.settings-section-heading{display:grid;gap:14px}.settings-workbench{gap:26px}.settings-section{gap:10px}.settings-section-heading{gap:4px}.settings-section-heading h2,.settings-section-heading p{margin:0}.settings-section-heading h2{color:var(--text-primary);font-family:Shippori Mincho,"Noto Serif SC",serif;font-size:1.2rem}.settings-section-heading p{color:var(--text-muted);font-size:.78rem;line-height:1.6}.settings-action{justify-self:start}.settings-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-surface{border:1px solid var(--border-muted);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-accent) 36%,transparent),transparent 38%),var(--surface-muted);padding:18px}.settings-form-card{align-content:space-between}.settings-action-row{display:flex;align-items:center;justify-content:flex-start;padding-top:6px}.settings-primary-action{min-width:7rem;padding-inline:18px}.settings-points-summary{display:grid;gap:4px;border:1px solid var(--border-soft);background:linear-gradient(135deg,var(--surface-hover),var(--surface-faint));padding:14px}.settings-points-summary span{color:var(--text-muted);font-size:.82rem}.settings-points-summary strong{color:var(--text-accent);font-family:Shippori Mincho,"Noto Serif SC",serif;font-size:1.5rem;font-variant-numeric:tabular-nums}.settings-ledger-state{display:inline-grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;justify-self:start;margin:0;color:var(--text-muted)}.settings-ledger-state.error{color:var(--status-danger)}.settings-ledger-list{display:grid;gap:8px}.settings-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--border-muted);background:var(--surface-faint);padding:12px}.settings-ledger-row div{display:grid;gap:4px;min-width:0}.settings-ledger-row strong{color:var(--text-primary);overflow-wrap:anywhere}.settings-ledger-row span{color:var(--text-muted);font-size:.84rem}.settings-ledger-delta{justify-self:end;color:var(--text-accent);font-weight:700;white-space:nowrap}.settings-ledger-delta.positive{color:var(--status-success)}.settings-ledger-delta.negative{color:var(--status-danger)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.editor-main{display:grid;gap:16px;min-width:0}.editor-page-header{align-items:flex-start}.editor-section-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.entity-editor-card{display:grid;gap:12px;border:1px solid var(--border-muted);background:var(--surface-faint);padding:14px}.entity-editor-card .danger-action{justify-self:start;border-color:#f289795c;color:var(--status-danger)}.asset-ref-editor{display:grid;gap:10px;border:1px solid var(--border-faint);background:var(--surface-muted);padding:12px}.asset-ref-header,.asset-ref-row{display:flex;gap:10px;align-items:center}.asset-ref-header{justify-content:space-between}.asset-ref-header strong{color:var(--status-info)}.asset-ref-row{display:grid;grid-template-columns:minmax(10rem,1.3fr) minmax(8rem,.9fr) minmax(8rem,.9fr) auto}.asset-ref-row select,.field select{min-width:0;border:1px solid var(--border-muted);background:var(--surface-input);color:var(--text-primary);padding:12px 14px}.field select[multiple]{min-height:7rem}.advanced-editor-details{display:grid;gap:12px;border:1px dashed var(--border-soft);background:var(--surface-muted);padding:12px}.advanced-editor-details summary{color:var(--text-accent);cursor:pointer}.advanced-editor-details[open] summary{margin-bottom:12px}.editor-save-row{position:sticky;bottom:0;z-index:2;border-top:1px solid var(--border-subtle);background:var(--surface-panel-strong);padding-top:14px}.review-row strong,.review-row small{min-width:0}.compact-empty{min-height:auto;padding:16px}.review-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.review-detail-section h4{margin:4px 0 8px;font-size:1.15rem}.review-detail-section p{margin:0;color:var(--text-muted);line-height:1.65}.detail-list,.content-outline{display:grid;gap:10px}.detail-list span{color:var(--text-muted)}.content-outline{grid-template-columns:repeat(2,minmax(0,1fr))}.content-outline section{display:grid;gap:6px;min-width:0;border:1px solid var(--border-muted);background:var(--surface-faint);padding:12px}.content-outline span{color:var(--text-accent);font-size:.82rem}.content-outline p{overflow-wrap:anywhere}.data-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.review-action-panel .danger-action{justify-self:start;border-color:#f289796b;color:var(--status-danger)}.version-history-card{display:grid;justify-items:start;text-align:left}.advanced-review-json{margin-top:14px}.readonly-json-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.json-grid textarea,.pricing-editor textarea,.json-preview{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.55}.wiki-layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:14px}.pricing-table,.turn-table{display:grid;gap:12px}.pricing-row{grid-template-columns:minmax(14rem,1fr) auto auto auto}.pricing-editor{grid-column:1 / -1}.compact-key-row{grid-template-columns:minmax(12rem,1fr) minmax(12rem,.8fr) auto auto}.turn-row{display:grid;grid-template-columns:4rem repeat(5,minmax(0,1fr));gap:10px;align-items:center;border:1px solid var(--border-muted);background:var(--surface-muted);padding:12px}.turn-row small{grid-column:1 / -1;color:var(--status-danger)}.json-preview{overflow:auto;max-height:460px;margin:0;border:1px solid var(--border-muted);background:var(--surface-deep);padding:14px;color:var(--text-primary)}@media(max-width:1180px){.script-admin-layout,.json-grid,.review-admin-layout,.creator-editor-layout,.content-outline,.data-health-grid,.readonly-json-grid,.wiki-layout,.pricing-row,.compact-key-row,.turn-row,.asset-ref-row{grid-template-columns:1fr}}@media(max-width:720px){.settings-shell{padding:14px}.settings-workbench{gap:22px}.settings-surface{padding:14px}.settings-card-grid,.settings-ledger-row{grid-template-columns:1fr}.settings-ledger-delta{justify-self:start}}.card-frame,.settings-surface,.points-panel,.messages-panel,.script-entry__hero,.script-entry__author-card{border-radius:var(--radius-container);border-color:var(--border-subtle);background:var(--surface-base);box-shadow:var(--shadow-raised)}.primary-button,.ghost-button,.text-button,.danger-button,.icon-button,.send-button,.locale-button,.points-ledger-tab,.admin-nav button{border-radius:var(--radius-control);transition:background-color var(--motion-state) var(--ease-standard),border-color var(--motion-state) var(--ease-standard),color var(--motion-state) var(--ease-standard),box-shadow var(--motion-state) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.primary-button{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.primary-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:var(--text-on-accent)}.primary-button:active:not(:disabled){border-color:var(--accent-pressed);background:var(--accent-pressed)}.ghost-button,.text-button,.icon-button,.send-button,.locale-button,.points-ledger-tab,.admin-nav button{border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.ghost-button:hover:not(:disabled),.text-button:hover:not(:disabled),.icon-button:hover:not(:disabled),.send-button:hover:not(:disabled),.locale-button:hover:not(:disabled),.points-ledger-tab:hover:not(:disabled),.admin-nav button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.ghost-button:active:not(:disabled),.text-button:active:not(:disabled),.icon-button:active:not(:disabled),.send-button:active:not(:disabled),.locale-button:active:not(:disabled),.points-ledger-tab:active:not(:disabled),.admin-nav button:active:not(:disabled){background:var(--surface-pressed)}.points-ledger-tab.active,.admin-nav button.active,.profile-tab.active{border-color:var(--accent);background:var(--surface-selected);color:var(--text-primary);font-weight:700;box-shadow:inset 0 -2px 0 var(--accent)}.danger-button{border-color:var(--status-danger);background:var(--status-danger-soft);color:var(--status-danger)}.danger-button:hover:not(:disabled){border-color:var(--status-danger);background:var(--status-danger);color:var(--text-on-danger)}.danger-button:active:not(:disabled){background:color-mix(in srgb,var(--status-danger) 82%,var(--text-primary));color:var(--text-on-danger)}.points-ledger-tab[aria-selected=true],.admin-nav button[aria-selected=true],.profile-tab[aria-selected=true]{border-color:var(--accent);background:var(--surface-selected);color:var(--text-primary);font-weight:700;box-shadow:inset 0 -2px 0 var(--accent)}@media(prefers-reduced-motion:reduce){.primary-button,.ghost-button,.text-button,.danger-button,.icon-button,.send-button,.locale-button,.points-ledger-tab,.admin-nav button{transition:none}}:root[data-theme=light] .auth-entry,:root[data-theme=light] .cli-login-page{color:var(--text-primary);background:radial-gradient(circle at 16% 10%,var(--accent-soft),transparent 30%),var(--canvas)}:root[data-theme=light] .auth-story-card,:root[data-theme=light] .auth-form-card,:root[data-theme=light] .cli-login-card{border-color:var(--border);background:var(--surface-panel-strong);box-shadow:var(--shadow-elevation)}:root[data-theme=light] .auth-kicker,:root[data-theme=light] .auth-feature-list svg,:root[data-theme=light] .cli-login-kicker{color:var(--accent)}:root[data-theme=light] .auth-lede,:root[data-theme=light] .auth-feature-list span,:root[data-theme=light] .auth-form-stack header p:last-child,:root[data-theme=light] .auth-switch-note,:root[data-theme=light] .auth-field>span,:root[data-theme=light] .auth-field small,:root[data-theme=light] .cli-login-form label span,:root[data-theme=light] .cli-login-muted,:root[data-theme=light] .cli-login-help,:root[data-theme=light] .cli-login-expiry{color:var(--text-secondary)}:root[data-theme=light] .auth-feature-list article{border-color:var(--border-muted);background:var(--surface-muted)}:root[data-theme=light] .auth-form-card{background:linear-gradient(180deg,var(--surface-panel),var(--surface-panel-strong))}:root[data-theme=light] .auth-choice-row,:root[data-theme=light] .auth-field>div{border-color:var(--border-muted);background:var(--surface-input)}:root[data-theme=light] .auth-choice-row button{color:var(--text-muted)}:root[data-theme=light] .auth-choice-row button.active{color:var(--text-accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--border-subtle)}:root[data-theme=light] .auth-choice-row button:hover,:root[data-theme=light] .auth-switch-link:hover,:root[data-theme=light] .auth-guest-button:hover{color:var(--accent-strong)}:root[data-theme=light] .auth-field svg{color:var(--accent)}:root[data-theme=light] .auth-field input,:root[data-theme=light] .cli-login-form input{color:var(--text-primary)}:root[data-theme=light] .auth-field input::placeholder,:root[data-theme=light] .auth-field small{color:var(--text-muted)}:root[data-theme=light] .auth-primary-button,:root[data-theme=light] .cli-login-primary,:root[data-theme=light] .cli-login-methods button.active{border-color:var(--accent);color:var(--text-on-accent);background:var(--accent)}:root[data-theme=light] .auth-secondary-button,:root[data-theme=light] .cli-login-secondary,:root[data-theme=light] .cli-login-methods button{border-color:var(--border);color:var(--text-primary);background:var(--surface-faint)}:root[data-theme=light] .auth-switch-link,:root[data-theme=light] .auth-guest-button{color:var(--accent-strong);text-decoration-color:var(--border-strong)}:root[data-theme=light] .auth-error,:root[data-theme=light] .cli-login-error{color:var(--status-danger);border-color:var(--status-danger);background:var(--status-danger-soft)}:root[data-theme=light] .cli-login-form input{border-color:var(--border-muted);background:var(--surface-input)}:root[data-theme=light] .message-overlay{background:var(--surface-overlay)}:root[data-theme=light] .message-modal{border-color:var(--border);background:var(--surface-panel-strong);box-shadow:var(--shadow-elevation)}:root[data-theme=light] .close-button{border-color:var(--border-muted);background:var(--surface-faint);color:var(--text-primary)}:root[data-theme=light] .contact-panel,:root[data-theme=light] .points-panel,:root[data-theme=light] .messages-panel{background:linear-gradient(180deg,var(--surface-panel-strong),var(--surface-muted))}:root[data-theme=light] .points-panel-header p,:root[data-theme=light] .panel-subcopy,:root[data-theme=light] .points-package-note,:root[data-theme=light] .points-package-state,:root[data-theme=light] .points-ledger-row span,:root[data-theme=light] .points-empty,:root[data-theme=light] .message-row small,:root[data-theme=light] .message-modal-meta{color:var(--text-secondary)}:root[data-theme=light] .contact-icon,:root[data-theme=light] .points-panel-icon{color:var(--accent)}:root[data-theme=light] .points-balance-copy strong,:root[data-theme=light] .points-ledger-summary strong,:root[data-theme=light] .points-package-card h4,:root[data-theme=light] .message-row strong,:root[data-theme=light] .message-modal-header h3{color:var(--text-accent)}:root[data-theme=light] .points-package-card,:root[data-theme=light] .points-ledger-row,:root[data-theme=light] .message-row{border-color:var(--border-muted);background:linear-gradient(135deg,var(--surface-raised),var(--surface-faint))}:root[data-theme=light] .points-package-badge,:root[data-theme=light] .points-package-points{color:var(--text-accent)}:root[data-theme=light] .points-back-button{border-color:var(--border-muted);background:var(--surface-faint);color:var(--text-accent)}:root[data-theme=light] .points-ledger-delta.positive,:root[data-theme=light] .message-status.success{color:var(--status-success)}:root[data-theme=light] .points-ledger-delta.negative,:root[data-theme=light] .message-status.error{color:var(--status-danger)}:root[data-theme=light] .message-row:hover{border-color:var(--border-hover)}:root[data-theme=light] .message-dot{background:var(--accent);box-shadow:0 0 0 1px var(--border-muted)}:root[data-theme=light] .message-modal{border-radius:1.2rem}:root[data-theme=light] .not-found-card{background:linear-gradient(145deg,var(--surface-panel-strong),var(--surface-muted))}.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{display:block;width:46px;height:46px;flex:0 0 auto;object-fit:contain}.brand-wordmark{color:var(--text-accent);font-family:Shippori Mincho,"Noto Serif SC",serif;font-size:1.2rem;font-weight:700;line-height:1}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-round);background:var(--surface-faint);color:var(--text-secondary);font:inherit;font-size:12px;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.filter-chip:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-primary)}.filter-chip:active{background:var(--surface-pressed)}.filter-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.filter-chip.is-selected{border-color:var(--accent);background:var(--surface-selected);color:var(--text-accent);font-weight:600}.filter-chip:disabled{cursor:default;opacity:.56}.script-catalog{display:grid;gap:26px;margin:0}.script-catalog-toolbar{display:grid;grid-template-columns:minmax(280px,620px) minmax(0,1fr);align-items:center;gap:22px;padding:13px 16px;border-color:var(--border);background:linear-gradient(110deg,var(--surface-panel),var(--surface-muted))}.script-tags{min-width:0}.script-tags__desktop-options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.script-tags__mobile-summary,.script-tags__mobile-options{display:none}.script-card{display:grid;grid-template-rows:auto auto;min-width:0;overflow:hidden;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-panel),var(--surface-muted));box-shadow:var(--shadow-elevation);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.script-card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:var(--shadow-elevation)}.script-card-open{display:grid;grid-template-rows:auto minmax(252px,1fr);min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none;font:inherit}.script-card-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.script-card-cover{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;border-bottom:1px solid var(--border-subtle);background:var(--surface-faint)}.script-card-cover img,.script-card-cover-placeholder{width:100%;height:100%;object-fit:cover;object-position:center}.script-card-cover-placeholder{display:block;background:linear-gradient(135deg,var(--surface-panel),var(--surface-faint))}.script-card-cover:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 44%,rgba(6,10,9,.58))}.script-card-heat{position:absolute;z-index:3;top:10px;right:10px;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 20px);padding:4px 7px;overflow:hidden;border:1px solid rgba(255,184,83,.42);border-radius:999px;background:#140c07b8;color:#ffc46f;font-size:11px;font-weight:700;line-height:1;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.8)}.script-card-heat svg{flex:0 0 auto}.script-card-heat>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-card-copy{display:grid;grid-template-rows:auto auto minmax(4.8em,1fr);gap:11px;min-height:0;padding:18px}.script-card-copy small{color:var(--accent);font-size:12px;letter-spacing:.08em}.script-card h2,.script-card p{margin:0}.script-card h2{overflow:hidden;font-size:21px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.script-card p{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:13px;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:4}.script-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:0 18px 16px}.script-card-engagements{display:flex;align-items:center;gap:8px;min-width:0}.script-card-engagements>*{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 7px;border:1px solid var(--border-muted);background:var(--surface-faint);color:var(--text-secondary);font:inherit;font-size:11px}.script-card-engagements [data-tooltip]:after{position:absolute;z-index:2;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:180px;padding:6px 8px;border:1px solid var(--border-strong);background:var(--surface-panel-strong);color:var(--text-primary);content:attr(data-tooltip);font-family:"Noto Serif SC",serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:500;letter-spacing:normal;line-height:1.2;opacity:0;pointer-events:none;text-shadow:none;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease}.script-card-engagements [data-tooltip]:hover:after,.script-card-engagements [data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.script-card-engagements button{cursor:pointer}.script-card-engagements button:hover,.script-card-engagements button.active{border-color:var(--border-hover);color:var(--accent-strong)}.script-card-engagements button:disabled{cursor:wait;opacity:.56}.script-card-copy .script-card-creator,.script-card-creator{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.script-card-open:hover .script-card-copy h2,.script-card-open:focus-visible .script-card-copy h2{color:var(--accent-strong)}.script-card-creator:hover,.script-card-creator:focus-visible{color:var(--accent-strong);text-decoration:none}.script-card-date{color:var(--text-subtle);text-decoration:none}.script-card-date:hover,.script-card-date:focus-visible{color:var(--accent-strong);text-decoration:none}.script-catalog-state,.script-catalog-load-more{min-height:100px;display:grid;place-items:center;color:var(--text-muted);text-align:center}.script-catalog-load-more{min-height:40px}@media(max-width:1080px){.script-catalog-toolbar{grid-template-columns:1fr;align-items:stretch}.script-tags__desktop-options{justify-content:flex-start}}@media(max-width:620px){.script-card-open{grid-template-rows:auto minmax(220px,1fr)}.script-card-footer{flex-wrap:wrap}}@media(max-width:720px){.script-card-heat{top:8px;right:8px;max-width:calc(100% - 16px);padding:4px 6px;font-size:10px}}@media(min-width:721px){.player-workspace-shell .script-catalog-toolbar{grid-template-columns:1fr}.player-workspace-shell .script-tags__desktop-options{justify-content:flex-start}}@media(min-width:721px){.player-workspace-shell .script-catalog{--script-catalog-title-size: 15px;--script-catalog-metric-size: 11px;--script-catalog-meta-size: 11px;--script-catalog-filter-size: 12px;gap:18px}.player-workspace-shell .script-catalog-toolbar{position:sticky;top:64px;z-index:90;gap:12px;padding:10px 14px;border-color:var(--border);background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);box-shadow:0 12px 26px #0000001f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.player-workspace-shell .script-tags{gap:7px}.player-workspace-shell .script-tags button{padding:6px 10px;font-size:var(--script-catalog-filter-size)}.player-workspace-shell .script-catalog-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.player-workspace-shell .script-feature-carousel{position:relative;display:flex;flex-direction:column;isolation:isolate;min-width:0;min-height:280px;overflow:hidden;grid-column:1 / -1;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-panel);box-shadow:0 14px 28px #0003}.player-workspace-shell .script-feature-carousel__media-link{position:relative;display:block;flex:1 1 auto;width:100%;min-width:0;min-height:0;color:inherit;text-decoration:none}.player-workspace-shell .script-feature-carousel__media-link:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.player-workspace-shell .script-feature-carousel__image-frame{position:relative;height:100%;width:100%;min-height:0;overflow:hidden;background:var(--surface-faint)}.player-workspace-shell .script-feature-carousel__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.player-workspace-shell .script-feature-carousel__image-placeholder{position:absolute;inset:0;background:var(--surface-muted)}.player-workspace-shell .script-feature-carousel__footer{position:relative;flex:0 0 84px;height:auto;z-index:2;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;min-height:0;overflow:hidden;padding:13px 14px 10px 18px;background:linear-gradient(180deg,var(--surface-panel),var(--surface-muted));border-top:1px solid var(--border-subtle);box-shadow:inset 0 16px 30px #00000014}.player-workspace-shell .script-feature-carousel__footer:before{position:absolute;inset:0;content:"";background:linear-gradient(100deg,rgba(218,190,116,.08),transparent 34%,rgba(255,255,255,.025));opacity:.8;pointer-events:none}.player-workspace-shell .script-feature-carousel__footer-row{position:relative;z-index:1;display:flex;align-items:center;gap:12px;min-width:0}.player-workspace-shell .script-feature-carousel__title{position:relative;z-index:1;display:block;flex:1 1 auto;min-width:0;max-width:100%;margin:0;color:var(--text-primary);overflow:hidden;font-size:clamp(.76rem,.92vw,.96rem);font-weight:700;line-height:1.35;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-feature-carousel__title:hover,.player-workspace-shell .script-feature-carousel__title:focus-visible{color:var(--text-primary)}.player-workspace-shell .script-feature-carousel__arrows{position:relative;z-index:1;flex:0 0 auto;display:flex;align-items:center;gap:5px}.player-workspace-shell .script-feature-carousel__arrow{display:grid;width:24px;height:24px;place-items:center;padding:0;border:0;border-radius:6px;background:var(--surface-hover);color:var(--text-primary);cursor:pointer;transition:background .16s ease}.player-workspace-shell .script-feature-carousel__arrow:hover:not(:disabled){background:var(--accent-soft)}.player-workspace-shell .script-feature-carousel__arrow:disabled{cursor:not-allowed;opacity:.42}.player-workspace-shell .script-feature-carousel__dots{position:relative;z-index:1;display:flex;align-items:center;gap:5px;margin-top:6px}.player-workspace-shell .script-feature-carousel__dot{padding:0;border:0;display:block;width:6px;height:6px;border-radius:50%;background:var(--border-strong);cursor:pointer}.player-workspace-shell .script-feature-carousel__dot:hover{background:var(--text-secondary)}.player-workspace-shell .script-feature-carousel__dot--active{width:7px;height:7px;background:var(--text-primary)}.player-workspace-shell .script-card{position:relative;min-width:0;overflow:visible;align-content:start;border:0;border-radius:8px;background:transparent;box-shadow:none}.player-workspace-shell .script-card:hover{transform:translateY(-2px)}.player-workspace-shell .script-card-open{grid-template-rows:auto auto;align-content:start;overflow:visible}.player-workspace-shell .script-card-cover{display:block;aspect-ratio:16 / 10;height:auto;min-height:0;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 26px #0003}.player-workspace-shell .script-card-cover-overlay{position:absolute;z-index:2;top:0;right:0;left:0;aspect-ratio:16 / 10;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:10px;pointer-events:none}.player-workspace-shell .script-card-cover-overlay .script-card-engagements{pointer-events:auto}.player-workspace-shell .script-card-kind-cover{flex:0 0 auto;max-width:48%;overflow:hidden;padding:3px 5px;border:1px solid rgba(244,224,176,.3);border-radius:3px;background:#050a099e;color:#f8e8c0e6;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-card-cover img{display:block;transition:transform .26s ease,filter .26s ease}.player-workspace-shell .script-card:hover .script-card-cover{border-color:#dabe748f;box-shadow:0 18px 34px #00000052}.player-workspace-shell .script-card:hover .script-card-cover img{transform:scale(1.035);filter:saturate(1.06) contrast(1.03)}.player-workspace-shell .script-card-copy{display:grid;grid-template-rows:auto auto;align-content:start;gap:3px;min-height:0;padding:8px 2px 0}.player-workspace-shell .script-card-description{display:none}.player-workspace-shell .script-card h2{overflow:hidden;color:var(--text-primary);font-size:var(--script-catalog-title-size);font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-card-footer{display:grid;align-content:start;gap:5px;min-height:0;padding:6px 2px 0}.player-workspace-shell .script-card-engagements{gap:8px}.player-workspace-shell .script-card-engagements>*{min-height:18px;gap:4px;padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:var(--script-catalog-metric-size)}.player-workspace-shell .script-card-engagements button:hover,.player-workspace-shell .script-card-engagements button.active{border-color:transparent;background:transparent;color:var(--accent)}.player-workspace-shell .script-card-engagements [data-tooltip]:after{z-index:240;bottom:calc(100% + 10px)}.player-workspace-shell .script-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.player-workspace-shell .script-card-creator,.player-workspace-shell .script-card-date{overflow:hidden;color:var(--text-muted);font-size:var(--script-catalog-meta-size);text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-card-creator{min-width:0}.player-workspace-shell .script-card-creator:hover,.player-workspace-shell .script-card-creator:focus-visible{color:var(--accent-strong)}.player-workspace-shell .script-card-date{flex:0 0 auto;color:var(--text-subtle)}.player-workspace-shell .script-card-date:hover,.player-workspace-shell .script-card-date:focus-visible{color:var(--accent-strong)}.player-workspace-shell .script-card-creator-desktop{display:inline-flex;align-items:center;gap:5px}.player-workspace-shell .script-card-creator-mobile{display:none}}@media(min-width:1081px){.player-workspace-shell .script-catalog-flow-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:var(--script-catalog-card-height);--script-catalog-card-height: clamp(196px, calc(12.5vw + 36px) , 276px)}.player-workspace-shell .script-card{height:auto;min-height:0;align-self:stretch}.player-workspace-shell .script-feature-carousel{grid-column:span 2;grid-row:span 2;height:auto;align-self:stretch;min-height:0;aspect-ratio:auto}}@media(max-width:720px){.player-workspace-shell .app-workspace-content,.player-workspace-shell .script-catalog,.player-workspace-shell .script-catalog-toolbar,.player-workspace-shell .script-tags{min-width:0}.player-workspace-shell .script-catalog{gap:14px}.player-workspace-shell .script-catalog-toolbar{position:sticky;top:58px;z-index:90;display:block;padding:0 0 8px;border:0;background:var(--canvas);box-shadow:0 10px 18px #0000001f}.player-workspace-shell .script-tags{display:grid;gap:7px;overflow:visible;padding:0}.player-workspace-shell .script-tags__desktop-options{display:none}.player-workspace-shell .script-tags__mobile-summary{position:relative;display:flex;align-items:stretch;gap:7px}.player-workspace-shell .script-tags__mobile-options{display:flex;flex-wrap:wrap;align-items:stretch;gap:7px;padding-top:8px;border-top:1px solid var(--border-muted)}.player-workspace-shell .script-tags__mobile-summary button:not(.script-tags__toggle),.player-workspace-shell .script-tags__mobile-options button,.player-workspace-shell .script-tags__mobile-measure button{min-height:38px;padding:7px 10px}.player-workspace-shell .script-tags__mobile-summary button:not(.script-tags__toggle){flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-tags__mobile-options button{flex:0 1 auto;min-width:0;white-space:normal}.player-workspace-shell .script-tags__toggle{display:grid;width:34px;flex:0 0 34px;min-height:38px;z-index:1;place-items:center;padding:0;background:var(--surface-faint)}.player-workspace-shell .script-tags__toggle-icon--expanded{transform:rotate(180deg)}.player-workspace-shell .script-tags__mobile-measure{position:absolute;top:0;left:0;display:flex;gap:0;width:max-content;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.player-workspace-shell .script-tags__mobile-measure button{flex:0 0 auto}.player-workspace-shell .script-tags__toggle svg{transition:transform .16s ease}.player-workspace-shell .script-catalog-flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.player-workspace-shell .script-feature-carousel{position:relative;display:flex;grid-column:1 / -1;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-panel);box-shadow:0 12px 26px #0003}.player-workspace-shell .script-feature-carousel__media-link{display:block;aspect-ratio:16 / 9;min-width:0;color:inherit;text-decoration:none}.player-workspace-shell .script-feature-carousel__media-link:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.player-workspace-shell .script-feature-carousel__image-frame,.player-workspace-shell .script-feature-carousel__image-placeholder{position:relative;width:100%;height:100%;overflow:hidden;background:var(--surface-faint)}.player-workspace-shell .script-feature-carousel__image-placeholder{position:absolute;inset:0}.player-workspace-shell .script-feature-carousel__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.player-workspace-shell .script-feature-carousel__footer{display:flex;flex-direction:column;gap:5px;min-height:54px;padding:9px 10px 8px;border-top:1px solid var(--border-subtle);background:linear-gradient(180deg,var(--surface-panel),var(--surface-muted))}.player-workspace-shell .script-feature-carousel__footer-row{display:flex;align-items:center;gap:8px;min-width:0}.player-workspace-shell .script-feature-carousel__title{min-width:0;flex:1 1 auto;overflow:hidden;color:var(--text-primary);font-size:.78rem;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-feature-carousel__arrows{display:flex;flex:0 0 auto;align-items:center;gap:4px}.player-workspace-shell .script-feature-carousel__arrow{display:grid;width:25px;height:25px;place-items:center;padding:0;border:0;border-radius:6px;background:var(--surface-hover);color:var(--text-primary)}.player-workspace-shell .script-feature-carousel__arrow:disabled{cursor:not-allowed;opacity:.42}.player-workspace-shell .script-feature-carousel__dots{display:flex;align-items:center;gap:5px}.player-workspace-shell .script-feature-carousel__dot{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:var(--border-strong)}.player-workspace-shell .script-feature-carousel__dot--active{width:7px;height:7px;background:var(--text-primary)}.player-workspace-shell .script-card{position:relative;min-width:0;overflow:visible}.player-workspace-shell .script-card-open{grid-template-rows:auto auto;overflow:visible}.player-workspace-shell .script-card-cover{aspect-ratio:16 / 10;border-radius:7px}.player-workspace-shell .script-card-copy{display:grid;grid-template-rows:auto auto;gap:3px;min-height:0;padding:7px 1px 0}.player-workspace-shell .script-card h2{min-width:0;color:var(--text-primary);font-size:.82rem;font-weight:600;line-height:1.3}.player-workspace-shell .script-card-description{display:none}.player-workspace-shell .script-card-footer{display:grid;align-content:start;gap:4px;min-height:0;padding:5px 1px 0}.player-workspace-shell .script-card-engagements{gap:6px}.player-workspace-shell .script-card-engagements>*{min-height:18px;gap:3px;padding:0;border:0;background:transparent;font-size:10px}.player-workspace-shell .script-card-meta{display:block;min-width:0}.player-workspace-shell .script-card-creator{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-card-date,.player-workspace-shell .script-card-creator-desktop{display:none}.player-workspace-shell .script-card-cover-overlay{position:absolute;z-index:2;top:0;right:0;left:0;display:flex;aspect-ratio:16 / 10;align-items:flex-end;justify-content:space-between;gap:6px;padding:8px;pointer-events:none}.player-workspace-shell .script-card-cover-overlay .script-card-engagements{pointer-events:auto}.player-workspace-shell .script-card-kind-cover{flex:0 0 auto;max-width:44%;overflow:hidden;padding:3px 5px;border:1px solid rgba(244,224,176,.3);border-radius:3px;background:#050a099e;color:#f8e8c0e6;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.player-workspace-shell .script-card-creator-mobile{display:inline}}.player-workspace-shell .script-card-cover-overlay .script-card-engagements>*{color:var(--text-on-image);font-weight:600;text-shadow:0 1px 3px rgba(4,8,7,.9)}.player-workspace-shell .script-card-cover-overlay .script-card-engagements button:hover,.player-workspace-shell .script-card-cover-overlay .script-card-engagements button.active{color:var(--text-on-image)}
