:root{color:#f3ead8;font-synthesis:none;--ink:#111b20;--ink-2:#18272d;--paper:#efe5d1;--paper-2:#d8c9ae;--gold:#d3a84f;--gold-2:#f0cf78;--red:#9d3e3b;--muted:#8fa0a3;--line:#edddbe29;background:#0c1418;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#0c1418;min-width:320px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.button{min-height:42px;color:inherit;cursor:pointer;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;transition:all .2s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button--primary{color:#11191c;background:var(--paper);box-shadow:0 8px 26px #00000038}.button--primary:hover{background:#fff5df}.button--ghost{background:#ffffff09;border-color:#f0e5cf40}.button--ghost:hover{background:#ffffff12;border-color:#f0cf7899}.button--gold{color:#211b10;background:var(--gold)}.button--gold:hover{background:var(--gold-2)}.button--danger{color:#f4cfca;background:#822b2633;border-color:#c34e4473;width:100%}.button--small{min-height:30px;padding:0 11px;font-size:12px}.brand{align-items:center;gap:12px;display:inline-flex}.brand__mark{border:1px solid var(--gold);width:42px;height:42px;color:var(--gold-2);border-radius:50% 50% 47% 53%;place-items:center;font-family:Georgia,serif;font-size:23px;font-style:italic;display:grid;box-shadow:inset 0 0 0 4px #d3a84f14}.brand strong{letter-spacing:.12em;font-family:Georgia,Songti SC,serif;font-size:18px;display:block}.brand small{color:var(--muted);letter-spacing:.2em;margin-top:3px;font-size:9px;display:block}.brand--compact .brand__mark{width:34px;height:34px;font-size:19px}.brand--compact strong{font-size:15px}.topbar{z-index:2;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(24px,5vw,76px);display:flex;position:relative}.topbar--dark{border-bottom:1px solid var(--line)}.landing{background:radial-gradient(circle at 15% 68%,#31535873,#0000 34%),radial-gradient(circle at 80% 20%,#65492f4d,#0000 32%),linear-gradient(122deg,#0e191d 0%,#111a1d 54%,#0b1114 100%);min-height:100vh;position:relative;overflow:hidden}.landing:before{content:"";opacity:.24;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 86%);mask-image:linear-gradient(#000,#0000 86%)}.landing:after{content:"";filter:blur(65px);background:#d6e1d921;border-radius:50%;width:70vw;height:330px;position:absolute;bottom:-210px;left:-10vw}.hero{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(340px,.65fr);align-items:center;gap:clamp(48px,8vw,120px);max-width:1320px;min-height:calc(100vh - 150px);margin:0 auto;padding:5vh clamp(24px,5vw,76px) 11vh;display:grid;position:relative}.hero__copy h1{color:#f4ead6;letter-spacing:-.045em;max-width:760px;margin:18px 0 24px;font-family:Georgia,Songti SC,serif;font-size:clamp(48px,6vw,90px);font-weight:400;line-height:1.06}.hero__copy h1 em{color:var(--gold-2);font-style:normal}.hero__lead{color:#b7c2c0;max-width:600px;font-size:clamp(17px,1.6vw,21px);line-height:1.8}.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.rule-chips{flex-wrap:wrap;gap:10px;margin-top:36px;display:flex}.rule-chips span{color:#b5c0bd;background:#ffffff06;border:1px solid #e9d5af2b;border-radius:999px;padding:8px 13px;font-size:12px}.paper-card{color:#241f19;background:linear-gradient(140deg,#fffaedfa,#ded0b4f5);border-radius:7px;position:relative;box-shadow:0 30px 90px #00000061,inset 0 0 0 1px #ffffff8c}.paper-card:before{content:"";pointer-events:none;border:1px solid #4b3b2729;position:absolute;inset:9px}.entry-card{padding:36px;transform:rotate(.6deg)}.entry-card__head{align-items:center;gap:16px;margin-bottom:28px;display:flex}.entry-card h2{margin:0 0 4px;font-family:Georgia,Songti SC,serif;font-size:28px}.entry-card p{color:#776a57;margin:0}.seal{color:#9e463e;border:2px solid #9e463e;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-family:Songti SC,serif;font-weight:900;display:grid;transform:rotate(-9deg)}.join-form{z-index:1;gap:17px;display:grid;position:relative}.join-form label{gap:7px;display:grid}.join-form label span{color:#605442;letter-spacing:.06em;font-size:12px;font-weight:800}.join-form input,.create-panel input{color:#1c1a17;background:#ffffff70;border:1px solid #46382642;border-radius:5px;outline:none;width:100%;min-height:48px;padding:0 15px}.join-form input:focus,.create-panel input:focus{border-color:#a4772b;box-shadow:0 0 0 3px #a4772b1a}.join-form .button{color:#f7ecd8;background:#172428;border-radius:5px;width:100%;margin-top:4px}.fineprint{font-size:11px;line-height:1.6;margin-top:18px!important}.form-error{margin:0;font-size:12px;color:#a3342d!important}.landing__footer{z-index:2;color:#637478;text-align:center;padding:0 24px 24px;font-size:11px;position:relative}.host-shell{color:#eee4d1;background:linear-gradient(150deg,#101a1e,#0b1215);min-height:100vh}.host-header{max-width:1120px;margin:0 auto;padding:70px 24px 34px}.host-header h1{margin:12px 0 10px;font-family:Georgia,Songti SC,serif;font-size:clamp(42px,5vw,70px);font-weight:400}.host-header>p:last-child{color:#90a0a2}.create-panel{border:1px solid var(--line);background:#ffffff09;border-radius:14px;grid-template-columns:1fr auto;gap:13px;max-width:1120px;margin:0 auto 42px;padding:22px;display:grid}.create-panel input{color:#f2eadc;background:#0e171a;border-color:#ffffff21}.create-panel .form-error{grid-column:1/-1}.room-list{gap:18px;max-width:1120px;margin:0 auto;padding:0 24px 80px;display:grid}.host-room{border:1px solid var(--line);background:linear-gradient(120deg,#ffffff0c,#ffffff05);border-radius:14px;grid-template-columns:210px 1fr auto;align-items:center;gap:26px;padding:24px;display:grid}.host-room__title{align-items:center;gap:12px;display:flex}.host-room h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:21px;font-weight:500}.host-room p{color:#718286;margin:5px 0 0;font-size:11px}.status-dot{background:#69a584;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #69a584}.code-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.code-item{background:#0000002b;border-radius:8px;min-width:0;padding:10px}.code-item>span{color:#7f9296;font-size:10px;display:block}.code-item strong{color:#e8cf94;text-overflow:ellipsis;margin:6px 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:block;overflow:hidden}.empty-state{border:1px dashed var(--line);text-align:center;border-radius:14px;padding:80px 24px}.empty-state>span{color:var(--gold);font-size:48px}.empty-state h2{margin:10px 0 6px;font-family:Georgia,serif;font-weight:400}.empty-state p{color:var(--muted)}.game-shell{background:radial-gradient(circle,#203239 0%,#101a1e 55%,#0b1215 100%);min-height:100vh}.game-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:8;background:#080e10d1;grid-template-columns:1fr auto auto auto;align-items:center;gap:22px;min-height:58px;padding:10px 22px;display:grid;position:relative}.room-title{text-align:right;display:grid}.room-title strong{font-family:Georgia,Songti SC,serif;font-size:14px}.room-title span{color:#6d8084;letter-spacing:.16em;font-family:ui-monospace,monospace;font-size:9px}.connection{color:#8d7774;align-items:center;gap:7px;font-size:11px;display:flex}.connection i{background:#8f4742;border-radius:50%;width:6px;height:6px}.connection.is-online{color:#8ba898}.connection.is-online i{background:#64ae83;box-shadow:0 0 8px #64ae83}.role-badge{color:#e5c576;background:#d2a9510f;border:1px solid #d2a95147;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:800}.spoiler-banner{color:#231d11;text-align:center;background:#d3a84f;padding:7px 18px;font-size:11px;font-weight:800}.game-layout{grid-template-columns:235px minmax(540px,1fr) 280px;min-height:calc(100vh - 58px);display:grid}.game-sidebar{background:#080e1061;flex-direction:column;gap:12px;padding:16px;display:flex}.game-sidebar--left{border-right:1px solid var(--line)}.game-sidebar--right{border-left:1px solid var(--line)}.side-card{background:#04090b4d;border:1px solid #e9d9b81f;border-radius:10px;padding:16px;box-shadow:0 10px 30px #0000001f}.side-card__label{color:#6f8487;letter-spacing:.18em;text-transform:uppercase;margin-bottom:13px;font-size:9px;font-weight:900;display:block}.big-value{font-family:Georgia,serif;font-size:24px}.round-value{align-items:baseline;gap:7px;display:flex}.round-value strong{color:var(--gold-2);font-family:Georgia,serif;font-size:44px;font-weight:400}.round-value span{color:#788a8d;font-size:12px}.round-track{grid-template-columns:repeat(8,1fr);gap:3px;margin:9px 0 15px;display:grid}.round-track i{background:#304248;border-radius:3px;height:3px}.round-track i.is-past{background:var(--gold)}.round-panel p{color:#92a2a4;font-size:11px}.round-panel b{color:#eee1c8}.witness{text-align:center;border-radius:6px;margin-top:12px;padding:9px;font-size:12px;font-weight:800}.witness--visible{color:#211a0e;background:#d5ad52}.witness--invisible{color:#c4d2d0;background:#25383e}.player-row{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:9px 0;display:flex}.player-row>i{background:#4a575a;border-radius:50%;width:7px;height:7px}.player-row>i.is-online{background:#62ae82;box-shadow:0 0 8px #62ae82}.player-row span{gap:2px;display:grid}.player-row strong{font-size:12px}.player-row small{color:#718286;font-size:10px}.spectator-count{color:#728487;padding-top:10px;font-size:10px}.secret-card{background:linear-gradient(145deg,#7628243b,#080d0f66);border-color:#ac433b66}.identity-reveal span{color:#b98780;font-size:10px;display:block}.identity-reveal strong{color:#f0c0b9;margin-top:5px;font-family:Georgia,serif;display:block}.secret-card p{color:#998986;margin:13px 0 0;font-size:10px;line-height:1.5}.board-stage{place-items:center;min-width:0;padding:18px;display:grid;position:relative;overflow:hidden}.board-wrap{width:min(100%,940px)}.board-caption{color:#75898c;letter-spacing:.2em;justify-content:space-between;margin:0 8px 8px;font-size:9px;display:flex}.board-caption strong{color:#aa9366;font-family:Georgia,serif;font-weight:400}.board{filter:drop-shadow(0 25px 35px #00000059);width:100%;max-height:calc(100vh - 130px)}.board-bg{fill:#18272c;stroke:#7b6a48;stroke-width:2px}.hex{cursor:default}.hex polygon{fill:#26383e;stroke:#334a51;stroke-width:1.2px;transition:all .15s}.hex--street:nth-of-type(3n) polygon{fill:#293c42}.hex--building polygon{fill:#172329}.hex--garden polygon{fill:#1d302b}.hex--lamp polygon{fill:#222f31}.hex--manhole polygon{fill:#24363a}.hex.is-legal{cursor:pointer}.hex.is-legal polygon{fill:#40584f;stroke:#edcc76;stroke-width:2.4px;filter:drop-shadow(0 0 6px #edcc767a)}.hex.is-legal:hover polygon{fill:#657057}.terrain-icon{fill:#10191c;stroke:#4a5d60;stroke-width:1.5px}.garden-icon{fill:#233f34;stroke:#3b604e}.manhole-icon{fill:#10191c;stroke:#69777a;stroke-width:3px}.hex--manhole path{stroke:#5f6d70;stroke-width:1.2px}.closed-mark{stroke:#b4534c!important;stroke-width:3px!important}.lamp-icon{fill:none;stroke:#59676a;stroke-width:3px}.lamp-icon.is-lit{fill:#eec15b52;stroke:#edc259;filter:drop-shadow(0 0 5px #e8bb4d)}.lamp-number{fill:#927c50;font-size:9px;font-weight:800}.move-cost{fill:#fff2c5;text-anchor:middle;pointer-events:none;font-size:12px;font-weight:900}.exit-marker rect{fill:#5e8068}.exit-marker.is-blocked rect{fill:#923f3a}.exit-marker text{fill:#b9aaa0;text-anchor:middle;font-size:8px;font-weight:800}.pawn{transition:transform .3s}.pawn>circle:nth-of-type(2){fill:#0a0f11c7;stroke:#ffffff73;stroke-width:1.3px}.pawn text{fill:#fff5df;text-anchor:middle;font-family:Georgia,Songti SC,serif;font-size:14px;font-weight:800}.pawn.is-active>circle:first-child{stroke:#ffe396;stroke-width:4px;filter:drop-shadow(0 0 7px #ffd66e)}.pawn.is-innocent{opacity:.5}.innocent-mark{stroke:#e4e0d7;stroke-width:2.5px}.facing-mark{fill:#f2d37b}.board-legend{color:#6f8386;justify-content:center;gap:18px;margin-top:5px;font-size:9px;display:flex}.board-legend span{align-items:center;gap:5px;display:flex}.board-legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.legend-street{background:#2c4147}.legend-building{background:#121e22}.legend-lamp{background:#ddb34f}.legend-manhole{border:2px solid #778689;border-radius:50%!important}.action-card{min-height:145px}.turn-wait{color:#708386;text-align:center;padding:25px 10px;font-family:Georgia,Songti SC,serif;font-size:16px}.character-cards{gap:7px;display:grid}.character-cards button{color:#dfd4bf;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:7px;align-items:center;gap:9px;padding:8px;display:flex}.character-cards button:hover{background:#e3be6714;border-color:#e3be6773}.character-cards i,.active-character>i{color:#fff7e6;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-family:Georgia,Songti SC,serif;font-style:normal;font-weight:900;display:grid}.character-cards span{gap:2px;display:grid}.character-cards strong{font-size:10px}.character-cards small{color:#718286;font-size:9px}.active-character{align-items:flex-start;gap:10px;display:flex}.active-character strong{font-family:Georgia,serif;font-size:13px}.active-character p{color:#829396;margin:5px 0 0;font-size:9px;line-height:1.5}.action-hint{color:#a0b0b1;background:#ffffff09;border-radius:5px;margin:12px 0 0;padding:9px;font-size:9px;line-height:1.5}.action-hint--urgent{color:#efc19f;background:#9b422d26}.ability-box{border-top:1px solid #ffffff14;gap:8px;margin-top:12px;padding-top:12px;display:grid}.ability-box>strong{color:#dcc27f;font-size:10px}.ability-box p{color:#788b8e;margin:0;font-size:9px}.ability-box select{color:#d9d0c0;background:#101b1f;border:1px solid #ffffff1f;border-radius:5px;width:100%;min-width:0;padding:7px;font-size:9px}.transfer-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;display:grid}.direction-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.direction-grid button{color:#e3cb91;cursor:pointer;background:#152226;border:1px solid #ffffff1a;border-radius:6px;height:34px}.direction-grid button:nth-child(2){transform:rotate(60deg)}.direction-grid button:nth-child(3){transform:rotate(120deg)}.direction-grid button:nth-child(4){transform:rotate(180deg)}.direction-grid button:nth-child(5){transform:rotate(240deg)}.direction-grid button:nth-child(6){transform:rotate(300deg)}.direction-grid small{margin-left:3px;font-size:8px}.mini-buttons{grid-template-columns:1fr 1fr;gap:5px;max-height:145px;display:grid;overflow:auto}.mini-buttons button{color:#b8c2c0;cursor:pointer;background:#ffffff08;border:1px solid #ffffff17;border-radius:5px;padding:7px;font-size:8px}.mini-buttons button:hover{color:#f0dba7;border-color:#b69550}.special-actions{margin-top:13px}.special-actions details{border:1px solid #a3433c40;border-radius:6px;margin-top:6px;padding:8px}.special-actions summary{color:#d69c91;cursor:pointer;font-size:9px}.special-actions p{color:#8e7773;font-size:8px}.log-card{flex:1;min-height:150px}.log-card ol{margin:0;padding:0;list-style:none}.log-card li{color:#839396;border-bottom:1px solid #ffffff0d;padding:7px 0;font-size:9px;line-height:1.45}.log-card li:first-child{color:#d6ccb9}.waiting-room{text-align:center;width:min(600px,92%)}.lantern-icon{color:#e6c571;background:radial-gradient(circle,#e1bf6c26,#0000 68%);border:1px solid #e1bf6c59;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 24px;font-size:29px;display:grid;box-shadow:0 0 55px #e1bf6c1f}.waiting-room h1{margin:12px 0;font-family:Georgia,Songti SC,serif;font-size:42px;font-weight:400}.waiting-room>p:not(.eyebrow){color:#819397}.waiting-seats{grid-template-columns:1fr 1fr;gap:14px;margin-top:35px;display:grid}.waiting-seats>div{color:#6c7b7e;border:1px dashed #ffffff26;border-radius:10px;gap:5px;padding:22px;display:grid}.waiting-seats>div.is-ready{color:#c8d8cc;background:#66b1850f;border-style:solid;border-color:#66b18559}.waiting-seats span{font-family:Georgia,serif;font-size:24px}.waiting-seats small{color:#637679;font-size:9px}.toast{z-index:20;color:#17130d;background:#e3c675;border-radius:7px;padding:10px 16px;font-size:11px;font-weight:800;position:fixed;top:75px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #00000059}.toast--error{color:#fff0eb;background:#9c403a}.end-overlay{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050a0cc7;place-items:center;display:grid;position:fixed;inset:0}.end-card{color:#292118;text-align:center;background:linear-gradient(145deg,#f3e8d2,#d6c5a8);border-radius:8px;width:min(500px,100% - 36px);padding:50px;position:relative;box-shadow:0 35px 110px #0009}.end-card .seal{margin:0 auto 20px}.end-card h1{margin:12px 0;font-family:Georgia,Songti SC,serif;font-size:44px;font-weight:400}.end-card>p:not(.eyebrow){color:#776650}.final-identity{border-top:1px solid #00000021;border-bottom:1px solid #00000021;margin:22px 0;padding:15px}.lost-page,.loading-page{background:radial-gradient(circle,#1a2b30,#0b1215);align-content:center;place-items:center;gap:28px;min-height:100vh;display:grid}.lost-page .paper-card{width:min(440px,100% - 36px);padding:35px}.lost-page .paper-card h1{font-family:Georgia,serif}.lost-page .paper-card p{color:#746653}.loading-page{color:#87999c;text-align:center}.loading-page h1{color:#e5d9c4;margin:0;font-family:Georgia,Songti SC,serif;font-weight:400}.fog-loader{gap:8px;display:flex}.fog-loader span{background:var(--gold);border-radius:50%;width:8px;height:8px;animation:1.1s infinite alternate pulse}.fog-loader span:nth-child(2){animation-delay:.2s}.fog-loader span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.15;transform:translateY(-8px)}}.game-topbar{grid-template-columns:1fr auto auto auto auto}.game-topbar__actions{align-items:center;gap:8px;display:flex}.rules-link,.game-exit{color:#d8ccba;background:#ffffff09;border:1px solid #f0e5cf33;border-radius:7px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:11px;font-weight:800;transition:all .2s;display:inline-flex}.rules-link:before{content:"?";width:18px;height:18px;color:var(--gold-2);border:1px solid #f0cf788c;border-radius:50%;place-items:center;margin-right:7px;font-family:Georgia,serif;display:grid}.rules-link:hover,.game-exit:hover{background:#ffffff13;border-color:#f0cf788c}.game-exit{color:#a9b4b2}.rules-shell{color:#eee4d1;background:radial-gradient(circle at 85% 8%,#74502b47,#0000 26%),radial-gradient(circle at 10% 32%,#2e505557,#0000 30%),#0b1215;min-height:100vh}.rules-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#080e10b3;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(24px,5vw,76px);display:flex;position:sticky;top:0}.rules-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:80px;max-width:1180px;min-height:610px;margin:0 auto;padding:80px 30px;display:grid}.rules-hero h1{color:#f5ecd9;letter-spacing:-.04em;margin:18px 0 24px;font-family:Georgia,Songti SC,serif;font-size:clamp(50px,6vw,72px);font-weight:400;line-height:1.04}.rules-hero h1 em{color:var(--gold-2);font-style:normal}.rules-hero>div:first-child>p:not(.eyebrow){color:#aebbb9;max-width:640px;font-size:17px;line-height:1.8}.rules-night-scene{background:radial-gradient(circle at 50% 42%,#edbe5759,#0000 25%),linear-gradient(#15242a 0 58%,#10191d 58%);border:1px solid #e2ca942e;border-radius:50% 50% 10px 10px;height:390px;position:relative;overflow:hidden;box-shadow:inset 0 -70px 100px #0000007a,0 30px 70px #00000047}.rules-night-scene:before,.rules-night-scene:after{content:"";clip-path:polygon(0 36%,18% 36%,18% 17%,38% 17%,38% 0,60% 0,60% 24%,78% 24%,78% 42%,100% 42%,100% 100%,0 100%);background:#0b1418;width:115px;height:150px;position:absolute;bottom:98px}.rules-night-scene:before{left:0}.rules-night-scene:after{right:0;transform:scaleX(-1)}.rules-night-scene>p{color:#829294;text-align:center;letter-spacing:.06em;margin:0;font-size:12px;position:absolute;inset:auto 25px 24px}.rules-lamp{width:90px;height:180px;position:absolute;top:70px;left:50%;transform:translate(-50%)}.rules-lamp:before{content:"";background:#493f2d;width:4px;height:132px;position:absolute;top:45px;left:43px}.rules-lamp i{background:radial-gradient(circle,#f4c45861,#0000 66%);border-radius:50%;width:200px;height:200px;position:absolute;top:-48px;left:-56px}.rules-lamp span{color:#ffe399;border:2px solid #dfb755;border-radius:12px 12px 4px 4px;place-items:center;width:33px;height:43px;font-size:19px;display:grid;position:absolute;top:20px;left:29px;box-shadow:0 0 26px #e8b94ca6}.rules-pawn{color:#fff5df;z-index:2;border:5px solid #0c1214e6;border-radius:50%;place-items:center;width:58px;height:58px;font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:800;display:grid;position:absolute;top:238px;box-shadow:0 9px 18px #0000006b}.rules-pawn--gold{background:#d6b74e;left:31%}.rules-pawn--red{background:#d64f3e;right:28%}.rules-section{border-top:1px solid var(--line);max-width:1120px;margin:0 auto;padding:86px 30px}.rules-heading{max-width:720px;margin-bottom:38px}.rules-heading h2,.visibility-copy h2,.rules-tips h2{color:#f0e5d0;margin:10px 0 14px;font-family:Georgia,Songti SC,serif;font-size:clamp(34px,4vw,50px);font-weight:400}.rules-heading>p:last-child,.visibility-copy>p{color:#93a3a4;line-height:1.8}.rules-objectives{grid-template-columns:1fr 1fr;gap:20px;display:grid}.objective-card{background:linear-gradient(145deg,#ffffff0e,#ffffff04);border:1px solid #e6d2aa21;border-radius:16px;grid-template-columns:65px 1fr;gap:25px;min-height:280px;padding:34px;display:grid}.objective-card--jack{background:linear-gradient(145deg,#892e2a29,#ffffff03);border-color:#ad463f47}.objective-card__number{width:62px;height:76px;color:var(--gold-2);border:1px solid #e8c77959;place-items:center;font-family:Georgia,serif;font-size:34px;display:grid}.objective-card--jack .objective-card__number{color:#e28a7f;border-color:#ce5b5066}.objective-card h2{margin:8px 0 15px;font-family:Georgia,Songti SC,serif;font-size:28px;font-weight:400}.objective-card div>p:last-child{color:#96a5a5;font-size:13px;line-height:1.8}.turn-order-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.turn-order{background:#04090b47;border:1px solid #e6d2aa21;border-radius:12px;padding:25px}.turn-order h3{color:#b9a371;margin:0 0 18px;font-family:Georgia,Songti SC,serif;font-weight:400}.turn-order div{align-items:center;gap:8px;display:flex}.turn-order span{color:#d4cbb9;text-align:center;background:#203339;border-radius:7px;flex:1;min-width:0;padding:12px 5px;font-size:11px;font-weight:800;position:relative}.turn-order span:not(:last-child):after{content:"›";color:#68797b;position:absolute;right:-7px}.turn-order span.is-jack{color:#f0b1a7;background:#482725}.turn-order i{color:#718789;margin-bottom:4px;font-size:9px;font-style:normal;display:block}.rules-note{border-left:3px solid var(--gold);color:#8f9e9f;background:#d3a84f0e;gap:24px;margin-top:18px;padding:20px 24px;font-size:12px;line-height:1.7;display:flex}.rules-note strong{color:#e2cc96;flex:none}.visibility-section{grid-template-columns:1.1fr .9fr;align-items:center;gap:65px;display:grid}.visibility-figure{background:#111e22;border:1px solid #e6d2aa21;border-radius:16px;gap:13px;padding:28px;display:grid}.visibility-case{background:#ffffff09;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:54px 1fr;align-items:center;gap:3px 16px;min-height:106px;padding:18px;display:grid;position:relative}.visibility-source,.visibility-neighbor{color:#fff1c9;z-index:2;background:#b99a45;border:3px solid #10191c;border-radius:50%;place-items:center;width:50px;height:50px;font-family:Georgia,Songti SC,serif;font-size:18px;display:grid}.visibility-neighbor{background:#b54c43;position:absolute;top:25px;left:56px}.visibility-line{clip-path:polygon(0 40%,100% 0,100% 100%,0 60%);background:linear-gradient(90deg,#ecbe4f73,#0000);width:100px;height:36px;position:absolute;top:25px;left:34px}.visibility-line--long{width:180px}.visibility-case b,.visibility-case small{grid-column:2}.visibility-case b{color:#dfd2ba;align-self:end}.visibility-case small{color:#77898b;align-self:start;line-height:1.5}.witness-example{color:#211a0e;background:#d5ad52;border-radius:8px;align-items:center;gap:14px;margin-top:10px;padding:13px 15px;display:flex}.witness-example--dark{color:#d2dddd;background:#263b41}.witness-example span{min-width:76px;font-weight:900}.witness-example p{color:inherit;margin:0;font-size:12px}.terrain-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.terrain-grid article{background:#ffffff06;border:1px solid #e6d2aa1f;border-radius:12px;min-height:190px;padding:22px 18px}.terrain-grid i{color:#e1c16f;background:#1d3035;border-radius:50%;place-items:center;width:42px;height:42px;font-size:22px;font-style:normal;display:grid}.terrain-grid h3{color:#e8ddca;margin:18px 0 9px;font-family:Georgia,Songti SC,serif;font-weight:400}.terrain-grid p{color:#7e9092;margin:0;font-size:11px;line-height:1.7}.rules-character-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rules-character-grid article{background:#ffffff07;border:1px solid #e6d2aa1c;border-radius:10px;gap:16px;min-height:126px;padding:18px;display:flex}.rules-character-grid article>i{color:#fff5df;border:4px solid #10191c;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-family:Georgia,Songti SC,serif;font-size:17px;font-style:normal;font-weight:900;display:grid}.rules-character-grid h3{color:#e7dcc8;margin:1px 0 3px;font-family:Georgia,serif;font-size:15px;font-weight:500}.rules-character-grid span{color:#b99e62;font-size:9px;font-weight:800}.rules-character-grid p{color:#788b8d;margin:8px 0 0;font-size:11px;line-height:1.6}.rules-tips{background:linear-gradient(135deg,#d3a84f13,#ffffff05);border:1px solid #e4c98b2e;border-radius:18px;padding:55px 45px}.rules-tips>div{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.rules-tips div p{color:#8d9d9e;margin:0;font-size:12px;line-height:1.75}.rules-tips strong{color:#dfcfad;margin-bottom:8px;display:block}.rules-footer{color:#718284;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:40px 30px 70px;font-size:11px;display:flex}@media (width<=1100px){.game-layout{grid-template-columns:205px minmax(480px,1fr) 245px}.game-sidebar{padding:10px}.host-room{grid-template-columns:1fr}.host-room__actions .button{width:100%}}@media (width<=850px){.hero{grid-template-columns:1fr;padding-top:40px}.hero__copy{text-align:center}.hero__lead{margin-left:auto;margin-right:auto}.rule-chips{justify-content:center}.entry-card{width:100%;max-width:520px;margin:0 auto;transform:none}.code-grid{grid-template-columns:1fr}.game-topbar{grid-template-columns:1fr auto}.room-title,.connection{display:none}.game-layout{flex-direction:column;display:flex}.board-stage{order:1;padding:10px;display:block;overflow:auto}.board-wrap{min-width:670px}.board{max-height:none}.game-sidebar--left{border-right:0;border-bottom:1px solid var(--line);order:0;grid-template-columns:1fr 1fr;display:grid}.game-sidebar--left .secret-card{grid-column:1/-1}.game-sidebar--right{border-left:0;border-top:1px solid var(--line);order:2}}@media (width<=560px){.topbar{padding:0 18px}.hero{padding-left:18px;padding-right:18px}.hero__copy h1{font-size:45px}.entry-card{padding:28px}.create-panel{grid-template-columns:1fr;margin-left:18px;margin-right:18px}.host-header{padding-top:42px}.host-room{padding:18px}.game-sidebar--left{grid-template-columns:1fr}.game-sidebar--left .secret-card{grid-column:auto}.waiting-room h1{font-size:32px}.waiting-seats{grid-template-columns:1fr}.role-badge{font-size:9px}}@media (width<=850px){.game-topbar{grid-template-columns:1fr auto auto;gap:9px}.game-topbar__actions{gap:5px}.game-exit{display:none}.rules-link{padding:0 10px}.rules-link:before{display:none}.rules-hero{grid-template-columns:1fr;gap:45px;min-height:0;padding:58px 24px 70px}.rules-night-scene{width:min(100%,540px)}.rules-objectives,.visibility-section{grid-template-columns:1fr}.visibility-copy{order:-1}.terrain-grid{grid-template-columns:repeat(2,1fr)}.terrain-grid article:last-child{grid-column:1/-1}.rules-tips>div{grid-template-columns:1fr;gap:15px}}@media (width<=560px){.rules-topbar{height:70px;padding:0 16px}.rules-topbar .button{min-height:36px;padding:0 12px;font-size:11px}.rules-hero{padding:45px 18px 55px}.rules-hero h1{font-size:38px}.rules-night-scene{height:330px}.rules-pawn{top:190px}.rules-section{padding:58px 18px}.rules-objectives{gap:12px}.objective-card{grid-template-columns:48px 1fr;gap:15px;min-height:0;padding:24px 20px}.objective-card__number{width:45px;height:58px;font-size:25px}.objective-card h2{font-size:23px}.turn-order-grid,.rules-character-grid{grid-template-columns:1fr}.turn-order div{gap:5px}.turn-order span{font-size:10px}.rules-note{flex-direction:column;gap:7px}.visibility-figure{padding:12px}.terrain-grid{grid-template-columns:1fr}.terrain-grid article:last-child{grid-column:auto}.terrain-grid article{min-height:0}.rules-tips{margin-left:12px;margin-right:12px;padding:34px 24px}.rules-footer{text-align:center;flex-direction:column;align-items:stretch;gap:18px;padding:35px 18px 55px}.game-topbar{padding:9px 12px}.game-topbar .brand strong{display:none}.role-badge{padding:7px 9px}}
