@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-51e9c401]{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-51e9c401]{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-51e9c401]{margin:0;color:var(--text-secondary)}.global-feature-loading__actions[data-v-51e9c401]{display:flex;justify-content:flex-end;gap:10px}.global-feature-loading__actions button[data-v-51e9c401]{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: #0f1413;--canvas-grid: rgba(199, 165, 82, .08);--canvas-grid-secondary: rgba(138, 163, 154, .08);--canvas-glow: rgba(138, 163, 154, .18);--canvas-glow-secondary: rgba(181, 91, 77, .12);--surface-panel: rgba(24, 31, 30, .86);--surface-panel-strong: rgba(18, 24, 23, .94);--surface-muted: rgba(8, 12, 12, .34);--surface-faint: rgba(8, 12, 12, .24);--surface-deep: rgba(8, 12, 12, .58);--surface-raised: rgba(22, 28, 27, .86);--surface-hover: rgba(199, 165, 82, .12);--accent-faint: rgba(199, 165, 82, .06);--surface-input: rgba(9, 14, 14, .58);--surface-accent: rgba(199, 165, 82, .08);--surface-overlay: rgba(3, 7, 6, .78);--text-primary: #efe8d4;--text-secondary: #b8c3bb;--text-muted: #8aa39a;--text-subtle: rgba(184, 195, 187, .72);--text-accent: #f5e5bd;--text-on-accent: #101615;--text-on-image: #fff5dd;--text-on-image-muted: rgba(255, 245, 221, .84);--border: rgba(199, 176, 117, .24);--border-strong: rgba(199, 176, 117, .42);--border-muted: rgba(138, 163, 154, .18);--border-subtle: rgba(199, 176, 117, .16);--border-soft: rgba(199, 176, 117, .2);--border-faint: rgba(199, 176, 117, .12);--border-hover: rgba(199, 176, 117, .54);--accent: #c7a552;--accent-soft: rgba(199, 165, 82, .14);--accent-strong: #e5c47b;--accent-on-image: #f3ddb0;--focus-ring: #f0d38f;--status-success: #bce6cc;--status-success-soft: rgba(54, 117, 86, .16);--status-warning: #f0d38f;--status-warning-soft: rgba(240, 198, 91, .14);--status-danger: #f2c1b8;--status-danger-soft: rgba(67, 20, 14, .3);--status-info: #b9e0e2;--status-info-soft: rgba(67, 140, 151, .12);--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: rgba(3, 7, 6, .92);--shadow-elevation: 0 20px 70px rgba(0, 0, 0, .32);--ink: var(--text-primary);--panel: var(--surface-panel);--panel-strong: var(--surface-panel-strong);--line: var(--border);--line-strong: var(--border-strong);--gold: var(--accent);--gold-soft: var(--accent-soft);--fog: var(--text-muted);--paper: var(--text-primary);--blood: var(--status-danger);--shadow: var(--shadow-elevation)}:root[data-theme=light]{color-scheme:light;--canvas: #f2eee5;--canvas-grid: rgba(111, 91, 51, .09);--canvas-grid-secondary: rgba(89, 117, 100, .1);--canvas-glow: rgba(89, 117, 100, .14);--canvas-glow-secondary: rgba(163, 93, 66, .1);--surface-panel: rgba(255, 252, 246, .9);--surface-panel-strong: rgba(255, 253, 248, .97);--surface-muted: rgba(255, 255, 255, .68);--surface-faint: rgba(255, 255, 255, .5);--surface-deep: rgba(255, 255, 255, .82);--surface-raised: rgba(255, 255, 255, .94);--surface-hover: rgba(138, 104, 31, .12);--accent-faint: rgba(138, 104, 31, .06);--surface-input: rgba(255, 255, 255, .82);--surface-accent: rgba(138, 104, 31, .08);--surface-overlay: rgba(44, 38, 28, .42);--text-primary: #2f2b24;--text-secondary: #5f5a4f;--text-muted: #756f62;--text-subtle: rgba(95, 90, 79, .78);--text-accent: #644c18;--text-on-accent: #fffdf8;--text-on-image: #fff9e9;--text-on-image-muted: rgba(255, 249, 233, .86);--border: rgba(111, 91, 51, .24);--border-strong: rgba(111, 91, 51, .5);--border-muted: rgba(89, 117, 100, .24);--border-subtle: rgba(111, 91, 51, .18);--border-soft: rgba(111, 91, 51, .24);--border-faint: rgba(111, 91, 51, .12);--border-hover: rgba(111, 91, 51, .62);--accent: #8a681f;--accent-soft: rgba(138, 104, 31, .12);--accent-strong: #6d5014;--accent-on-image: #f0d390;--focus-ring: #52705a;--status-success: #28714f;--status-success-soft: rgba(40, 113, 79, .12);--status-warning: #9a671c;--status-warning-soft: rgba(154, 103, 28, .12);--status-danger: #a34332;--status-danger-soft: rgba(163, 67, 50, .1);--status-info: #246b75;--status-info-soft: rgba(36, 107, 117, .1);--surface-lightbox: rgba(31, 27, 21, .9);--shadow-elevation: 0 18px 54px rgba(62, 50, 31, .16)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px),linear-gradient(180deg,var(--canvas-grid-secondary) 1px,transparent 1px),radial-gradient(circle at 18% 18%,var(--canvas-glow),transparent 28rem),radial-gradient(circle at 82% 10%,var(--canvas-glow-secondary),transparent 22rem),var(--canvas);background-size:42px 42px,42px 42px,auto,auto,auto}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:.58}input,textarea{width:100%;border:1px solid var(--border-muted);background:var(--surface-input);color:var(--text-primary);padding:12px 14px}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);transition:border-color .12s ease,background .12s ease,transform .12s ease}.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:linear-gradient(135deg,var(--accent-soft),var(--surface-raised));border-color:var(--border-strong)}.ghost-button{background:var(--surface-faint)}.danger-button{border-color:var(--status-danger);color:var(--status-danger);background:var(--status-danger-soft)}button:hover:not(:disabled){border-color:var(--border-hover);transform:translateY(-1px)}.icon-button{display:inline-grid;width:42px;height:42px;place-items:center}.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}}: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}.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-tags button{border:1px solid var(--border);padding:7px 10px;background:var(--surface-faint);color:var(--text-secondary);font:inherit;font-size:12px;transition:border-color .16s ease,background .16s ease,color .16s ease}.script-tags button:hover,.script-tags .active{border-color:var(--border-hover);background:var(--surface-hover);color:var(--accent-strong)}.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;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(--accent-strong);font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.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-date{flex:0 0 auto;color:var(--text-subtle)}.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{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)}
