:root{--night:#0a1011;--blood:#b72e35}body{background:radial-gradient(ellipse at 70% 5%,#26302b55,transparent 55%),#101716}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #ded1ae;outline-offset:5px}#app:focus{outline:none}.night-hero{min-height:650px}.host-art{height:620px;position:relative;display:flex;justify-content:center;align-items:end}.tobari{width:100%;height:100%;max-width:360px;position:relative;filter:drop-shadow(0 15px 45px #0008)}.moon-halo{position:absolute;top:35px;left:50%;transform:translateX(-50%);border:1px solid #bba77b44;width:320px;height:470px;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 15%,#baad7730,transparent 65%)}.moon-halo:after{content:'';position:absolute;inset:15px;border:1px solid #bba77b1c;border-radius:inherit}.host-name{position:absolute;bottom:0;letter-spacing:.45em;font-size:9px;color:var(--gold)}.host-scene{display:grid;grid-template-columns:minmax(200px,350px) minmax(0,1fr);align-items:center;gap:60px;max-width:1000px;margin:15px auto 50px;min-height:600px}.host-portrait{height:580px;position:relative;background:radial-gradient(ellipse,#bba77b13,transparent 65%)}.host-dialogue{padding:35px 0}.speaker{font-size:12px;letter-spacing:.12em;color:var(--gold);margin:25px 0}.host-lines{font:21px/2.15 var(--serif);white-space:pre-line;min-height:285px}.scene-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px}.chapter-screen{text-align:center;min-height:650px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:45px 0}.chapter-screen h1{font:clamp(48px,8vw,92px)/1.5 var(--serif);letter-spacing:.14em;font-weight:400;margin:28px 0;animation:chapter-in 1.1s ease both}.chapter-rule{height:1px;width:90px;background:var(--gold);margin:25px auto}.chapter-title{font:23px var(--serif);letter-spacing:.1em;color:var(--gold);margin:0 0 20px}.chapter-name{font:14px var(--serif);color:var(--muted);margin:10px 0 45px}.chapter-screen .button{min-width:220px}.chapter-screen .eyebrow{justify-content:center}.new-trial .defendant .prop{font-size:16px;line-height:2;padding:0 12px;overflow-wrap:anywhere}.new-trial .case-title{font-size:36px;line-height:1.6}.new-trial .statement-body{white-space:pre-line}.new-trial .statement h2{font-size:16px;line-height:1.8}.new-trial .statement-summary .statement-body{font-size:17px;line-height:2.25}.new-trial .verdict-panel h2{font:23px/1.9 var(--serif);font-weight:400}.new-trial .choice{display:flex;align-items:baseline;gap:15px;font-size:15px;line-height:1.9;min-height:66px}.option-letter{font:12px Georgia,serif;color:var(--gold);flex-shrink:0}.money-panel{border:1px solid var(--line);background:#bba77b07;padding:23px;margin:25px 0 35px}.money-entry{display:flex;align-items:center;gap:15px}.money-entry input{max-width:220px;font:30px Georgia,serif}.amount-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.amount-presets button{background:transparent;border:1px solid var(--line);padding:10px 13px;color:var(--ink);cursor:pointer}.amount-presets button:hover{border-color:var(--gold)}.other-sentence{border-top:1px solid var(--line);padding:18px 0;color:var(--muted);margin-top:25px}.other-sentence summary{font-size:12px;cursor:pointer;padding:10px 0}.extreme-options{display:flex;gap:12px}.extreme-options button{flex:1;justify-content:center;color:#cc8076}.danger-confirm{background:#8d3037;border-color:#b84d54;color:#fff}.execution{position:relative;min-height:710px;display:grid;grid-template-columns:35% 1fr;gap:35px;align-items:center}.execution-host{height:570px;position:relative;z-index:1;transition:opacity .5s}.execution-dialogue{z-index:2;padding:40px 0}.execution .reading{font:23px/2.2 var(--serif);white-space:pre-line;min-height:190px}.execution .button{display:block;margin-top:25px}.audience{position:absolute;inset:0;display:flex;align-items:end;justify-content:center;gap:15px;opacity:.5;overflow:hidden}.audience i{display:block;width:13%;height:calc(180px + var(--i)*12px);border-radius:50% 50% 0 0;background:#030505;position:relative}.audience i:before{content:'';position:absolute;width:70%;aspect-ratio:.8;border-radius:50%;background:#030505;top:-65px;left:15%;border:1px solid #58625522}.stage-2 .execution-host{opacity:.2}.stage-2 .execution-dialogue{width:100%}#death-words{position:relative;height:0;pointer-events:none;z-index:4}.stage-2 #death-words{height:280px}.death-word{position:absolute;font:clamp(40px,8vw,95px) var(--serif);font-weight:900;color:#ce353b;top:calc(var(--i)*35px);left:calc((var(--i) - 1)*18%);text-shadow:0 0 25px #e0000025;animation:death-hit .25s ease both}.death-final{position:fixed;left:0;top:25vh;width:100%;text-align:center;font:900 clamp(100px,25vw,270px)/1.5 var(--serif);letter-spacing:.2em;color:#c02932;background:#080b0bed;text-shadow:0 0 50px #e0000044;animation:death-hit .3s ease both;z-index:10}.stage-2 .execution-dialogue .button{position:relative;z-index:11}.stage-4 .tobari{animation:recede 1.2s ease both}.banished{text-align:center;min-height:650px;padding:110px 0 50px;animation:appear 1.2s ease}.banished h1{font:50px var(--serif);letter-spacing:.2em;color:#bb454d}.banished .eyebrow{justify-content:center}.execution-sub{font:24px var(--serif);letter-spacing:.2em}.banished .button{margin:40px auto 0}.banished>p{line-height:2.2}.result-transition{text-align:center;font:20px/2.3 var(--serif);padding:35px 0}.page-heading{font:34px/1.8 var(--serif);font-weight:400}.axis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:35px 0}.axis-card{padding:22px;border:1px solid var(--line);background:#bba77b05}.axis-card h2{font:18px/1.8 var(--serif);font-weight:400}.axis-card>p:last-child{font-size:11px;line-height:1.9;color:var(--muted)}.axis-track{height:3px;background:#bba77b1c;margin:25px 0 15px}.axis-track span{display:block;height:100%;background:var(--gold)}.section-source{font:11px/1.9 var(--sans)!important;color:var(--muted);margin-top:22px!important}.interpretation-note{font-size:12px;line-height:2;color:var(--muted);padding:20px;border-left:1px solid var(--gold);margin:30px 0}.share-name{display:block;font-size:12px;color:var(--muted);margin-bottom:20px}.personality-page .profile-section .form-note{display:block;margin-top:18px}.research a{color:var(--gold)}.research li{margin-bottom:12px}@keyframes chapter-in{from{opacity:0;letter-spacing:.3em;filter:blur(4px)}to{opacity:1;letter-spacing:.14em;filter:blur(0)}}@keyframes death-hit{from{opacity:0;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes recede{to{transform:scale(.75);opacity:.25}}@media(max-width:850px){.host-scene{gap:25px;grid-template-columns:220px 1fr}.host-portrait{height:480px}.host-lines{font-size:18px}.host-art{height:560px}.moon-halo{width:260px}.scene-controls{flex-wrap:wrap}.execution{gap:15px}}@media(max-width:600px){.night-hero{min-height:620px}.night-hero .hero-text{pointer-events:none}.night-hero .hero-text button{pointer-events:auto}.host-art{position:absolute;right:-30px;top:55px;width:65%;height:480px;opacity:.6;pointer-events:none}.host-art .tobari{max-width:none}.host-name{display:none}.moon-halo{width:200px;height:360px;top:20px}.night-hero .lead{font-size:25px}.night-hero .body-copy{font-size:13px;line-height:2.1}.host-scene{display:block;margin:0 auto;min-height:600px;position:relative}.host-portrait{position:absolute;right:-25px;top:-20px;width:185px;height:335px;opacity:.45;pointer-events:none}.host-dialogue{position:relative;padding-top:115px}.host-lines{font-size:18px;line-height:2.15;min-height:300px;text-shadow:0 1px 8px #101716}.host-dialogue .eyebrow{max-width:55%}.host-dialogue .speaker{font-size:11px}.scene-controls .button{width:100%}.scene-controls{gap:10px}.chapter-screen{min-height:calc(100svh - 200px)}.chapter-screen h1{font-size:49px;letter-spacing:.1em}.chapter-title{font-size:21px}.chapter-name{font-size:12px;line-height:2}.new-trial .case-title{font-size:28px}.new-trial .defendant .prop{font-size:13px;left:10px;bottom:22px;text-align:left;max-width:65%;padding:0}.new-trial .statement h2{font-size:14px}.new-trial .statement-summary .statement-body{font-size:16px;line-height:2.2}.new-trial .verdict-panel h2{font-size:21px}.new-trial .choice{font-size:14px;padding:17px 14px}.money-panel{padding:18px}.amount-presets{gap:7px}.amount-presets button{font-size:12px}.axis-grid{grid-template-columns:1fr}.page-heading{font-size:27px}.execution{display:block;min-height:710px}.execution-host{position:absolute;top:0;right:-25px;width:190px;height:350px;opacity:.4}.execution-dialogue{padding-top:140px}.execution .reading{font-size:20px;min-height:230px;text-shadow:0 2px 8px #000}.death-word{left:calc(var(--i)*12%)}.death-final{top:30vh;font-size:32vw}.stage-2 #death-words{height:240px}.audience{gap:4px}.audience i:before{top:-32px}.result-transition{font-size:17px}.banished{padding-top:80px;min-height:600px}.banished h1{font-size:40px}}

/* Keep the exit control above the fixed death title and within the viewport. */
.execution-controls{position:sticky;bottom:16px;z-index:20;display:flex;align-items:center;gap:15px;background:#101716ed;padding:12px;border:1px solid #bba77b33}.execution-controls .button{margin:0 0 0 auto;min-width:150px}.execution-controls .text-skip{margin:0}.execution-hint{position:relative;z-index:20;font-size:11px;color:var(--muted);line-height:1.8}.execution-dialogue{position:relative}.execution #death-words,.execution #death-words *{pointer-events:none}.execution .death-final{z-index:5}@media(max-width:600px){.execution-controls{bottom:10px;gap:8px}.execution-controls .button{min-width:120px;padding:14px 17px}.execution-controls .text-skip{font-size:11px}}

.resume-scroll{position:fixed;right:16px;bottom:18px;z-index:25;background:#202a26f5;border:1px solid var(--gold);border-radius:3px;color:var(--ink);font-size:12px;padding:13px 16px;box-shadow:0 5px 25px #0007;cursor:pointer}

.advertisement{max-width:1100px;margin:48px auto 28px;padding:28px 0 12px;border-top:1px solid var(--line);text-align:center}.advertisement-label{margin:0 0 14px;font-size:10px;letter-spacing:.15em;color:var(--muted)}.advertisement-slot{min-height:100px;display:flex;justify-content:center;align-items:center}@media(max-width:600px){.advertisement{margin:40px 0 24px;padding-top:24px}}
