/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--bg:#090b0e;--surface:#101318;--surface-2:#15191f;--surface-3:#1b2027;--text:#eceef2;--muted:#9299a6;--line:#ffffff17;--line-strong:#ffffff26;--accent:#65c7c4;--purple:#a78bfa;--red:#fb7185;--gold:#d6b56f}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}button,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}main{width:min(1240px,100%);margin:auto;padding:24px clamp(14px,3vw,40px) 52px}.hero{border:1px solid var(--line);background:radial-gradient(circle at 78% 18%,#65c7c41a,#0000 28%),radial-gradient(circle at 18% 105%,#a78bfa14,#0000 33%),#0e1116;border-radius:22px;justify-content:space-between;align-items:flex-end;gap:32px;min-height:250px;padding:clamp(28px,5vw,60px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000057}.hero:after{content:"";border:1px solid #65c7c42e;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-220px;right:-150px;box-shadow:0 0 0 44px #65c7c406,0 0 0 88px #65c7c405}.hero-copy{z-index:1;max-width:800px;position:relative}.eyebrow{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:750}.hero h1{letter-spacing:-.045em;margin:0 0 18px;font-size:clamp(38px,6vw,72px);font-weight:760;line-height:1.04}.hero-copy>p:last-child{color:#aeb4be;max-width:740px;margin:0;font-size:15px;line-height:1.85}.turn-seal{z-index:2;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#14181ed1;border-radius:18px;flex-direction:column;flex:0 0 154px;justify-content:center;min-height:154px;padding:22px;display:flex;position:relative}.turn-seal small,.turn-seal span{color:var(--muted);font-size:11px}.turn-seal b{color:var(--accent);letter-spacing:-.03em;margin:8px 0;font-size:25px}.status-strip{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111419f0;border-radius:14px;grid-template-columns:repeat(3,1fr) auto;align-items:stretch;width:calc(100% - 40px);margin:-16px auto 28px;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 50px #00000047}.status-strip>div{border-right:1px solid var(--line);align-items:baseline;gap:9px;padding:15px 22px;display:flex}.status-strip span{color:var(--muted);font-size:11px}.status-strip b{font-size:17px}.status-strip button,.library-bar button,.editor-actions button,.reveal{color:var(--text);background:#252b33;border:0;padding:10px 18px;font-weight:700}.status-strip button:hover,.library-bar button:hover,.editor-actions button:hover,.reveal:hover{background:#303741}.roles{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;display:grid}.role-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;padding:20px;transition:border-color .2s,transform .2s,background .2s}.role-card.active{background:#13191e;border-color:#65c7c46b;transform:translateY(-3px)}.role-card>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.role-card h2{letter-spacing:-.02em;margin:10px 0 7px;font-size:21px}.role-card p{color:#aab0ba;min-height:42px;margin:0;font-size:13px;line-height:1.65}.role-state{border-top:1px solid var(--line);color:var(--gold);margin-top:14px;padding-top:11px;font-size:12px;font-weight:700}.player-tabs{gap:7px;margin:28px 0 12px;display:flex}.player-tabs button{border:1px solid var(--line);min-width:145px;color:var(--muted);background:0 0;border-radius:10px;padding:11px 20px;font-weight:750;transition:all .2s}.player-tabs button.active{color:var(--text);background:#65c7c414;border-color:#65c7c461}.player-tabs small{opacity:.6;margin-top:2px;font-size:10px;font-weight:500;display:block}.game-grid{grid-template-columns:minmax(0,1fr) 310px;gap:16px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;box-shadow:0 18px 50px #0000002b}.hand-panel{min-height:350px;padding:24px;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.panel h2{letter-spacing:-.025em;margin:0;font-size:24px}.reveal{background:var(--accent);color:#071111;border-radius:9px}.reveal:hover{background:#83d6d3}.hint{color:var(--muted);margin:9px 0 21px;font-size:12px;line-height:1.6}.hand{scrollbar-color:#343b45 transparent;align-items:flex-start;gap:12px;padding:7px 4px 20px;display:flex;overflow-x:auto}.game-card{color:#f5f7fa;text-align:left;border:1px solid #ffffff21;border-radius:11px;flex-direction:column;flex:0 0 112px;align-items:flex-start;width:112px;height:156px;padding:14px 11px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px #00000042}.game-card:not(:disabled):hover{border-color:#ffffff45;transform:translateY(-6px);box-shadow:0 18px 34px #0000005c}.game-card.selected{border-color:var(--accent);transform:translateY(-8px);box-shadow:0 0 0 2px #65c7c438,0 18px 34px #00000061}.game-card.word{background:linear-gradient(155deg,#18343b,#10262d)}.game-card.special{background:linear-gradient(155deg,#30264a,#211a35)}.game-card.ending{background:linear-gradient(155deg,#48212b,#2d151c)}.game-card.covered{text-align:center;background:linear-gradient(145deg,#1b2027,#11151a);border-color:#38414b;justify-content:center;align-items:center}.game-card:after{content:"";pointer-events:none;border:1px solid #ffffff12;border-radius:7px;position:absolute;inset:6px}.card-type{color:#ffffff94;letter-spacing:.15em;font-size:8px;font-weight:800}.game-card strong{overflow-wrap:anywhere;width:100%;margin-top:13px;font-size:16px;line-height:1.3}.game-card p{color:#ffffffab;margin:8px 0 0;font-size:9.5px;line-height:1.55}.game-card i{opacity:.28;position:absolute;bottom:9px;right:11px}.back-mark{width:49px;height:49px;color:var(--accent);border:1px solid #65c7c480;border-radius:13px;place-items:center;font-size:24px;font-weight:800;display:grid}.covered small{color:#7f8995;letter-spacing:.18em;margin-top:11px;font-size:8px;font-weight:700}.side-stack{flex-direction:column;gap:16px;display:flex}.dice-panel{text-align:center;padding:22px}.dice-panel>div:first-child{text-align:left}.die{border:1px solid var(--line-strong);width:82px;height:82px;color:var(--text);background:#1d232a;border-radius:18px;margin:22px auto 15px;font:700 36px system-ui,sans-serif;box-shadow:0 14px 30px #0000004d}.die:disabled{cursor:default}.die.rolling{animation:.18s linear infinite roll}@keyframes roll{25%{transform:rotate(9deg)translateY(-4px)}50%{transform:rotate(-6deg)scale(.94)}75%{transform:rotate(5deg)translate(3px)}}.dice-panel>p{min-height:23px;color:var(--gold);margin:0;font-size:13px;font-weight:700}.vote-panel{padding:22px}.vote-row{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:11px 0;font-size:12px;display:flex}.vote-row button{color:var(--accent);background:0 0;border:1px solid #65c7c480;border-radius:6px;margin-left:5px;font-weight:800}.winner{color:var(--gold);text-align:center;background:#d6b56f14;border:1px solid #d6b56f40;border-radius:9px;margin-top:18px;padding:14px;font-weight:850}.narration-compose{background:#65c7c40b;border:1px solid #65c7c438;border-radius:12px;margin-top:7px;padding:17px}.narration-compose label{color:#c9eeee;margin-bottom:10px;font-size:13px;font-weight:800;display:block}.narration-compose textarea{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:116px;color:var(--text);background:#0c0f13;border-radius:9px;padding:13px;font:14px/1.75 inherit}.narration-compose>div{justify-content:space-between;align-items:center;gap:14px;margin-top:9px;display:flex}.narration-compose span{color:var(--muted);font-size:10px}.narration-compose button{background:var(--accent);color:#071111;border:0;border-radius:8px;padding:10px 16px;font-weight:850}.narration-compose button:disabled{cursor:not-allowed;opacity:.35}.story-table{margin-top:16px;padding:25px}.ending-chip{color:var(--red);background:#fb71851a;border:1px solid #fb718559;border-radius:20px;padding:8px 11px;font-size:11px;font-weight:800}.timeline{gap:11px;margin-top:20px;padding:0 0 15px;display:flex;overflow-x:auto}.scene{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface-2);border-radius:10px;flex:0 0 210px;min-height:142px;padding:15px 16px}.scene-special{border-top-color:var(--purple)}.scene-ending{border-top-color:var(--red)}.scene-no{color:var(--muted);letter-spacing:.08em;font-size:9px;font-weight:750}.scene h3{margin:10px 0 7px;font-size:16px}.scene p{color:#9da4ae;margin:0;font-size:11px;line-height:1.6}.scene q{color:#d4d8de;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:9px;font-size:11px;font-style:normal;line-height:1.55;display:-webkit-box;overflow:hidden}.scene b{color:var(--red);margin-top:8px;font-size:10px;display:block}.empty-stage{border:1px dashed var(--line-strong);width:100%;min-height:120px;color:var(--muted);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-stage b{color:#cdd2d9;margin-bottom:8px;font-size:17px}.empty{color:var(--muted);padding:40px}.story-log{border-top:3px solid var(--accent);background:#0f1216;margin-top:16px;padding:28px}.story-actions{gap:8px;display:flex}.story-actions button{border:1px solid var(--line-strong);color:#c5cad1;background:0 0;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:750}.story-actions button:first-child{color:#11151a;background:#e7e9ed;border-color:#0000}.story-log-hint{color:var(--muted);margin:9px 0 18px;font-size:12px}.story-scroll{border:1px solid var(--line);scroll-behavior:smooth;scrollbar-color:#323944 transparent;background:#0b0e12;border-radius:12px;max-height:600px;padding:8px clamp(6px,3vw,36px) 20px;overflow-y:auto}.story-paragraph{border-bottom:1px solid var(--line);max-width:900px;margin:auto;padding:25px 12px 25px 24px;position:relative}.story-paragraph:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:30px;left:5px;box-shadow:0 0 0 4px #65c7c41a}.story-paragraph.story-special:before{background:var(--purple);box-shadow:0 0 0 4px #a78bfa1a}.story-paragraph header{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:10px;display:flex}.story-paragraph header span{letter-spacing:.1em;text-transform:uppercase;font-weight:800}.story-paragraph header b{color:#d8dbe0}.story-paragraph header em{color:var(--accent);background:#65c7c417;border-radius:20px;padding:3px 7px;font-style:normal;font-weight:750}.story-paragraph.story-special header em{color:var(--purple);background:#a78bfa17}.story-paragraph p{white-space:pre-wrap;color:#d5d8dd;letter-spacing:.01em;margin:13px 0 0;font-size:16px;line-height:2}.story-divider{max-width:900px;color:var(--red);text-align:center;background:#fb71850e;border:1px solid #fb718540;border-radius:10px;margin:22px auto;padding:18px}.story-divider span,.story-divider b{display:block}.story-divider span{letter-spacing:.08em;font-size:16px;font-weight:850}.story-divider b{margin-top:7px;font-size:11px}.story-empty{min-height:230px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.story-empty b{color:#d1d5db;margin-bottom:8px;font-size:20px}.story-empty span{max-width:430px;font-size:12px;line-height:1.7}.folds{border-top:1px solid var(--line);margin-top:22px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;justify-content:space-between;align-items:center;padding:21px 5px;font-size:19px;font-weight:800;list-style:none;display:flex}summary:after{content:"+";color:var(--muted);margin-left:auto;padding-left:18px;font-weight:400}details[open] summary:after{content:"−"}summary small{color:var(--muted);margin-left:14px;margin-right:auto;font-size:11px;font-weight:450}.detail-body{padding:0 5px 26px}.rules ol{counter-reset:rules;grid-template-columns:repeat(5,1fr);gap:9px;padding:0;list-style:none;display:grid}.rules li{border:1px solid var(--line);background:var(--surface);counter-increment:rules;border-radius:10px;padding:16px}.rules li:before{content:"0" counter(rules);color:var(--accent);margin-bottom:13px;font-size:18px;font-weight:800;display:block}.rules b,.rules span{display:block}.rules span{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.7}.workshop{grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:14px 20px;display:grid}.library-bar{grid-column:1/-1;justify-content:space-between;align-items:end;gap:15px;display:flex}.library-bar label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}select{border:1px solid var(--line-strong);background:var(--surface);min-width:260px;color:var(--text);border-radius:8px;padding:10px}.workshop>textarea{resize:vertical;border:1px solid var(--line-strong);color:#cdd3da;background:#080a0d;border-radius:10px;width:100%;min-height:440px;padding:16px;font:12px/1.65 SFMono-Regular,Consolas,monospace}.editor-actions{gap:8px;display:flex}.editor-actions .primary{background:var(--accent);color:#071111}.format-note{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;grid-area:2/2;padding:18px;font-size:12px;line-height:1.75}.format-note h3{color:var(--text);margin-top:0}.format-note code{color:#c7bbff;background:#262c34;border-radius:4px;padding:2px 4px}footer{border-top:1px solid var(--line);color:#717986;letter-spacing:.09em;justify-content:space-between;margin-top:34px;padding-top:22px;font-size:11px;display:flex}footer b{color:#aab0b9;letter-spacing:0}.toast{z-index:50;border:1px solid var(--line-strong);max-width:min(620px,100% - 28px);color:var(--text);text-align:center;background:#191e24;border-radius:10px;padding:12px 20px;font-size:13px;font-weight:750;animation:.24s ease-out toast-in;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 16px 45px #00000073}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-18px)}}@media (width<=850px){.hero{align-items:center;padding:34px 25px}.hero h1{font-size:44px}.turn-seal{flex-basis:130px;min-height:130px}.status-strip{grid-template-columns:repeat(3,1fr);width:94%}.status-strip button{grid-column:1/-1}.roles{grid-template-columns:1fr}.role-card p{min-height:0}.game-grid{grid-template-columns:1fr}.rules ol{grid-template-columns:1fr 1fr}}@media (width<=600px){main{padding:10px 10px 34px}.hero{border-radius:16px;flex-direction:column;align-items:flex-start;min-height:350px}.hero h1{font-size:38px}.hero-copy>p:last-child{font-size:13px}.turn-seal{width:120px;min-height:112px;padding:16px;position:absolute;bottom:17px;right:17px}.turn-seal b{font-size:20px}.status-strip{width:96%;margin-top:-8px}.status-strip>div{flex-direction:column;gap:1px;padding:10px 8px}.status-strip b{font-size:14px}.player-tabs button{flex:1;min-width:0;padding:9px 4px}.hand-panel,.story-table,.story-log{padding:17px 13px}.panel-head{align-items:flex-start}.panel h2{font-size:20px}.reveal{padding:9px 11px}.game-card{flex-basis:104px;width:104px;height:146px}.story-log .panel-head{flex-direction:column}.story-actions{width:100%}.story-actions button{flex:1}.story-scroll{max-height:500px}.story-paragraph{padding-left:20px}.story-paragraph p{font-size:15px}.rules ol{grid-template-columns:1fr}.workshop{display:block}.library-bar{flex-direction:column;align-items:stretch;margin-bottom:14px}select{width:100%;min-width:0}.format-note{margin-top:14px}.workshop>textarea{min-height:360px}footer{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
