:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--rn-void:#03070c;--rn-night:#060b12;--rn-night-raised:#0b121c;--rn-navy:#101c2a;--rn-ivory:#f2eadb;--rn-parchment:#ddd2bd;--rn-muted:#929aa3;--rn-faint:#616b75;--rn-brass:#b78943;--rn-gold:#c79b53;--rn-gold-light:#e5c27f;--rn-gold-dim:#c79b5338;--rn-border:#c79b5357;--rn-border-soft:#c79b5329;--rn-blood:#8e3940;--rn-success:#68815f;--rn-info:#6d88a5;--rn-shadow-sm:0 10px 30px #0000004d;--rn-shadow:0 28px 90px #00000085;--rn-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif;--rn-sans:"Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif;--rn-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--rn-radius-sm:8px;--rn-radius:14px;--rn-radius-lg:22px;--rn-ease:cubic-bezier(.2, .75, .25, 1);font-family:var(--rn-sans);background:var(--rn-night);color:var(--rn-parchment);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:var(--rn-night);scroll-behavior:smooth;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;background:var(--rn-night);min-height:100dvh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--rn-gold-light);outline-offset:3px}button:disabled{cursor:not-allowed}::selection{color:var(--rn-ivory);background:#ad77378c}.rn-button{min-height:50px;color:var(--rn-ivory);letter-spacing:.08em;cursor:pointer;transition:transform .18s var(--rn-ease), border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease, opacity .18s ease;border:1px solid #0000;border-radius:6px;padding:.8rem 1.3rem;font-weight:700;line-height:1.2;position:relative;overflow:hidden}.rn-button:before,.rn-button:after{content:"";opacity:.52;pointer-events:none;border-top:1px solid;border-bottom:1px solid;width:5px;position:absolute;top:7px;bottom:7px}.rn-button:before{border-left:1px solid;left:7px}.rn-button:after{border-right:1px solid;right:7px}.rn-button:hover:not(:disabled){transform:translateY(-2px)}.rn-button:active:not(:disabled){transform:translateY(0)scale(.99)}.rn-button:disabled{opacity:.42;filter:saturate(.55)}.rn-button--gold{color:#171109;background:linear-gradient(135deg,#e2bd72 0%,#bc8a43 54%,#825726 100%);border-color:#dfbb74;box-shadow:inset 0 1px #fff6d780,inset 0 -1px #4c260973,0 12px 30px #00000057,0 0 26px #c492421a}.rn-button--gold:hover:not(:disabled){box-shadow:inset 0 1px #fff6d79e,0 15px 36px #0000006b,0 0 30px #c492422b}.rn-button--quiet{color:#dec79b;border-color:var(--rn-border);background:linear-gradient(145deg,#1b222bc2,#070b11d6);box-shadow:inset 0 1px #ffffff06}.rn-button--quiet:hover:not(:disabled){background:#c79b5317;border-color:#ddb4689e}.rn-button--danger{color:#fff0ec;background:linear-gradient(145deg,#944148,#561f28);border-color:#b45c61;box-shadow:inset 0 1px #ffdcd526,0 12px 28px #00000047}.rn-panel{border:1px solid var(--rn-border);box-shadow:var(--rn-shadow);background:linear-gradient(145deg,#0e1620f2,#04080df7);position:relative}.rn-panel:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;border:1px solid #d8b16a12;position:absolute;inset:7px}.rn-panel>*{z-index:1;position:relative}.rn-role-card{width:min(100%,390px);min-height:600px;box-shadow:var(--rn-shadow), inset 0 0 0 7px #c79b5309;background:linear-gradient(160deg,#141821,#070b11);border:1px solid #dab167b8;border-radius:6px 6px 24px 24px;position:relative;overflow:hidden}.rn-role-card:after{content:"";pointer-events:none;border:1px solid #e0bf811f;border-radius:3px 3px 18px 18px;position:absolute;inset:7px}.rn-role-card__portrait-wrap{height:338px;position:relative;overflow:hidden}.rn-role-card__portrait{filter:saturate(.84)contrast(1.06);background-repeat:no-repeat;background-size:300% 200%;width:100%;height:100%;display:block}.rn-role-card__fade{background:linear-gradient(#0000,#0b1018);height:42%;position:absolute;inset:auto 0 0}.rn-role-card__copy{z-index:1;padding:0 28px 28px;position:relative}.rn-role-card__alignment{color:var(--rn-gold-light);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .4rem;font-size:.72rem}.rn-role-card h2{color:var(--rn-ivory);font-family:var(--rn-serif);letter-spacing:.04em;margin:0 0 1rem;font-size:2.35rem;font-weight:600}.rn-role-card__ability{border-left:2px solid var(--rn-gold);color:#ded7c9;padding-left:15px;line-height:1.78}.rn-role-card__tip{color:var(--rn-muted);font-size:.88rem;line-height:1.65}.rn-role-card .rn-button{width:100%;margin-top:8px}.rn-role-card--covered{text-align:center;align-content:center;place-items:center;gap:1rem;display:grid}.rn-role-card__seal{border:1px solid var(--rn-gold);width:94px;height:94px;color:var(--rn-gold-light);border-radius:50%;place-items:center;font-size:2.6rem;display:grid;box-shadow:inset 0 0 30px #b58b430f,0 0 42px #b58b4324}.rn-seat-ring{--rn-seat-radius:min(36vw, 280px);aspect-ratio:1;width:min(72vw,760px);margin:0 auto;padding:0;list-style:none;position:relative}.rn-seat-ring:before{content:"";border:1px solid #c79b531f;border-radius:50%;position:absolute;inset:18%;box-shadow:inset 0 0 70px #00000073,0 0 50px #c79b530a}.rn-seat{--angle:calc(360deg / var(--seat-count) * var(--seat-index));width:112px;min-height:66px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * var(--rn-seat-radius))) rotate(calc(-1 * var(--angle)));text-align:center;background:radial-gradient(circle at 50% 0,#c79b531f,#0000 50%),linear-gradient(145deg,#131b26,#060a10);border:1px solid #c79b5375;border-radius:50%;place-items:center;gap:2px;padding:7px 9px;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 10px 30px #00000073,inset 0 0 0 4px #c79b5306}.rn-seat__number{color:var(--rn-gold-light);font-family:var(--rn-mono);letter-spacing:.04em;font-size:.7rem}.rn-seat__name{color:#e8dfcf;text-overflow:ellipsis;white-space:nowrap;max-width:92px;font-size:.9rem;overflow:hidden}.rn-seat--offline{opacity:.56;border-style:dashed}.rn-countdown{font-family:var(--rn-mono);font-variant-numeric:tabular-nums;color:var(--rn-gold-light)}@media (max-width:720px){.rn-button{min-height:52px}.rn-role-card{min-height:565px}.rn-role-card__portrait-wrap{height:292px}.rn-seat-ring{--rn-seat-radius:37vw;width:92vw}.rn-seat{width:76px;min-height:52px;padding:5px}.rn-seat__name{max-width:64px;font-size:.75rem}}@media (max-width:380px){.rn-role-card{min-height:0}.rn-role-card__portrait-wrap{height:245px}.rn-role-card__copy{padding:0 19px 20px}.rn-role-card h2{margin-bottom:.7rem;font-size:1.9rem}.rn-seat-ring{--rn-seat-radius:35vw}.rn-seat{width:70px;min-height:49px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.effects-audio{z-index:160;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));color:#d9c797;cursor:pointer;background:#080e16ed;border:1px solid #b08c4c66;border-radius:30px;min-height:44px;padding:10px 15px;font-size:.75rem;position:fixed}.event-stage{z-index:200;isolation:isolate;color:#eee5d4;text-align:center;background:radial-gradient(at 50% 40%,#1b2b36,#090f18 55%,#03060b);grid-template-rows:auto 1fr auto;padding:clamp(20px,4vw,56px);display:grid;position:fixed;inset:0;overflow:hidden}.event-stage__grain{z-index:-1;opacity:.13;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#a6afad33 4px);position:absolute;inset:0}.event-stage__halo{z-index:-1;aspect-ratio:1;border:1px solid #caa65c26;border-radius:50%;width:min(70vw,730px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 24px #caa65c05,0 0 0 25px #caa65c12,inset 0 0 90px #0006}.event-stage header,.event-stage footer{color:#bba781;letter-spacing:.14em;justify-content:space-between;align-items:center;gap:16px;font-size:.7rem;display:flex}.event-stage header{border-bottom:1px solid #bba78130;padding-bottom:18px}.event-stage footer{letter-spacing:0}.event-stage footer button{color:#d9cbae;cursor:pointer;background:#060b12b3;border:1px solid #c8a56760;border-radius:4px;min-height:44px;padding:9px 16px}.event-stage footer span{color:#778590;font-size:.7rem}.event-stage__body{align-self:center;width:100%;max-width:1100px;margin:auto;animation:.5s both scene-enter}.event-stage__eyebrow{color:#cda865;letter-spacing:.3em;font-size:.7rem}.event-stage h1{font-family:var(--rn-serif);letter-spacing:.08em;text-wrap:balance;margin:12px 0;font-size:clamp(1.65rem,4.2vw,4.8rem);font-weight:400}.event-stage__theatre{width:100%;height:clamp(210px,35vh,470px);margin:auto;position:relative}.event-stage__result{max-width:780px;margin:20px auto 10px;font-size:clamp(.95rem,1.5vw,1.45rem);line-height:1.7}.event-stage__aftercare{color:#a6a99f;font-size:.78rem;line-height:1.7;display:block}.event-stage__progress{transform-origin:0;background:#d6b574;width:100%;height:2px;transition:transform 80ms linear;position:absolute;bottom:0;left:0}.event-token{aspect-ratio:.72;background:linear-gradient(135deg,#253545,#0b1722);border:1px solid #ad9566;border-radius:48% 48% 5px 5px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:clamp(88px,14vw,155px);transition:filter .5s,opacity .6s,transform 1s;display:flex;position:absolute;top:50%;left:71%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 6px #bda67712,0 20px 55px #000a}.event-token span{font:12px var(--rn-mono);color:#c5b791;position:absolute;top:12px}.event-token b{color:#ead7a9;font-size:clamp(2rem,5vw,4rem);font-weight:400}.event-token strong{text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:clamp(.8rem,1.4vw,1.25rem);font-weight:400;overflow:hidden}.event-token--fallen{filter:grayscale();opacity:.48;transform:translate(-50%,-40%)rotate(7deg)}.event-token--fallen .seal-fracture{clip-path:polygon(48% 0,44% 37%,60% 43%,46% 73%,53% 100%,50% 75%,67% 41%,51% 35%,51% 0);background:#060910;position:absolute;inset:10%}.shot-gun{z-index:3;transform-origin:25% 70%;width:65%;animation:4.5s both gun-choreography;animation-delay:var(--scene-delay);filter:drop-shadow(0 24px 24px #000b);position:absolute;top:12%;left:5%}.shot-gun svg{width:100%;height:auto;display:block}.shot-flare{z-index:4;aspect-ratio:1;clip-path:polygon(50% 0,61% 34%,97% 16%,70% 48%,100% 63%,65% 67%,57% 100%,45% 70%,15% 94%,31% 60%,0 44%,36% 36%);opacity:0;width:15%;animation:4.5s both gun-flash;animation-delay:var(--scene-delay);background:radial-gradient(circle,#fff3ca 0,#f8be60 18%,#d9922940 38%,#0000 67%);position:absolute;top:31%;left:58%}.shot-smoke{z-index:2;filter:blur(12px);opacity:0;width:28%;height:50%;animation:4.5s both gun-smoke;animation-delay:var(--scene-delay);position:absolute;top:17%;left:50%}.shot-smoke i{background:#c9c3ac55;border-radius:50%;width:60%;height:65%;position:absolute}.shot-smoke i:nth-child(2){background:#b8c1c044;top:-25%;left:35%}.shot-smoke i:nth-child(3){background:#778b9533;top:10%;left:65%}.event-stage--execution{background:radial-gradient(at 50% 40%,#30202a,#0d111a 60%,#04070c)}.execution-arch{background:linear-gradient(90deg,#0008,#0000,#0008);border:12px solid #332f2b;border-top:5px solid #8a7248;width:clamp(180px,27vw,270px);height:95%;position:absolute;top:3%;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #b09c6470,inset 0 0 0 1px #b09c6450}.execution-arch>span{color:#d4b16a;position:absolute;top:-30px;left:45%}.execution-arch .event-token{z-index:2;width:43%;top:63%;left:50%}.execution-blade{clip-path:polygon(0 0,100% 0,100% 56%,0 100%);width:92%;height:30%;animation:4.5s both blade-drop;animation-delay:var(--scene-delay);background:linear-gradient(130deg,#96a4ac,#2e3e49 54%,#afbac0);position:absolute;top:4%;left:4%}.execution-dust{filter:blur(10px);opacity:0;width:30%;height:20%;animation:4.5s both gun-smoke;animation-delay:var(--scene-delay);background:radial-gradient(#97897750,#0000 65%);position:absolute;bottom:0;left:35%}.event-stage--dawn{background:radial-gradient(at 50% 58%,#645b43,#26333c 39%,#080f17 75%)}.dawn-tableau{position:absolute;inset:0;overflow:hidden}.dawn-sun{filter:blur(15px);width:150px;height:150px;animation:8s both dawn-rise;animation-delay:var(--scene-delay);background:#f1cc7966;border-radius:50%;position:absolute;top:25%;left:50%;transform:translate(-50%);box-shadow:0 0 140px 80px #d3ad5033}.dawn-windows{opacity:.62;justify-content:center;gap:7%;height:100%;padding-top:1%;display:flex}.dawn-windows i{background:linear-gradient(90deg,#0000 47%,#14222b 48% 52%,#0000 53%),linear-gradient(#0000 38%,#14222b 39% 42%,#0000 43%);border:13px solid #111c23;border-bottom:0;border-radius:50% 50% 0 0;width:20%;height:100%;display:block;box-shadow:0 0 0 1px #b99d6130}.dawn-memorial{background:linear-gradient(#0000,#07121ce8);justify-content:center;align-items:end;gap:40px;padding-bottom:20px;animation:1.2s both scene-enter;display:flex;position:absolute;inset:10% 0 0}.dawn-memorial>div{justify-items:center;gap:9px;display:grid}.dawn-memorial strong{font:clamp(1.2rem,2.5vw,2rem) var(--rn-serif)}.dawn-memorial small{color:#bac1bd;font-size:.75rem}.memorial-candle{background:linear-gradient(90deg,#554f42,#aba187,#645e51);width:21px;height:80px;margin-bottom:8px;position:relative;box-shadow:0 7px 10px #000}.memorial-candle:after{content:"";background:#1d1e1b;width:3px;height:8px;position:absolute;top:-7px;left:8px}.memorial-candle.is-lit:after{background:linear-gradient(#ffb649,#fff2b2);border-radius:80% 20% 70% 40%;width:17px;height:27px;top:-28px;left:2px;box-shadow:0 0 40px 8px #d2a24566}.ceremony-seal{aspect-ratio:1;border:1px solid #c9a86b;border-radius:50%;align-content:center;gap:10px;width:clamp(145px,22vw,245px);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 12px #c9a86b0d,0 0 0 13px #c9a86b25,inset 0 0 80px #c9a86b15}.ceremony-seal>span{font:clamp(3rem,8vw,6rem) var(--rn-serif);color:#e0c78f}.ceremony-seal small{letter-spacing:.3em;color:#b79d6a;font-size:.65rem}.ceremony-seal--night_falls{border-color:#879bb3;box-shadow:0 0 100px #8999bc20,inset 0 0 80px #7189ae20}.event-stage.is-reduced *{transition:none!important;animation:none!important}.event-stage.is-reduced .shot-gun{opacity:.65;transform:none}.event-stage.is-reduced .shot-flare,.event-stage.is-reduced .shot-smoke{display:none}.private-ritual{z-index:205;text-align:center;color:#dbdac0;background:radial-gradient(#183529,#070d13 62%);flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:30px;animation:.4s both scene-enter;display:flex;position:fixed;inset:0}.private-ritual>button{color:#b7c5aa;background:0 0;border:1px solid #809d7460;border-radius:4px;min-height:44px;padding:10px 14px;position:absolute;top:20px;right:20px}.private-ritual>p{font:11px var(--rn-mono);letter-spacing:.25em;color:#a1b484}.private-ritual h2{font:clamp(1.7rem,4vw,3rem) var(--rn-serif);margin:12px 0}.private-ritual strong{color:#d6c898;font-size:.95rem;font-weight:400}.private-ritual small{color:#8c9c94;font-size:.72rem}.private-ritual__art{width:260px;height:220px;position:relative}.poison-vial{transform-origin:65% 15%;width:85px;height:115px;animation:pour-vial var(--private-duration,3.6s) ease both;background:linear-gradient(90deg,#c2dfba22,#051711,#c2dfba44);border:2px solid #b5cbb38c;border-radius:12px 12px 35px 35px;position:absolute;top:15px;left:85px}.poison-vial:before{content:"";background:linear-gradient(90deg,#978450,#372d17);border:2px solid #acb496;border-radius:4px;width:32px;height:37px;position:absolute;top:-35px;left:24px}.poison-vial span{background:#62895299;border-radius:0 0 26px 26px;position:absolute;inset:42px 6px 7px;box-shadow:0 0 30px #91b37144}.poison-drop{width:9px;height:17px;animation:poison-drop var(--private-duration,3.6s) ease both;background:#b5cd75;border-radius:50%;position:absolute;top:80px;left:173px}.poison-mist{filter:blur(12px);animation:mist-rise var(--private-duration,3.6s) ease both;position:absolute;inset:120px 15px 0}.poison-mist i{background:#84a74d66;border-radius:50%;width:90px;height:60px;position:absolute}.poison-mist i:nth-child(2){top:-20px;left:80px}.poison-mist i:nth-child(3){top:25px;left:120px}.private-sigil{color:#e6cf91;height:200px;animation:sigil-bloom var(--private-duration,3.6s) ease both;place-items:center;font-size:130px;display:grid}.private-ritual--protect{background:radial-gradient(#303124,#090f19 60%)}.private-ritual--divine{background:radial-gradient(#252941,#090f19 60%)}@keyframes scene-enter{0%{opacity:0}to{opacity:1}}@keyframes gun-choreography{0%{opacity:0;transform:translate(-45%,60%)rotate(-35deg)}23%,60%{opacity:1;transform:translate(0)rotate(0)}62%{transform:translate(0)}64%{transform:translate(-4%,-5%)rotate(-7deg)}69%,83%{opacity:1;transform:translate(0)}to{opacity:.2;transform:translate(-5%,15%)rotate(-6deg)}}@keyframes gun-flash{0%,61%{opacity:0;transform:scale(.5)}62.2%{opacity:.85;transform:scale(1.2)}67%,to{opacity:0;transform:scale(.8)}}@keyframes gun-smoke{0%,62.2%{opacity:0;transform:translateY(15px)scale(.5)}68%{opacity:.8}to{opacity:0;transform:translateY(-100px)scale(1.7)}}@keyframes blade-drop{0%,61%{transform:translateY(0)}62.2%,to{transform:translateY(195%)}}@keyframes dawn-rise{0%{opacity:.15;transform:translate(-50%,90px)}to{opacity:1;transform:translate(-50%,-30px)}}@keyframes pour-vial{0%,15%{transform:rotate(0)}35%,65%{transform:rotate(75deg)}90%,to{transform:rotate(0)}}@keyframes poison-drop{0%,30%{opacity:0;transform:translateY(0)}40%{opacity:1}65%,to{opacity:0;transform:translateY(100px)}}@keyframes mist-rise{0%,35%{opacity:0;transform:scale(.4)}65%{opacity:1}to{opacity:0;transform:translateY(-50px)scale(1.5)}}@keyframes sigil-bloom{0%{opacity:0;transform:scale(.4)rotate(-30deg)}50%{opacity:1;text-shadow:0 0 50px #dec783}to{opacity:.7;transform:scale(1)rotate(0)}}@media (max-width:650px){.event-stage{padding:calc(19px + env(safe-area-inset-top)) 17px calc(19px + env(safe-area-inset-bottom))}.event-stage header{letter-spacing:.1em;font-size:.57rem}.event-stage footer{gap:7px}.event-stage footer span{max-width:120px;font-size:.6rem}.event-stage footer button{padding:8px 11px;font-size:.72rem}.event-stage__theatre{height:270px}.shot-gun{width:80%;top:30%;left:-6%}.shot-flare{width:20%;top:47%;left:62%}.shot-smoke{top:33%}.event-token{width:96px;top:58%;left:76%}.event-stage h1{font-size:1.75rem;line-height:1.6}.event-stage__eyebrow{font-size:.65rem}.event-stage__halo{width:90vw}.event-stage__result{font-size:.92rem}.event-stage__aftercare{font-size:.69rem}.dawn-windows{gap:4%}.dawn-windows i{border-width:8px;width:28%}.dawn-memorial{gap:22px}.event-stage__body{padding:16px 0}.effects-audio{padding:8px 11px;font-size:.65rem}}@media (max-height:650px){.event-stage__theatre{height:180px}.event-stage h1{font-size:1.7rem}.event-stage__result{margin:8px auto}.event-stage__eyebrow{margin:5px}.event-stage__body{padding:5px 0}.execution-arch{width:140px}.event-token{width:80px}}.private-ritual--compact{text-align:left;border:1px solid #9eaf7455;border-radius:7px;align-items:flex-start;gap:7px;width:min(340px,100vw - 40px);padding:20px;inset:auto 20px 85px auto;box-shadow:0 15px 40px #0008}.private-ritual--compact .private-ritual__art{display:none}.private-ritual--compact h2{margin:3px 0;font-size:1rem}.private-ritual--compact>p{margin:0;font-size:.56rem}.private-ritual--compact>strong{font-size:.75rem}.private-ritual--compact>small{font-size:.63rem}.private-ritual--compact>button{border:0;min-height:32px;padding:4px;font-size:.65rem;top:5px;right:5px}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes gramophone-spin{to{transform:rotate(360deg)}}@keyframes death-reveal-in{0%{opacity:0;filter:blur(5px);transform:scale(1.025)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes ravens-dawn-strip{0%,32%{background-position:0}33%,65%{background-position:50%}66%,to{background-position:100%}}#root{min-height:100vh;min-height:100dvh}h1,h2,h3{font-family:var(--rn-serif);font-weight:500}a{color:inherit}.app-loading{min-height:100vh;min-height:100dvh;color:var(--rn-gold-light);background:radial-gradient(circle,#101a27,#03070c 58%);place-items:center;font-size:2.5rem;display:grid}.app-loading span{border:1px solid var(--rn-border);border-radius:50%;place-items:center;width:100px;height:100px;animation:9s linear infinite orbit;display:grid;box-shadow:inset 0 0 34px #c79b530d,0 0 50px #00000073}.session-status{z-index:180;width:min(100% - 28px,680px);box-shadow:var(--rn-shadow-sm);color:#ecd7ac;text-align:center;background:#1a140bf5;border:1px solid #d8b0628c;border-radius:999px;margin:0;padding:11px 17px;font-size:.84rem;position:fixed;top:14px;left:50%;transform:translate(-50%)}.session-status--offline{color:#f3c5c3;background:#310f14f7;border-color:#bc494eb8}.session-status--back{top:auto;bottom:18px}.screen-back,.back-link{z-index:4;border:1px solid var(--rn-border-soft);color:#cdb98e;cursor:pointer;background:#050a10bd;border-radius:999px;min-height:44px;padding:8px 14px;text-decoration:none;transition:border-color .18s,background .18s,color .18s}.screen-back:hover,.back-link:hover{border-color:var(--rn-border);color:var(--rn-gold-light);background:#c79b5314}.screen-back{position:relative}.screen-back--header{flex:none}.center-page>.screen-back,.center-page>.back-link{top:max(26px, env(safe-area-inset-top));left:max(26px, env(safe-area-inset-left));position:absolute}.role-page>.screen-back{justify-self:start}.ending>.screen-back{top:max(22px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left));position:absolute}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--rn-gold-light)!important;margin:0!important}.form-error{line-height:1.55;color:#ea9798!important;margin:0!important}.game-error{z-index:30;max-width:720px;box-shadow:var(--rn-shadow-sm);color:#f0cbca;text-align:center;background:#321319;border:1px solid #9f4a50;border-radius:9px;margin:0 auto;padding:13px 16px;position:fixed;bottom:18px;left:18px;right:18px}.muted{color:var(--rn-faint)!important}.brand{color:#dfc58f;font-family:var(--rn-serif);letter-spacing:.18em;align-items:center;gap:12px;font-size:.95rem;display:flex}.brand__mark{border:1px solid #dcb36699;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.1rem;display:grid;box-shadow:inset 0 0 17px #c99b5114}.brand small{color:#626c75;font-family:var(--rn-sans);letter-spacing:.22em;margin-left:5px;font-size:.58rem}.login-page{min-height:100vh;isolation:isolate;background:#04080d;grid-template-columns:minmax(420px,640px) 1fr;align-items:center;min-height:100dvh;padding:clamp(30px,5vw,80px);display:grid;position:relative;overflow:hidden}.login-page:after{content:"";z-index:-1;background:radial-gradient(circle at 24% 42%,#bd8e481a,#0000 28%),linear-gradient(90deg,#03070cf7 0%,#03070cc7 47%,#03070c1a 78%);position:absolute;inset:0}.login-page__art{z-index:-2;opacity:.88;background:url(/assets/ravens/home-hero.png) 100%/cover no-repeat;position:absolute;inset:0 0 0 25%}.login-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#080e16eb,#03070cc7);border-radius:5px 5px 22px 22px;grid-column:1;width:min(100%,600px);padding:clamp(38px,5vw,66px)}.login-panel .brand{margin-bottom:clamp(44px,8vh,82px)}.login-panel h1{max-width:500px;color:var(--rn-ivory);text-wrap:balance;margin:.32em 0 .28em;font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.08}.login-panel>p:not(.eyebrow){color:#aeb5bc;max-width:480px;line-height:1.82}.login-panel form{gap:18px;margin-top:34px;display:grid}.login-panel label,.form-panel label{color:#d7d0c3;gap:9px;font-size:.88rem;display:grid}.login-panel input,.form-panel input,.form-panel select{width:100%;min-height:54px;color:var(--rn-ivory);background:#03080ddb;border:1px solid #c79b5357;border-radius:6px;padding:0 15px;font-size:1rem;transition:border-color .18s,box-shadow .18s;box-shadow:inset 0 2px 12px #0003}.login-panel input:hover,.form-panel input:hover,.form-panel select:hover{border-color:#dcb46c8c}.login-panel input:focus,.form-panel input:focus,.form-panel select:focus{border-color:var(--rn-gold-light);box-shadow:inset 0 2px 12px #0003,0 0 0 3px #c79b5314}.home{min-height:100vh;isolation:isolate;background:#04080d;grid-template:auto 1fr/minmax(320px,44%) 1fr;min-height:100dvh;padding:clamp(28px,4vw,66px);display:grid;position:relative;overflow:hidden}.home:before{content:"";z-index:-2;background:url(/assets/ravens/home-hero.png) 100%/cover no-repeat;position:absolute;inset:0}.home:after{content:"";z-index:-1;background:linear-gradient(90deg,#03070cfc 0%,#03070ced 32%,#03070c7a 58%,#03070c0f 84%),linear-gradient(#03070c14,#03070c9e);position:absolute;inset:0}.home>.brand{z-index:2;grid-column:1/-1;align-self:start;position:relative}.home__copy{z-index:2;max-width:650px;animation:rise .65s var(--rn-ease) both;align-self:center;padding:clamp(22px,3.5vh,54px) 0 clamp(22px,4.5vh,70px);position:relative}.home__copy:before{content:"午夜钟楼 · 社交推理游戏";color:var(--rn-gold-light);letter-spacing:.22em;margin-bottom:20px;font-size:.72rem;display:block}.home__copy h1{max-width:620px;color:var(--rn-ivory);letter-spacing:-.045em;text-shadow:0 8px 45px #000000ad;text-wrap:balance;margin:0 0 25px;font-size:clamp(4rem,6.7vw,8.1rem);line-height:.98}.home__copy>p{color:#b7bdc0;max-width:520px;font-size:clamp(1rem,1.18vw,1.2rem);line-height:1.9}.home__actions{gap:12px;margin:32px 0 22px;display:flex}.home__actions .rn-button{min-width:150px}.home__guides{color:#68727b;align-items:center;gap:11px;display:flex}.home__guides button,.lobby__guide-links button{color:#cbb27f;cursor:pointer;text-underline-offset:6px;background:0 0;border:0;min-height:40px;padding:4px 0;-webkit-text-decoration:underline #c79b534d;text-decoration:underline #c79b534d}.home__guides button:hover,.lobby__guide-links button:hover{color:var(--rn-gold-light);text-decoration-color:#e5c27fbf}.home__features{border-top:1px solid #c79b5324;grid-template-columns:repeat(3,1fr);gap:15px;width:min(100%,520px);margin:22px 0 0;padding:16px 0 0;list-style:none;display:grid}.home__features li{gap:4px;display:grid}.home__features strong{color:#d8c398;font-family:var(--rn-serif);font-size:.95rem;font-weight:500}.home__features span{color:#6f7983;letter-spacing:.05em;font-size:.7rem}.filing-links{color:#68727b;flex-wrap:wrap;align-items:center;gap:6px 13px;margin-top:18px;font-size:.62rem;line-height:1.5;display:flex}.filing-links a{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.filing-links a:hover,.filing-links a:focus-visible{color:var(--rn-gold-light);text-underline-offset:3px;text-decoration:underline}.filing-links img{object-fit:contain;width:16px;height:17px}.login-panel .filing-links{justify-content:center;margin-top:28px}.home__resume{border:1px solid var(--rn-border);width:min(100%,570px);box-shadow:var(--rn-shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050a10e0;border-radius:10px;margin:30px 0 24px;padding:20px}.home__resume>div:first-child{gap:5px;display:grid}.home__resume span{color:#c9ad78;letter-spacing:.15em;font-size:.72rem}.home__resume strong{color:var(--rn-ivory);font-family:var(--rn-serif);font-size:1.55rem}.home__resume small{color:var(--rn-muted);line-height:1.6}.home__resume>div:nth-child(2){gap:10px;margin-top:18px;display:flex}.home__resume .form-error{margin-top:12px!important}.home__art,.home__clock{display:none}.center-page{min-height:100vh;isolation:isolate;background:#050a10;place-items:center;min-height:100dvh;padding:84px 22px 64px;display:grid;position:relative}.center-page:before{content:"";z-index:-2;opacity:.18;pointer-events:none;filter:saturate(.65)contrast(1.1);background:url(/assets/ravens/scene-atlas.png) 50%/cover no-repeat;position:fixed;inset:0}.center-page:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 27%,#364e6033,#0000 34%),#03070cd1;position:fixed;inset:0}.form-panel{border-radius:5px 5px 22px 22px;width:min(100%,560px);padding:clamp(30px,5vw,54px)}.form-panel:before{content:"";border:1px solid var(--rn-border);border-bottom:0;height:6px;position:absolute;inset:-6px 18px auto}.form-panel h1{color:var(--rn-ivory);text-wrap:balance;margin:0 0 13px;font-size:clamp(2.15rem,5vw,3.6rem);line-height:1.15}.form-panel>p{color:var(--rn-muted);margin:0 0 31px;line-height:1.75}.form-panel form{gap:22px;display:grid}.form-row{grid-template-columns:minmax(0,1fr) 150px;gap:13px;display:grid}.form-panel label>small{color:#808b95;line-height:1.55}.form-panel input[aria-label=六位邀请码]{font-family:var(--rn-mono);letter-spacing:.29em;text-align:center;text-transform:uppercase;font-size:1.5rem}.form-panel--create{width:min(100%,720px)}.mode-choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-choice button{border:1px solid var(--rn-border-soft);min-height:108px;color:var(--rn-parchment);cursor:pointer;text-align:center;background:#ffffff05;border-radius:9px;padding:15px;transition:border-color .18s,background .18s,transform .18s}.mode-choice button:hover{border-color:var(--rn-border);transform:translateY(-1px)}.mode-choice button>span{color:var(--rn-gold-light);margin-bottom:7px;font-size:1.4rem;display:block}.mode-choice button small{color:#828c96;margin-top:7px;font-size:.72rem;line-height:1.5;display:block}.mode-choice button.is-active{border-color:var(--rn-gold);background:linear-gradient(145deg,#c79b531f,#070c12b3);box-shadow:inset 0 0 30px #c79b530d}.play-mode-picker{border:0;margin:0;padding:0}.play-mode-picker legend{color:#d7d0c3;margin-bottom:10px;font-size:.88rem}.play-mode-picker>div{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.play-mode-picker button{border:1px solid var(--rn-border-soft);min-height:136px;color:var(--rn-parchment);text-align:left;cursor:pointer;background:#ffffff05;border-radius:10px;align-content:start;gap:7px;padding:15px 13px;transition:border-color .18s,background .18s,transform .18s;display:grid}.play-mode-picker button:hover{border-color:var(--rn-border);transform:translateY(-2px)}.play-mode-picker button>span{color:var(--rn-gold-light);font-size:1.35rem}.play-mode-picker button small{color:#84909a;font-size:.73rem;line-height:1.5}.play-mode-picker button.is-selected{border-color:var(--rn-gold);background:#c79b531a;box-shadow:inset 0 0 28px #c79b530f}.tutorial{align-content:center}.tutorial__progress{z-index:1;color:var(--rn-gold-light);letter-spacing:.16em;margin:0 0 12px;font-size:.75rem;position:relative}.tutorial__panel{text-align:center;border-radius:46% 46% 10px 10px;align-content:center;justify-items:center;width:min(100%,720px);min-height:470px;padding:clamp(36px,6vw,66px);display:grid}.tutorial__symbol{color:var(--rn-gold-light);font-size:3.3rem}.tutorial__panel h1{color:var(--rn-ivory);text-wrap:balance;margin:20px 0 13px;font-size:clamp(2.1rem,5vw,3.8rem);line-height:1.12}.tutorial__panel>p{color:#c6c1b8;max-width:540px;font-size:1.02rem;line-height:1.85}.tutorial__actions{gap:10px;margin-top:24px;display:flex}.tutorial__skip-note{color:#7c8791;margin-top:14px;line-height:1.55}.tutorial__points{text-align:left;gap:8px;width:min(100%,590px);margin:10px auto 0;padding:0;list-style:none;display:grid}.tutorial__points li{color:#aaaead;padding-left:21px;line-height:1.6;position:relative}.tutorial__points li:before{content:"◆";color:#c19a57;font-size:.62rem;position:absolute;top:.13em;left:0}.tutorial__example{border-left:2px solid var(--rn-gold);text-align:left;background:#c79b5311;width:min(100%,610px);margin:18px auto 0;padding:14px 17px}.tutorial__example span{color:#d7b975;letter-spacing:.14em;font-size:.7rem}.tutorial__example p{color:#c8c5be!important;margin:6px 0 0!important;font-size:.9rem!important;line-height:1.65!important}.lobby{min-height:100vh;isolation:isolate;background:#050a10;grid-template-columns:minmax(520px,1fr) minmax(350px,455px);align-items:center;gap:clamp(20px,3vw,54px);min-height:100dvh;padding:124px clamp(28px,5vw,82px) 42px;display:grid;position:relative;overflow:auto}.lobby:before{content:"";z-index:-2;filter:saturate(.78)contrast(1.05);background:linear-gradient(145deg,#15212e,#060c14) 39%/cover no-repeat;position:absolute;inset:0}.lobby:after{content:"";z-index:-1;background:linear-gradient(90deg,#03070c80,#03070c3b 50%,#03070cde 73%),linear-gradient(#03070c7a,#03070cc2);position:absolute;inset:0}.lobby__heading{z-index:3;position:absolute;top:34px;left:clamp(28px,5vw,82px)}.lobby__heading>p{color:#a1a9ae;letter-spacing:.1em;margin:0;font-size:.8rem}.lobby__heading h1{color:#efd39a;font-family:var(--rn-mono);letter-spacing:.28em;text-shadow:0 5px 25px #000;margin:.24rem 0;font-size:clamp(2rem,3vw,3rem)}.lobby__guide-links{gap:16px;margin-top:7px;display:flex}.lobby__guide-links .lobby__leave{color:#db9597;text-decoration-color:#b5484e6b}.lobby__guide-links button:disabled{cursor:wait;opacity:.45}.lobby .rn-seat-ring{--rn-seat-radius:min(25vw, 280px);filter:drop-shadow(0 20px 40px #00000085);width:min(56vw,680px)}.lobby__status{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:linear-gradient(145deg,#090f17f5,#03070ceb);border-radius:7px 7px 18px 18px;padding:clamp(28px,3vw,40px);overflow:hidden}.lobby--host .lobby__status:before{content:"";z-index:0;opacity:.09;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(145deg,#15212e,#060c14) 50%/cover no-repeat;position:absolute;inset:0}.lobby__status h2{color:var(--rn-ivory);text-wrap:balance;margin:0 0 10px;font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.2}.lobby__status>p{color:var(--rn-muted);line-height:1.75}.lobby__mode{border:1px solid var(--rn-border-soft);background:#03080d94;border-radius:9px;margin:-8px -8px 23px;padding:17px}.lobby__mode>p{letter-spacing:.17em;font-size:.7rem;color:#d4b26f!important;margin:0 0 6px!important}.lobby__mode span,.lobby__mode small{color:#a4abb1;line-height:1.6;display:block}.lobby__mode a{color:#e0c080;text-underline-offset:4px;align-items:center;min-height:44px;margin-top:9px;display:inline-flex}.lobby--remote .lobby__mode{border-color:#6891b961}.lobby--hybrid .lobby__mode{border-color:#9b7eb761}.lobby__host{font-size:.82rem;color:#929ba5!important;margin:0 0 10px!important}.lobby__host strong{color:#dfc58f;font-weight:600}.lobby__waiting{border:1px solid var(--rn-border-soft);text-align:center;border-radius:7px;margin:18px 0 0;padding:13px}.lobby__invite{border:1px solid var(--rn-border-soft);background:#03080d9e;border-radius:8px;margin:18px 0 8px}.lobby__invite summary{color:#d5bc89;cursor:pointer;padding:14px 15px}.lobby__invite>div{justify-items:center;gap:12px;padding:4px 15px 17px;display:grid}.lobby__invite img{aspect-ratio:1;border:6px solid #efe9dc;border-radius:7px;width:min(205px,70vw)}.lobby__invite button{border:1px solid var(--rn-border);color:#dbc69d;cursor:pointer;background:#c79b5314;border-radius:999px;min-height:42px;padding:8px 16px}.qr-placeholder{color:#858e98;padding:28px}.role-page,.game-page,.ending,.display{isolation:isolate;position:relative}.role-page{min-height:100vh;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(42px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 24%,#c79b531c,#0000 28%),#050a10;align-content:start;justify-items:center;gap:18px;display:grid}.role-page:before,.game-page:before,.ending:before,.display:before{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.role-page:before{opacity:.2;background:linear-gradient(#03080ea6,#03080ef0),linear-gradient(145deg,#15212e,#060c14) 50%/cover no-repeat}.privacy-warning{color:#9ca5ad;letter-spacing:.12em;text-align:center;margin:0;font-size:.76rem}.role-page>.rn-button{width:min(100%,390px)}.role-page>.game-guide-links,.ending>.game-guide-links{margin-top:-4px}.game-page{min-height:100vh;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(106px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 13%,#c79b531a,#0000 30%),#050a10}.game-page--night{background:radial-gradient(circle at 50% 18%,#18283b,#05080e 62%)}.game-page--night:before{opacity:.11;background:linear-gradient(#03080e73,#03080ed6),linear-gradient(145deg,#15212e,#060c14) 50%/cover no-repeat}.game-page--day:before{opacity:.08;background:linear-gradient(#03080e85,#03080ee6),linear-gradient(145deg,#15212e,#060c14) 50%/cover no-repeat}.game-header{color:#929ba5;justify-content:space-between;align-items:center;gap:14px;max-width:720px;margin:0 auto 22px;display:flex}.game-header__phase{flex:1;gap:2px;min-width:0;display:grid}.game-header__phase>span{letter-spacing:.1em;font-size:.72rem}.game-header strong{color:var(--rn-ivory);font-family:var(--rn-serif);text-overflow:ellipsis;white-space:nowrap;font-size:1.4rem;overflow:hidden}.role-chip{border:1px solid var(--rn-border);color:#d9be88;text-overflow:ellipsis;white-space:nowrap;background:#c79b530f;border-radius:999px;max-width:40vw;padding:8px 13px;font-size:.78rem;overflow:hidden}.role-compass,.remote-town-board,.action-panel,.day-panel,.vote-panel{border-color:var(--rn-border);background:linear-gradient(145deg,#0b121cf2,#03080df2);box-shadow:0 18px 55px #00000059,inset 0 0 30px #c79b5306}.role-compass{border:1px solid var(--rn-border-soft);border-radius:9px;justify-content:space-between;align-items:center;gap:14px;max-width:660px;margin:0 auto 14px;padding:15px 17px;display:flex}.role-compass>div:first-child{gap:5px;min-width:0;display:grid}.role-compass span{color:#caae78;letter-spacing:.1em;font-size:.7rem}.role-compass strong{color:#dad7cf;font-size:.86rem;line-height:1.55}.game-guide-links{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.game-guide-links button{border:1px solid var(--rn-border-soft);color:#ceb581;cursor:pointer;background:#c79b530e;border-radius:999px;min-height:42px;padding:8px 13px;font-size:.74rem}.game-guide-links button:hover{border-color:var(--rn-border);background:#c79b531a}.remote-town-board{border:1px solid #7091b74d;border-radius:10px;max-width:660px;margin:0 auto 14px;padding:14px 15px 9px}.remote-town-board header{color:#c5d6e9;justify-content:space-between;gap:12px;font-size:.8rem;display:flex}.remote-town-board header small{color:#8495a7;text-align:right}.remote-town-board .rn-seat{width:76px;min-height:48px;font-size:.7rem}.remote-town-board .rn-seat__name{max-width:62px}.action-panel,.day-panel,.vote-panel{border-radius:7px 7px 18px 18px;max-width:660px;margin:0 auto;padding:clamp(27px,6vw,48px)}.action-panel h1,.day-panel h1,.vote-panel h1{color:var(--rn-ivory);text-wrap:balance;margin:.36rem 0 1rem;font-size:clamp(2rem,8vw,3.55rem);line-height:1.08}.action-panel>p,.day-panel>p,.vote-panel>p{color:var(--rn-muted);line-height:1.75}.action-panel>.rn-button,.day-panel>.rn-button{width:100%}.seat-choices,.nominee-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin:25px 0;display:grid}.seat-choices button,.nominee-grid button{border:1px solid var(--rn-border-soft);min-height:66px;color:var(--rn-parchment);text-align:left;cursor:pointer;background:linear-gradient(145deg,#161e28e6,#060a10eb);border-radius:7px;grid-template-columns:30px minmax(0,1fr);align-items:center;padding:10px;transition:border-color .18s,background .18s,transform .18s,opacity .18s;display:grid}.seat-choices button:hover:not(:disabled),.nominee-grid button:hover:not(:disabled){border-color:var(--rn-border);transform:translateY(-1px)}.seat-choices button span,.nominee-grid button span{color:#d1b67e;width:26px;height:26px;font-family:var(--rn-mono);border:1px solid #c79b5366;border-radius:50%;place-items:center;font-size:.7rem;display:grid}.seat-choices button strong{overflow-wrap:anywhere}.seat-choices button small{color:#74808a;grid-column:2}.seat-choices button.is-selected{border-color:var(--rn-gold);background:linear-gradient(135deg,#996a2b61,#0f1923f2);box-shadow:inset 0 0 0 1px #eac27040,0 0 26px #c79b531f}.seat-choices button:disabled,.nominee-grid button:disabled{opacity:.3;cursor:not-allowed}.nominee-grid button{overflow-wrap:anywhere;grid-template-columns:30px minmax(0,1fr) auto}.nominee-grid button small{color:#bfa469}.nomination-confirm{border:1px solid var(--rn-border);background:#c79b5311;border-radius:9px;margin:24px 0;padding:20px}.nomination-confirm>p{color:var(--rn-muted);line-height:1.6}.nomination-confirm>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.vote-current{background:#c79b5314;border-radius:7px;padding:11px 13px;color:#dbc69e!important}.vote-actions{grid-template-columns:1fr 1fr;gap:10px;margin:21px 0 13px;display:grid}.vote-actions .rn-button:first-child{color:#f4f4e9;background:linear-gradient(135deg,#667f5e,#2d422f);border-color:#a4c38a80}.vote-actions .rn-button:last-child{color:#f7e4e1;background:linear-gradient(135deg,#79383d,#32151b);border-color:#c7666b7a}.vote-actions .is-active{outline-offset:3px;outline:2px solid #e5c27f;box-shadow:0 0 25px #c79b532e}.cancel-nomination{width:100%;margin-bottom:12px}.on-block{background:#6919202e;border:1px solid #ad414770;border-radius:7px;padding:12px 14px;color:#e0b5b2!important}.slayer-action{background:#57161c29;border:1px solid #9f3b418c;border-radius:9px;margin:24px 0;padding:18px}.slayer-action>p{color:var(--rn-muted)}.slayer-action>.rn-button{width:100%}.evil-intel{background:linear-gradient(135deg,#5c171d47,#050a10eb);border-color:#a43e448c;max-width:660px;margin:0 auto 14px;padding:18px 20px}.evil-intel>p:not(.eyebrow){color:#e1cac7;margin:.7rem 0 0;line-height:1.65}.evil-intel .eyebrow{color:#df9295!important}.inline-waiting{max-width:660px;margin:7vh auto 20px}.night-page{grid-template-rows:auto 1fr;min-height:100vh;padding:24px;display:grid}.night-action{text-align:center;border-radius:45% 45% 14px 14px;place-self:center;width:min(100%,620px);padding:48px}.night-action h1{color:var(--rn-ivory);margin:0 0 14px;font-size:clamp(2rem,6vw,4rem);line-height:1.1}.night-action>p{color:var(--rn-muted);line-height:1.8}.waiting-orbit{border:1px solid #c79b532e;border-radius:50%;width:112px;height:112px;margin:36px auto 8px;animation:9s linear infinite orbit}.waiting-orbit span{background:var(--rn-gold-light);width:8px;height:8px;box-shadow:0 0 20px var(--rn-gold);border-radius:50%;display:block;transform:translate(51px,-4px)}.inline-waiting .night-action{padding:37px 22px}.inline-waiting .waiting-orbit{width:78px;height:78px}.inline-waiting .waiting-orbit span{transform:translate(34px,-4px)}.clue-drawer,.public-log{border:1px solid var(--rn-border-soft);background:#060b12db;border-radius:9px;width:min(100%,660px);max-width:660px;margin:14px auto}.clue-drawer summary,.public-log summary{color:#d8c9aa;cursor:pointer;min-height:52px;padding:15px 18px}.clue-drawer summary{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;list-style:none;display:grid}.clue-drawer summary::-webkit-details-marker{display:none}.clue-drawer summary strong{font-weight:600}.clue-drawer summary strong:before{content:"▸";color:#bd9856;margin-right:8px;transition:transform .16s;display:inline-block}.clue-drawer[open] summary strong:before{transform:rotate(90deg)}.clue-drawer summary span{min-width:28px;color:var(--rn-gold-light);text-align:center;background:#c79b5324;border-radius:999px;padding:2px 8px}.clue-drawer summary small{color:#7c8792;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;overflow:hidden}.clue-drawer[open] summary{border-bottom:1px solid var(--rn-border-soft)}.clue-timeline{padding:8px 18px 18px}.clue-timeline__group{text-align:left;padding:10px 0 2px 18px;position:relative}.clue-timeline__group:before{content:"";background:linear-gradient(#c79b537a,#c79b530f);width:1px;position:absolute;top:18px;bottom:-14px;left:3px}.clue-timeline__group:last-child:before{bottom:20px}.clue-timeline__group h3{color:#d7ba79;letter-spacing:.08em;margin:0 0 9px;font-size:.86rem;position:relative}.clue-timeline__group h3:before{content:"";background:#111924;border:1px solid #c59d5b;border-radius:50%;width:8px;height:8px;position:absolute;top:.45em;left:-19px;box-shadow:0 0 12px #c79b5347}.clue-timeline__group ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.clue-entry{background:#ffffff04;border:1px solid #c79b531f;border-radius:7px;padding:11px 12px}.clue-entry>span{color:#8995a2;letter-spacing:.1em;margin-bottom:4px;font-size:.66rem;display:block}.clue-entry p{color:#c0c4c7;margin:0;line-height:1.62}.clue-entry--information{background:#2e527414;border-color:#4f7ea94d}.clue-entry--information>span{color:#93b6d5}.clue-entry--action{background:#c79b530e;border-color:#c79b5347}.clue-entry--action>span{color:#d4b773}.clue-entry--identity,.clue-entry--role_change{background:#6c3a7414;border-color:#914e974d}.clue-entry--identity>span,.clue-entry--role_change>span{color:#c8a1cf}.public-log[open]{padding-bottom:8px}.public-log p{color:#aeb4ba;padding:0 18px;line-height:1.65}.ending{min-height:100vh;text-align:center;background:radial-gradient(circle at 50% 24%,#c79b5326,#0000 31%),#050a10;align-content:start;justify-items:center;min-height:100dvh;padding:14vh 22px 10vh;display:grid}.ending:before{opacity:.09;background:linear-gradient(145deg,#15212e,#060c14) 50%/cover no-repeat}.ending--evil{background:radial-gradient(circle at 50% 24%,#91242b4d,#0000 34%),#050a10}.ending>p:first-of-type{color:var(--rn-gold-light);letter-spacing:.2em}.ending h1{color:var(--rn-ivory);text-wrap:balance;margin:1rem 0;font-size:clamp(2.8rem,11vw,6.2rem);line-height:1}.ending>p{color:#aaada7}.ending .clue-panel{max-width:580px;margin-top:38px;padding:26px}.ending__reveal{max-width:760px;margin:14px auto;padding:23px}.ending__reveal p{color:#d7c8aa;line-height:1.8}.ending>.rn-button{width:min(100%,390px);margin-top:22px}.ending__waiting{max-width:530px;line-height:1.7}.display{height:100vh;background:radial-gradient(circle at 50% 43%,#1c354b8a,#04080d 72%);grid-template:auto minmax(0,1fr) auto/minmax(0,1fr);gap:clamp(10px,1.4vh,20px);height:100dvh;min-height:0;padding:clamp(18px,2vw,48px) clamp(20px,3vw,68px);display:grid;overflow:hidden}.display:before{opacity:.19;background:linear-gradient(#03080e26,#03080ed6),linear-gradient(145deg,#15212e,#060c14) 50%/cover no-repeat}.display__header{z-index:3;color:#cbbd9e;letter-spacing:.1em;text-shadow:0 2px 16px #000;justify-content:space-between;align-items:center;gap:18px;font-size:clamp(.88rem,1.05vw,1.5rem);display:flex}.display__header>div{align-items:center;gap:12px;display:flex}.display__header button{border:1px solid var(--rn-border);color:#d7bd89;cursor:pointer;background:#050a10c7;border-radius:999px;min-height:39px;padding:7px 14px}.display__phase{color:#e1c68f;letter-spacing:.08em;white-space:nowrap;background:#c79b5314;border:1px solid #dab97857;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:6px 13px;display:inline-flex}.display__phase>span{font-size:1.2em;line-height:1}.display__phase--night{color:#bacdeb;background:#45608926;border-color:#7999c761}.display__town{text-shadow:0 2px 16px #000;place-items:center;min-height:0;display:grid;position:relative}.display .rn-seat-ring{--rn-seat-radius:min(30vh,30vw);width:min(72vh,72vw)}.display .rn-seat{border-color:#d2a7599e;width:clamp(104px,7.2vw,210px);min-height:clamp(62px,4.5vw,118px);padding:clamp(6px,.6vw,14px);font-size:clamp(.86rem,1vw,1.5rem)}.display .rn-seat__number{font-size:clamp(.7rem,.8vw,1.2rem)}.display .rn-seat__name{max-width:90%;font-size:inherit}.display__center{text-align:center;max-width:min(46vw,1000px);position:absolute}.display__center p{color:#a4abb2;font-family:var(--rn-serif);letter-spacing:.16em;margin:0;font-size:clamp(1rem,1.35vw,2.2rem)}.display__center h1{color:var(--rn-ivory);text-wrap:balance;margin:.18em 0;font-size:clamp(2.4rem,5vw,7.5rem);line-height:1.03}.display__center small{color:#929ca6;font-size:clamp(.75rem,1.1vw,1.7rem);line-height:1.55}.display--lobby .display__center{width:min(290px,25vw)}.display__join img{border:7px solid #f0ebe0;border-radius:9px;width:clamp(126px,18vh,220px);margin-bottom:12px}.display--lobby .display__join h1{white-space:nowrap;font-size:clamp(2rem,2.7vw,3.2rem)}.display--lobby .display__join small{max-width:270px;margin:0 auto;line-height:1.55;display:block}.display-seat-editor__seat{cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .16s,background .16s,opacity .16s;border-radius:20px!important;width:clamp(112px,8vw,156px)!important;min-height:clamp(72px,5vw,96px)!important}.display-seat-editor__seat:hover,.display-seat-editor__seat:focus-visible{background:#172130;border-color:#d8b86f;outline:none;box-shadow:0 0 0 3px #c79b5326,0 12px 30px #00000061}.display-seat-editor__seat:active{cursor:grabbing}.display-seat-editor__seat.is-dragging{opacity:.3}.display-seat-editor__handle{color:#8f99a3;letter-spacing:.08em;font-size:.66rem}.display__notice{z-index:4;left:50%;bottom:max(18px,env(safe-area-inset-bottom));color:#d8cbae;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:7px;max-width:84vw;padding:clamp(12px,1vw,22px) clamp(20px,2vw,46px);font-size:clamp(.88rem,1vw,1.45rem);position:absolute;overflow:hidden;transform:translate(-50%)}.display__notice--error{color:#efb9b8;border-color:#bd494eb3}.display__village-feed{z-index:3;text-shadow:0 2px 14px #000;background:linear-gradient(100deg,#121821f5,#04080df2);border-color:#c79b534d;border-radius:7px;grid-template-columns:minmax(150px,12vw) minmax(0,1fr);align-items:stretch;gap:clamp(12px,1.6vw,28px);padding:clamp(12px,1.1vw,21px);display:grid;box-shadow:0 16px 44px #00000047}.display__village-feed>header{border-right:1px solid #c79b5333;flex-direction:column;justify-content:center;gap:5px;display:flex}.display__village-feed>header>div{color:#e2c78f;align-items:center;gap:9px;display:flex}.display__village-feed>header>div>span{font-size:1.35rem}.display__village-feed>header strong{font-family:var(--rn-serif);font-size:clamp(.92rem,1.05vw,1.3rem);font-weight:500}.display__village-feed>header small{color:#7d8894;font-size:clamp(.68rem,.7vw,.88rem)}.display__village-feed ol{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(8px,.8vw,14px);min-width:0;margin:0;padding:0;list-style:none;display:grid}.display__village-feed li{border-left:1px solid #808da033;align-content:center;gap:4px;min-width:0;padding:8px clamp(9px,.8vw,15px);display:grid}.display__village-feed li.is-latest{background:linear-gradient(90deg,#c79b5317,#0000);border-left-color:#c99b52}.display__village-feed li>span{color:#7d8995;letter-spacing:.1em;font-size:clamp(.62rem,.64vw,.8rem)}.display__village-feed li.is-latest>span{color:#d6b674}.display__village-feed li p{color:#c9c7c0;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:clamp(.76rem,.8vw,1rem);line-height:1.45;display:-webkit-box;overflow:hidden}.guide-backdrop{z-index:120;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#010307d1;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.guide-sheet{background:linear-gradient(135deg,#080e16f7,#04080dfa);border:1px solid #cda0557a;border-radius:8px 8px 22px 22px;grid-template-rows:auto auto 1fr;width:min(1120px,100%);height:min(850px,100vh - 44px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 110px #000}.guide-sheet:before{content:"";opacity:.06;pointer-events:none;background:linear-gradient(145deg,#15212e,#060c14) 50%/cover no-repeat;position:absolute;inset:0}.guide-sheet>*{z-index:1;position:relative}.guide-sheet__header{border-bottom:1px solid var(--rn-border-soft);justify-content:space-between;align-items:center;padding:19px 25px;display:flex}.guide-sheet__header>div{color:#ddc38f;letter-spacing:.13em;align-items:center;gap:11px;display:flex}.guide-sheet__mark{border:1px solid var(--rn-gold);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.guide-sheet__header>button{color:#9ba4ad;cursor:pointer;background:0 0;border:0;min-height:42px}.guide-tabs{border-bottom:1px solid #c79b531c;gap:4px;padding:9px 22px;display:flex}.guide-tabs button{color:#8d97a1;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:42px;padding:8px 16px}.guide-tabs button.is-active{color:#e2c992;background:#c79b531f}.guide-tutorial,.own-role-guide,.role-compendium{overscroll-behavior:contain;padding:clamp(27px,5vw,64px);overflow:auto}.guide-tutorial{text-align:center;align-content:center;justify-items:center;display:grid}.guide-step-count,.role-compendium__intro p{color:#c8ac71;letter-spacing:.15em;font-size:.72rem}.guide-tutorial__symbol{color:#dcbb78;font-size:3.5rem}.guide-tutorial h1,.own-role-guide h1,.role-compendium__intro h1{color:var(--rn-ivory);text-wrap:balance;margin:16px 0;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.08}.guide-tutorial>p:not(.guide-step-count){color:#c7c3bb;max-width:680px;font-size:1.05rem;line-height:1.9}.guide-tutorial__actions{gap:10px;margin-top:28px;display:flex}.guide-tutorial__actions button,.role-compendium__intro button{border:1px solid var(--rn-border);color:#dfc491;cursor:pointer;background:#c79b5312;border-radius:7px;min-width:110px;min-height:44px;padding:10px 18px}.guide-tutorial__actions button:last-child{color:#070a10;background:#bc9049}.guide-tutorial__actions button:disabled{opacity:.3}.role-alignment{color:#9fb8d1;letter-spacing:.13em}.role-alignment--evil{color:#d59295}.own-role-guide{justify-self:center;width:100%;max-width:780px}.own-role-guide__ability{color:#e2ddd2;font-size:1.25rem;line-height:1.82}.guide-callout{border-left:3px solid var(--rn-gold);background:#c79b5312;margin-top:27px;padding:20px}.guide-callout span{color:#d7ba76;letter-spacing:.15em;font-size:.72rem}.guide-callout p{color:#cbc8c0;margin-bottom:0;line-height:1.8}.guide-callout--quiet{background:#53627814;border-color:#56677b}.role-compendium__intro{justify-content:space-between;align-items:end;gap:20px;display:flex}.role-groups{grid-template-columns:1fr 1fr;gap:18px;display:grid}.role-groups>section{border:1px solid var(--rn-border-soft);background:#ffffff04;border-radius:10px;padding:20px}.role-groups>section>header{justify-content:space-between;align-items:center;display:flex}.role-groups h2{margin:0;font-size:1.5rem}.role-groups>section>header span{color:#8d97a1}.role-groups>section>p{color:#838e98;font-size:.8rem}.role-groups>section>div{gap:7px;display:grid}.role-groups button{color:#ddd7ca;text-align:left;cursor:pointer;background:#03070c7a;border:1px solid #c79b531f;border-radius:7px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;padding:8px;display:grid}.role-groups button:hover{background:#c79b530f;border-color:#c79b537a}.role-index__portrait{background-color:#080c13;background-repeat:no-repeat;background-size:300% 200%;border-radius:6px;width:52px;height:62px;box-shadow:inset 0 0 0 1px #ddc2892e}.role-index__copy{gap:5px;min-width:0;display:grid}.role-index__copy strong{font-family:var(--rn-serif);font-size:1rem}.role-index__copy small{color:#858f99;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-detail{border:1px solid var(--rn-border-soft);background:radial-gradient(circle at 76% 18%,#c79b5317,#0000 36%),#ffffff05;border-radius:9px;grid-template-columns:minmax(250px,42%) 1fr;gap:30px;max-width:920px;padding:0;display:grid;overflow:hidden}.role-detail__portrait{background-color:#080c13;background-repeat:no-repeat;background-size:300% 200%;min-height:450px;box-shadow:inset -25px 0 40px #0305096b}.role-detail__copy{align-self:center;padding:30px 30px 30px 0}.role-detail h2{color:#d5b779;margin:28px 0 8px}.role-detail p{color:#c6c2b9;line-height:1.9}.gramophone{z-index:170;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));justify-items:end;gap:10px;display:grid;position:fixed}.gramophone__toggle{min-height:48px;box-shadow:var(--rn-shadow-sm), inset 0 1px 0 #ffe0a01f;color:#e4c990;cursor:pointer;background:linear-gradient(135deg,#1f160dfa,#070b11fa);border:1px solid #dab9788c;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;display:flex}.gramophone__toggle>span:first-child{border:3px double #d7b36d;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.68rem;animation:8s linear infinite gramophone-spin;display:grid}.gramophone__panel{border:1px solid var(--rn-border);background:#091019;border-radius:10px;width:min(390px,100vw - 36px);overflow:hidden;box-shadow:0 22px 70px #0000009e}.gramophone__panel header{justify-content:space-between;align-items:start;padding:14px 15px 7px;display:flex}.gramophone__panel header div{gap:2px;display:grid}.gramophone__panel header span{color:#d6b676}.gramophone__panel header small,.gramophone__panel p{color:#8995a0;font-size:.76rem}.gramophone__panel header button{color:#d7c7a4;cursor:pointer;background:0 0;border:0;font-size:1.4rem}.gramophone__panel p{margin:0;padding:0 15px 10px;line-height:1.55}.gramophone__panel iframe{background:#091019;border:0;width:100%;height:300px;display:block}.gramophone__panel>a{color:#dfbf82;text-align:center;text-underline-offset:4px;background:#c79b5312;min-height:44px;padding:12px 15px;display:block}.death-reveal{z-index:150;isolation:isolate;text-align:center;background:#03070ceb;place-content:center;justify-items:center;gap:10px;padding:28px;animation:.7s ease-out both death-reveal-in;display:grid;position:fixed;inset:0;overflow:hidden;box-shadow:inset 0 0 170px #000000d6}.death-reveal:before{content:"";z-index:-1;opacity:.44;background:url(/assets/ravens/dawn-death-strip.png) 0/300% no-repeat;animation:7s step-end both ravens-dawn-strip;position:absolute;inset:0}.death-reveal__moon{color:#edcf91;border:1px solid #dfc189a6;border-radius:50%;place-items:center;width:88px;height:88px;font-size:3.6rem;display:grid;box-shadow:0 0 58px #c5994933}.death-reveal p{color:#d9ba7a;letter-spacing:.19em;margin:0}.death-reveal h2{max-width:min(90vw,820px);color:var(--rn-ivory);margin:0;font-size:clamp(2rem,4vw,4.7rem)}.death-reveal strong{color:#efe5d3;max-width:min(90vw,780px);font-size:clamp(1rem,1.5vw,1.5rem);line-height:1.65}.death-reveal small{color:#9fa7af}.death-reveal--player{z-index:40;border:1px solid var(--rn-border);background:linear-gradient(145deg,#1f1116f7,#070a11fa);border-radius:12px;padding:22px;inset:auto 12px 18px;box-shadow:0 20px 60px #0009}.death-reveal--player:before{opacity:.16;background-position:50%;background-size:230%}.death-reveal--player .death-reveal__moon{width:54px;height:54px;font-size:2rem}.death-reveal--player h2{font-size:1.55rem}@media (min-height:900px) and (min-width:1400px){.display .rn-seat-ring{--rn-seat-radius:min(34vh,360px);width:min(82vh,82vw,980px)}}@media (max-width:980px){.lobby{grid-template-columns:minmax(420px,1fr) minmax(320px,390px);padding-left:28px;padding-right:28px}.lobby .rn-seat-ring{--rn-seat-radius:min(25vw,230px);width:min(54vw,580px)}}@media (max-width:820px){.session-status{border-radius:10px;top:10px}.session-status--back{top:auto;bottom:12px}.login-page{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));display:block;overflow:auto}.login-page:after{background:linear-gradient(#03070c73,#03070ce6 46%)}.login-page__art{opacity:.38;background-position:69%;inset:0}.login-panel{background:#04090ed1;margin:12vh auto 4vh;padding:30px 24px}.login-panel .brand{margin-bottom:42px}.home{min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));display:block}.home:before{background-position:68%}.home:after{background:linear-gradient(#03070c29,#03070cbd 41%,#03070cf7 72%)}.home__copy{max-width:100%;padding:41vh 0 6vh}.home__copy:before{margin-bottom:13px}.home__copy h1{max-width:95%;font-size:clamp(3.3rem,15.3vw,5.5rem)}.home__copy>p{color:#c3c7c7;max-width:95%;font-size:.98rem}.home__actions{flex-direction:column;align-items:stretch;margin-top:28px}.home__guides{flex-wrap:wrap}.home__features{gap:9px}.home__features strong{font-size:.84rem}.home__features span{font-size:.65rem}.home__resume>div:nth-child(2){flex-direction:column}.center-page{padding-top:88px;padding-bottom:34px}.form-panel{padding:30px 23px}.form-row,.mode-choice,.play-mode-picker>div{grid-template-columns:1fr}.play-mode-picker button{grid-template-rows:auto auto;grid-template-columns:28px 1fr;column-gap:10px;min-height:94px}.play-mode-picker button>span{grid-row:1/3}.play-mode-picker button small{grid-column:2}.tutorial__panel{min-height:450px;padding:40px 23px}.tutorial__actions{width:100%}.tutorial__actions .rn-button{flex:1;min-width:0}.lobby{padding:154px max(18px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));display:block}.lobby:after{background:linear-gradient(#03070c85,#03070cb8 48%,#03070cf0)}.lobby__heading{left:max(20px,env(safe-area-inset-left))}.lobby .rn-seat-ring{--rn-seat-radius:37vw;width:92vw;margin-bottom:66px}.lobby__status{padding:27px 22px}.center-page,.role-page,.lobby{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.role-compass{flex-direction:column;align-items:flex-start}.role-compass .game-guide-links{justify-content:flex-start;width:100%}.game-page{padding-top:max(14px,env(safe-area-inset-top))}.screen-back--header{padding:7px 10px;font-size:.8rem}.seat-choices,.nominee-grid{grid-template-columns:1fr}.night-action{padding:40px 22px}.remote-town-board .rn-seat-ring{--rn-seat-radius:34vw;width:90vw}.display{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));gap:8px}.display__header{align-items:flex-start}.display__header>div{flex-wrap:wrap;justify-content:flex-end;gap:7px}.display__header>div>span{text-align:right;width:100%}.display__header button{min-height:42px;padding:7px 10px}.display__phase{min-height:32px;padding:4px 9px;font-size:.73rem;width:auto!important}.display .rn-seat-ring{--rn-seat-radius:30vw;width:min(82vh,88vw)}.display .rn-seat{width:74px;min-height:52px;font-size:.76rem}.display__center{max-width:min(76vw,520px)}.display--lobby .display__center{width:min(250px,45vw)}.display__notice{white-space:normal;width:calc(100% - 32px)}.display__village-feed{grid-template-columns:1fr;gap:7px;padding:10px 12px}.display__village-feed>header{border-right:0;flex-direction:row;justify-content:space-between;align-items:center}.display__village-feed>header small{display:none}.display__village-feed ol{grid-template-columns:1fr}.display__village-feed li{padding:6px 8px}.display__village-feed li:not(:first-child){display:none}.guide-backdrop{padding:0}.guide-sheet{border-left:0;border-right:0;border-radius:0;height:100dvh}.guide-sheet__header{padding:calc(10px + env(safe-area-inset-top)) 15px 10px}.guide-tabs{scrollbar-width:none;padding:8px 12px;overflow-x:auto}.guide-tabs button{white-space:nowrap}.guide-tutorial,.own-role-guide,.role-compendium{padding:26px 17px calc(27px + env(safe-area-inset-bottom))}.role-groups{grid-template-columns:1fr}.role-compendium__intro{flex-direction:column;align-items:start}.role-compendium__intro h1{font-size:2.4rem}.role-detail{grid-template-columns:1fr}.role-detail__portrait{min-height:340px;box-shadow:inset 0 -25px 40px #03050973}.role-detail__copy{padding:0 20px 24px}.gramophone{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.gramophone__toggle{justify-content:center;width:48px;padding:7px}.gramophone__toggle>span:last-child{display:none}.gramophone__panel iframe{height:260px}.death-reveal--display h2{font-size:2.4rem}.death-reveal:before{opacity:.26}}@media (max-width:380px){.home__copy{padding-top:37vh}.home__copy h1{font-size:3rem}.form-panel{padding:26px 18px}.lobby{padding-top:144px}.lobby__heading h1{font-size:1.7rem}.lobby__status{padding:23px 18px}.role-page{gap:13px}.privacy-warning{letter-spacing:.07em;font-size:.7rem}.action-panel,.day-panel,.vote-panel{padding:23px 18px}.action-panel h1,.day-panel h1,.vote-panel h1{font-size:2rem}.guide-sheet__header{padding-left:13px;padding-right:13px}.guide-tutorial,.own-role-guide,.role-compendium{padding-left:14px;padding-right:14px}.guide-tutorial__symbol{font-size:2.7rem}.guide-tutorial h1,.own-role-guide h1,.role-compendium__intro h1{font-size:2rem}.guide-tutorial__actions{width:100%}.guide-tutorial__actions button{flex:1;min-width:0}.role-detail__portrait{min-height:250px}.role-detail__copy{padding-left:16px;padding-right:16px}}@media (max-width:820px) and (max-height:720px){.home__copy{padding-top:31vh}.tutorial__panel{min-height:360px;padding-top:28px;padding-bottom:28px}.guide-tutorial__symbol{font-size:2.5rem}.guide-tutorial h1{margin:10px 0}.guide-tutorial>p:not(.guide-step-count){font-size:.94rem;line-height:1.7}.role-detail__portrait{min-height:230px}}@media (prefers-reduced-motion:reduce){.waiting-orbit,.gramophone__toggle>span:first-child,.death-reveal:before{animation:none}.death-reveal:before{background-position:100%}}.lobby:before,.game-page:before,.role-page:before,.ending:before,.display:before{opacity:1!important;background:radial-gradient(at 30% 25%,#bda15d13,#0000 55%),repeating-linear-gradient(90deg,#0000 0 119px,#a9a38c05 120px 121px),linear-gradient(150deg,#182430,#060c14 70%)!important}.lobby--host .lobby__status:before,.guide-sheet:before{background:radial-gradient(at top,#bfa06130,#0000 75%)!important}.game-page{padding-top:calc(28px + env(safe-area-inset-top));padding-bottom:120px}.game-header{max-width:780px}.game-header .role-chip{background:#b4965e12;margin-right:0;font-size:.75rem}.game-header__phase strong{font-family:var(--rn-serif);letter-spacing:.12em;font-weight:400}.game-utility{color:#8898a2;flex-wrap:wrap;justify-content:space-between;gap:10px;max-width:660px;margin:4px auto 18px;font-size:.7rem;display:flex}.game-utility a{color:#c7b586;text-underline-offset:4px}.game-utility>p{color:#d8bf86;background:#baa1590d;border:1px solid #ba925642;width:100%;padding:12px}.game-tabs{background:#060d16b3;border:1px solid #b8975b33;border-radius:7px;grid-template-columns:repeat(3,1fr);max-width:660px;margin:0 auto 18px;padding:5px;display:grid}.game-tabs button{color:#8697a2;cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:46px;font-size:.83rem}.game-tabs button.is-active{color:#e2c58d;background:linear-gradient(135deg,#b491542b,#917f5112);box-shadow:inset 0 0 0 1px #bf9b5c44}.game-tabs button:hover{color:#eed6a6}.action-panel,.day-panel,.vote-panel{border-radius:8px}.action-panel h1,.day-panel h1,.vote-panel h1{font-size:clamp(1.6rem,4vw,2.5rem);font-weight:400}.role-compass{box-shadow:none;background:#0c1722aa;padding:16px 20px}.role-compass strong{font-size:.86rem;font-weight:400;line-height:1.7}.game-guide-links button{font-size:.72rem}.game-page [hidden]{display:none!important}.privacy-toggle{z-index:165;bottom:max(15px,env(safe-area-inset-bottom));color:#cdbc95;cursor:pointer;background:#080e16f5;border:1px solid #b7a16b66;border-radius:24px;min-height:44px;padding:11px 17px;font-size:.75rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #0008}.privacy-curtain{z-index:190;text-align:center;background:radial-gradient(#152331,#060b12 62%);place-content:center;justify-items:center;gap:20px;padding:25px;display:grid;position:fixed;inset:0}.privacy-curtain>span{color:#dfc181;border:1px solid #c09b5b;border-radius:50%;place-items:center;width:105px;height:105px;font-size:3rem;display:grid;box-shadow:0 0 0 10px #c09b5b0d,0 0 0 11px #c09b5b20}.privacy-curtain h1{font:2.2rem var(--rn-serif);margin:10px 0;font-weight:400}.privacy-curtain p{color:#99a5ad;margin:0 0 15px;font-size:.9rem}.privacy-curtain .rn-button{min-width:230px}.remote-town-board{background:radial-gradient(#25323c44,#070e17cc);border-color:#bfa36538;max-width:660px;padding:22px 16px;position:relative;overflow:hidden}.remote-town-board header{color:#ddc998;border-bottom:1px solid #bfa36525;padding:0 5px 15px;font-size:.9rem}.remote-town-board header small{color:#8d9da8;font-size:.7rem}.remote-town-board .rn-seat-ring{--rn-seat-radius:min(31vw,180px);width:min(100%,500px);margin:15px auto 0}.town-instruction{text-align:center;color:#728693!important;margin:3px 0 0!important;font-size:.68rem!important}.rn-seat>button{cursor:pointer;width:100%;min-height:44px;color:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.rn-seat--mine{border-color:#ecd195;box-shadow:0 0 0 3px #b99c5522,0 10px 25px #0006}.rn-seat__ghost{color:#bfc5ca;font-size:.52rem;line-height:1.4}.rn-seat--dead{opacity:.62;filter:grayscale(.9)}.rn-seat--offline:not(.rn-seat--dead){opacity:.65}.rn-seat--dead .rn-seat__name{text-decoration:none}.rn-seat--dead .rn-seat__number:after{content:" · 亡"}.player-public-card{text-align:center;background:#0c1824fa;border:1px solid #c5a66a;border-radius:7px;width:min(290px,85%);padding:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 100px #000}.player-public-card>button{color:#cdbc99;cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;font-size:1.5rem;position:absolute;top:5px;right:7px}.player-public-card>span{font:12px var(--rn-mono);color:#cdbc99}.player-public-card h3{font:1.7rem var(--rn-serif);margin:12px 0}.player-public-card p{line-height:1.7;color:#98aab5!important;font-size:.76rem!important}.ghost-vote-note{background:#7794b414;border-left:2px solid #7794b4;padding:14px;line-height:1.7;color:#b1c0cd!important;font-size:.85rem!important}.slayer-declaration{background:#301e221f;border:1px solid #9c655755;border-radius:7px;max-width:660px;margin:16px auto;padding:20px}.slayer-declaration>summary{color:#d2b3a2;cursor:pointer;font-size:.88rem}.slayer-declaration>p{color:#989999;font-size:.8rem;line-height:1.8}.slayer-declaration>.rn-button{width:100%;margin-top:14px}.vote-panel small{color:#8696a4;margin-top:14px;font-size:.72rem;display:block}.nomination-confirm .rn-button{margin-top:8px}.nominee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nominee-grid button{min-height:58px;font-size:.86rem}.clue-drawer,.public-log{border-color:#b49b6730;border-radius:6px}.clue-drawer summary,.public-log summary{font-weight:400}.clue-drawer summary small{white-space:normal;max-width:100%;line-height:1.65}.clue-entry p{font-size:.86rem;line-height:1.85}.lobby{grid-template-columns:minmax(400px,1fr) minmax(370px,480px);align-items:center}.lobby__status{border-radius:9px;padding:30px}.lobby__mode h2{font-size:1.3rem}.lobby__mode>span{font-size:.83rem;line-height:1.8}.lobby__rules{background:#b49b6710;border-left:2px solid #b49b6740;padding:12px 14px;line-height:1.8;color:#bcb296!important;font-size:.74rem!important}.lobby-player-list{gap:5px;margin:18px 0;padding:0;list-style:none;display:grid}.lobby-player-list li{border-bottom:1px solid #b49b6719;align-items:center;gap:10px;min-height:48px;padding:6px 8px;display:flex}.lobby-player-list li>span{width:24px;height:24px;font:10px var(--rn-mono);color:#c0a267;border:1px solid #b49b6740;border-radius:50%;place-items:center;display:grid}.lobby-player-list strong{flex:1;font-size:.8rem;font-weight:400}.lobby-player-list small{color:#7f8a91;font-size:.66rem}.lobby-player-list small.is-ready{color:#a5bc90}.lobby-player-list li>div{gap:3px;display:flex}.lobby-player-list button{color:#bcab88;cursor:pointer;background:#0b1420;border:1px solid #b49b6740;border-radius:3px;width:32px;min-height:38px}.lobby-player-list button:disabled{opacity:.2}.lobby__status>.rn-button{width:100%;margin-top:10px}.lobby__heading h1{font-family:var(--rn-mono);letter-spacing:.2em;font-weight:400}.lobby__status>h2{font:1.6rem var(--rn-serif)}.lobby__status>p{font-size:.82rem;line-height:1.8}.lobby__invite{font-size:.8rem}.lobby__waiting{text-align:center;color:#a19680!important}.recovery-toggle{color:#bca778;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;min-height:44px;font-size:.78rem;text-decoration:underline}.social-room{background:#0a1520aa;border:1px solid #bfa36538;border-radius:7px;max-width:660px;margin:18px auto 0;padding:22px}.social-room>header{border-bottom:1px solid #bfa36520;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:17px;display:flex}.social-room header p,.effects-preview__private>p{font:10px var(--rn-mono);letter-spacing:.22em;color:#ab915d;margin:0 0 8px}.social-room h2{font:1.65rem var(--rn-serif);margin:0}.social-room header>span{color:#99a48d;font-size:.7rem}.social-room>p{color:#929d9f;font-size:.78rem;line-height:1.8}.social-room__quiet{text-align:center;border:1px dashed #8595a933;border-radius:5px;padding:18px}.whisper-invite-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.whisper-invite-grid>button{text-align:left;color:#d3c8b0;cursor:pointer;background:#121e2999;border:1px solid #b29b6733;border-radius:5px;grid-template-columns:24px 1fr;align-items:center;gap:4px;padding:11px;display:grid}.whisper-invite-grid>button>span{color:#bca368;font:11px var(--rn-mono);grid-row:span 2}.whisper-invite-grid strong{font-size:.77rem;font-weight:400}.whisper-invite-grid small{color:#84959a;font-size:.61rem}.whisper-invite-grid>button:disabled{opacity:.45}.whisper-invitation{background:#b49b6710;border:1px solid #b49b6755;border-radius:5px;margin:10px 0;padding:13px}.whisper-invitation p{font-size:.8rem}.whisper-invitation>div{gap:7px;display:flex}.whisper-invitation .rn-button{min-height:42px;padding:8px 12px;font-size:.75rem}.whisper-room__title{justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}.whisper-room__title strong{font-weight:400}.whisper-room__title button{color:#c1a56b;cursor:pointer;background:0 0;border:0;min-height:44px;font-size:.72rem;text-decoration:underline}.whisper-room ol{flex-direction:column;gap:12px;height:260px;margin:0;padding:15px 4px;list-style:none;display:flex;overflow:auto}.whisper-room li{align-self:flex-start;max-width:85%}.whisper-room li.is-mine{text-align:right;align-self:flex-end}.whisper-room li small{color:#7f949f;font-size:.63rem}.whisper-room li p{white-space:pre-wrap;overflow-wrap:anywhere;background:#152330;border:1px solid #ab92612c;border-radius:6px;margin:4px 0;padding:9px 13px;font-size:.81rem;line-height:1.7}.whisper-room li.is-mine p{background:#a6905220;border-color:#b59b6455}.whisper-room__empty{color:#81929a;margin:auto;font-size:.74rem}.whisper-room form{gap:8px;display:flex}.whisper-room input{color:#dacdb1;background:#08111a;border:1px solid #b49b6744;border-radius:5px;width:100%;min-width:0;padding:11px 13px;font-size:.8rem}.whisper-room form .rn-button{min-width:68px;padding:10px;font-size:.78rem}.device-recovery{border-top:1px solid #b49b6730;margin-top:25px;padding-top:17px}.device-recovery summary{color:#9ca69f;cursor:pointer;font-size:.76rem}.device-recovery p{color:#7f909c;font-size:.75rem;line-height:1.8}.device-recovery strong{font:1.05rem/1.7 var(--rn-mono);letter-spacing:.08em;overflow-wrap:anywhere;word-break:break-all;color:#d9c089;padding:10px 0;display:block}.device-recovery small{color:#a59f8b;font-size:.7rem;display:block}.device-recovery .rn-button{min-height:44px;font-size:.78rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.rn-role-card__portrait,.role-detail__portrait,.role-index__portrait{object-fit:cover;display:block;overflow:hidden}.role-detail__portrait{width:100%;height:100%;min-height:450px}.role-index__portrait{width:52px;height:62px}.rn-role-card{border-radius:6px}.rn-role-card__copy{padding-top:8px}.effects-preview{background:radial-gradient(at 90% 10%,#28343d,#070e17 60%);min-height:100vh;padding:35px max(22px,50vw - 590px) 120px}.effects-preview>header{border-bottom:1px solid #c6a2683a;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;display:flex}.effects-preview>header>a{font:1.1rem var(--rn-serif);color:#d7b97d;letter-spacing:.12em;text-decoration:none}.effects-preview>header>span{color:#7f939d;font-size:.72rem}.effects-preview__intro{max-width:740px;padding:74px 0 52px}.effects-preview__intro>p:first-child{font:10px var(--rn-mono);letter-spacing:.25em;color:#c5a365}.effects-preview__intro h1{font:clamp(2.8rem,5.5vw,5.2rem)/1.28 var(--rn-serif);letter-spacing:.025em;color:#eee4d0;margin:22px 0 32px;font-weight:400}.effects-preview__intro>div{flex-wrap:wrap;gap:9px;display:flex}.effects-preview__intro>div span{color:#c4b799;border:1px solid #a58f5d55;border-radius:20px;padding:7px 13px;font-size:.66rem}.effects-preview__intro>p:not(:first-child){color:#879ca7;max-width:590px;margin:24px 0;font-size:.9rem;line-height:1.85}.effects-preview__intro>label{color:#bbad8f;align-items:center;gap:7px;font-size:.78rem;display:flex}.effects-preview__intro input{accent-color:#ccb075;width:17px;height:17px}.effects-preview__scenarios{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.effects-preview__scenarios>button{text-align:left;cursor:pointer;background:linear-gradient(135deg,#1c2a3522,#09131dd9);border:1px solid #b69a6044;border-radius:6px;flex-direction:column;align-items:flex-start;min-height:220px;padding:25px;transition:background .2s,transform .2s;display:flex}.effects-preview__scenarios>button:hover{background:#baa66b10;border-color:#b99b6899;transform:translateY(-3px)}.effects-preview__scenarios>button>span{color:#c9aa6d;margin-bottom:25px;font-size:2rem;line-height:1}.effects-preview__scenarios strong{font:1.15rem var(--rn-serif);color:#e3d7bf;font-weight:400}.effects-preview__scenarios small{color:#80949d;margin-top:10px;font-size:.72rem;line-height:1.7}.effects-preview__scenarios b{letter-spacing:.1em;color:#bca570;margin-top:20px;font-size:.64rem;font-weight:400}.effects-preview__private{border-top:1px solid #b69a6033;border-bottom:1px solid #b69a6033;margin-top:58px;padding:33px 0}.effects-preview__private h2{font:1.75rem var(--rn-serif);margin:10px 0 23px;font-weight:400}.effects-preview__private>div{flex-wrap:wrap;gap:12px;display:flex}.effects-preview__private .rn-button{font-size:.78rem}.effects-preview__private>small{color:#758c95;margin-top:20px;font-size:.71rem;display:block}.effects-preview__town{max-width:650px;margin:auto;padding-top:40px}.effects-preview__town>p{text-align:center;color:#8ba0a6;letter-spacing:.1em;font-size:.73rem}.effects-preview__town .rn-seat-ring{--rn-seat-radius:min(32vw,220px);width:100%;max-width:600px}@media (max-width:820px){.lobby{flex-direction:column;gap:20px;padding-top:170px;display:flex}.lobby>.rn-seat-ring{--rn-seat-radius:min(35vw,200px);width:min(94vw,540px);margin-bottom:0}.lobby__status{width:100%;max-width:540px;padding:24px 20px}.game-page{padding:calc(18px + env(safe-area-inset-top)) 14px 105px}.game-header .role-chip{padding:6px 9px;font-size:.65rem}.game-header__phase strong{font-size:1.1rem}.game-utility{margin:8px auto 15px;padding:0 5px}.privacy-toggle{padding:10px 13px;font-size:.67rem}.remote-town-board{padding:19px 10px}.remote-town-board .rn-seat-ring{--rn-seat-radius:min(32vw,180px);width:100%;margin:22px 0 10px}.remote-town-board .rn-seat{width:74px;min-height:56px}.remote-town-board .rn-seat__name{font-size:.68rem}.remote-town-board header{font-size:.8rem}.remote-town-board header small{font-size:.64rem}.nominee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.nominee-grid button{gap:6px;padding:10px 8px;font-size:.74rem}.nominee-grid button>span{font-size:.65rem}.nominee-grid small{font-size:.6rem}.game-tabs{margin-bottom:13px}.game-tabs button{font-size:.76rem}.role-detail__portrait{height:360px;min-height:0}.social-room{padding:18px}.effects-preview{padding:24px 20px 100px}.effects-preview__intro{padding:48px 0 35px}.effects-preview__intro h1{font-size:clamp(2.35rem,11vw,3.1rem)}.effects-preview__scenarios{grid-template-columns:repeat(2,1fr);gap:10px}.effects-preview__scenarios>button{min-height:205px;padding:20px 15px}.effects-preview__scenarios strong{font-size:1rem}.effects-preview__scenarios small{font-size:.67rem}.effects-preview__private>div{flex-direction:column}.effects-preview__private h2{font-size:1.5rem}.effects-preview>header>span{font-size:.6rem}.effects-preview__town .rn-seat-ring{--rn-seat-radius:33vw;width:100%}.lobby__heading{top:25px}.lobby__guide-links{gap:12px}}@media (min-width:1100px){.game-page{padding-top:40px}.game-tabs{margin-bottom:22px}.game-utility{margin-top:12px}.display .rn-seat{width:120px;min-height:86px}.display__center h1{font-weight:400}}.lobby-sound{color:#c6b88f;align-items:center;gap:10px;margin:18px 0;font-size:.78rem;display:flex}.lobby-sound input{accent-color:#bd9b5f;width:18px;height:18px}.lobby-sound small{color:#7f929b;margin-top:5px;font-size:.65rem;display:block}.invite-badge{color:#0c1014;width:17px;height:17px;font:10px var(--rn-mono);background:#af8745;border-radius:50%;place-items:center;margin-left:5px;display:inline-grid}.game-utility>p button{color:#d8c79d;cursor:pointer;background:#b59a601a;border:1px solid #b59a6055;border-radius:4px;min-height:40px;margin-top:10px;padding:8px 13px;font-size:.75rem;display:block}.defense-countdown{background:#b39b5a12;border:1px solid #b39b5a33;border-radius:7px;flex-wrap:wrap;align-items:center;gap:15px;margin:18px 0;padding:17px;display:flex}.defense-countdown>span{width:54px;height:54px;font:1.55rem var(--rn-mono);color:#e6cd94;border:1px solid #c1a36788;border-radius:50%;place-items:center;display:grid}.defense-countdown>div{flex:1;min-width:150px}.defense-countdown strong{color:#d5c49e;font-size:.82rem;font-weight:400}.defense-countdown p{color:#8d9ca4!important;margin:6px 0 0!important;font-size:.71rem!important;line-height:1.6!important}.defense-countdown>.rn-button{width:100%;min-height:42px;font-size:.76rem}.vote-procession{gap:6px;margin:20px 0 12px;padding:8px 2px 13px;display:flex;overflow-x:auto}.vote-procession>div{flex:1;justify-items:center;gap:6px;min-width:44px;display:grid;position:relative}.vote-procession>div:not(:last-child):after{content:"→";color:#817956;font-size:10px;position:absolute;top:7px;right:-7px}.vote-procession span{width:35px;height:35px;font:13px var(--rn-mono);color:#8e9aa0;background:#0a131c;border:1px solid #79828a55;border-radius:50%;place-items:center;display:grid}.vote-procession small{color:#6d828d;margin:0;font-size:.56rem}.vote-procession .is-counting span{color:#edcc8c;border-color:#edcc8c;box-shadow:0 0 20px #c8a05355}.vote-procession .is-counting small{color:#d7bd86}.vote-procession .is-counted span{color:#c6ba99;background:#aa924126;border-color:#c8a66b66}.vote-current-seat{text-align:center;color:#dac68f!important;font-size:.78rem!important}.rn-seat--counting{filter:none;opacity:1;border-color:#f0ce89!important;box-shadow:0 0 0 4px #bca56833,0 0 32px #c4a05266!important}.rn-seat--raised{background:radial-gradient(at top,#ba9c5744,#0a1420)}.rn-seat__ballot{white-space:nowrap;color:#d4bb85;font-size:.52rem}.display .rn-seat__ballot{font-size:.68rem}.rn-seat--counting .rn-seat__number{color:#ffe0a0}.rn-seat__hand{background:#152332;border:1px solid #d6b36b;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid;position:absolute;top:-8px;right:-4px;box-shadow:0 0 16px #be9c4855}.display .rn-seat__hand{width:30px;height:30px;font-size:17px}.storyteller-review{text-align:left;background:#0b1520;border:1px solid #b69a6044;border-radius:7px;max-width:660px;margin:20px auto;padding:22px}.storyteller-review summary{color:#d4bd86;cursor:pointer;font-size:.9rem}.storyteller-review>p{color:#81939e;font-size:.76rem;line-height:1.8}.storyteller-review ol{margin:0;padding:0;list-style:none}.storyteller-review li{border-top:1px solid #a8966326;padding:18px 0}.storyteller-review small{color:#9a8d6e;margin-bottom:9px;font-size:.65rem;display:block}.storyteller-review strong{color:#ddd0af;font-size:.87rem;font-weight:400}.storyteller-review li p{color:#94a0a6;margin-bottom:0;font-size:.78rem;line-height:1.85}.rn-role-card__portrait-wrap{aspect-ratio:3/4;width:100%;height:auto;max-height:min(52svh,500px)}.rn-role-card__portrait{object-fit:contain;filter:none;background:#080e13}.rn-role-card__fade{pointer-events:none;height:14%}.rn-role-card{min-height:0}.role-detail__portrait{aspect-ratio:3/4;object-fit:contain;align-self:start;width:100%;height:auto;min-height:0;display:block}.role-index__portrait{object-fit:contain;background:#080e13}.portrait-gallery{background:radial-gradient(at 12% 0,#263039 0,#0000 45%),#080e13;min-height:100vh;padding:30px max(22px,50vw - 640px) 60px}.portrait-gallery__nav{border-bottom:1px solid #b59b643b;justify-content:space-between;align-items:center;gap:20px;padding-bottom:25px;display:flex}.portrait-gallery__nav a{color:#cbb282;font:.85rem var(--rn-serif);letter-spacing:.06em;text-decoration:none}.portrait-gallery__intro{padding:64px 0 44px}.portrait-gallery__intro>p{font:.64rem var(--rn-mono);color:#ae9564;letter-spacing:.22em}.portrait-gallery__intro h1{font:clamp(2.3rem, 4.6vw, 4.4rem)/1.3 var(--rn-serif);letter-spacing:.04em;color:#ece1cc;margin:25px 0;font-weight:400}.portrait-gallery__intro>div{color:#9ca7aa;font-size:.87rem;line-height:1.9}.portrait-gallery__intro>span{color:#c9ae7a;margin-top:27px;font-size:.7rem;display:block}.portrait-gallery__filters{border-top:1px solid #b59b6433;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:18px 0;display:flex}.portrait-gallery__filters button{color:#b4b7b6;cursor:pointer;background:0 0;border:1px solid #b59b6440;border-radius:3px;min-height:42px;padding:9px 20px}.portrait-gallery__filters button[aria-pressed=true]{color:#edcf94;background:#b59b6426;border-color:#bfa064}.portrait-gallery__filters small{color:#7e8c94;margin-left:auto;font-size:.71rem}.portrait-gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px;display:grid}.portrait-gallery__card{color:#e7dbc3;text-align:left;cursor:pointer;background:#10171c;border:1px solid #b59b643b;border-radius:4px;padding:0;transition:border-color .2s;display:block;overflow:hidden}.portrait-gallery__card:hover{border-color:#c7a369}.portrait-gallery__card:focus-visible{outline-offset:4px;outline:2px solid #e9c681}.portrait-gallery__card>img{aspect-ratio:3/4;object-fit:contain;width:100%;height:auto;display:block}.portrait-gallery__card>span{justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.portrait-gallery__card strong{font:1.08rem var(--rn-serif);letter-spacing:.04em;font-weight:400}.portrait-gallery__card small{color:#8c9b9f;font-size:.64rem}.portrait-gallery>footer{color:#718089;border-top:1px solid #b59b642d;justify-content:space-between;gap:20px;margin-top:44px;padding-top:30px;font-size:.72rem;display:flex}.portrait-gallery>footer a{color:#c9ad75;text-decoration:none}@media (max-width:1000px){.portrait-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.role-detail__portrait{height:auto;min-height:0;max-height:480px}}@media (max-width:640px){.portrait-gallery{padding:22px 16px 48px}.portrait-gallery__nav a{font-size:.72rem}.portrait-gallery__intro{padding:40px 0 30px}.portrait-gallery__intro>p{font-size:.5rem}.portrait-gallery__intro>div{font-size:.78rem}.portrait-gallery__filters{gap:6px}.portrait-gallery__filters button{padding:8px 12px;font-size:.72rem}.portrait-gallery__filters small{margin-left:4px}.portrait-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.portrait-gallery__card>span{gap:4px;padding:12px 9px}.portrait-gallery__card strong{font-size:.86rem}.portrait-gallery__card small{font-size:.57rem}}
