@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
.choice.selected{border-color:var(--gold);background:linear-gradient(150deg,#4a513544,#1d2e29)}
:root{--ink:#0b1011;--paper:#e7e1cf;--muted:#9b9e95;--gold:#c6ad79;--line:#bda47735;--teal:#89cfc0;--red:#b34c48;--serif:'Cinzel',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:5px}button{border:0}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#shell{position:fixed;inset:0;pointer-events:none}#shell button,#shell a,#shell select,#shell input{pointer-events:auto}#masthead{position:absolute;z-index:4;left:4.2%;right:4.2%;top:28px;display:flex;align-items:center;height:40px;gap:30px}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);font-family:var(--serif);letter-spacing:2px;font-size:14px}.wordmark img{width:31px;height:37px}.wordmark b{color:var(--gold);font-weight:400}.edition{padding-left:28px;border-left:1px solid var(--line);font-size:9px;letter-spacing:3px;color:var(--muted)}.quiet{margin-left:auto;background:transparent;font-size:11px;color:#b7b8ae;letter-spacing:.5px}.quiet span{margin-left:17px;font-size:18px}.title-screen{position:absolute;inset:0;overflow:hidden;pointer-events:auto}.title-art{position:absolute;inset:0;background:radial-gradient(ellipse at 77% 30%,#71877e35,transparent 55%),url('./assets/choir-keyart.webp') center/cover}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#090e10 0%,#090e10eb 22%,#090e107d 49%,#090e1010 72%),linear-gradient(0deg,#090e10 0%,transparent 23%,transparent 78%,#090e1070)}.title-content{position:absolute;top:19%;left:8.5%;width:46%;max-width:650px}.eyebrow{font-size:9px;letter-spacing:3.1px;color:var(--gold);display:flex;align-items:center;gap:15px;margin:0 0 26px}.eyebrow span{height:1px;width:35px;background:var(--gold)}h1{font-family:var(--serif);font-weight:400;font-size:clamp(58px,6.5vw,106px);line-height:1.02;letter-spacing:5px;margin:0;text-shadow:0 3px 30px #0009}h1 em{font-style:normal;color:var(--gold);font-size:1.07em;letter-spacing:-10px;margin-left:10px}.subtitle{font-family:var(--serif);letter-spacing:7px;font-size:13px;color:var(--gold);margin:23px 0 30px}.premise{font-size:13px;color:#b7bbb3;line-height:1.9;font-weight:400}.title-actions{margin-top:30px;width:300px;max-width:100%}.primary,.secondary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:0 22px;font-size:12px;letter-spacing:.5px;border:1px solid #b39b68;background:#c6ad79;color:#101512;transition:background .2s,transform .2s}.primary:hover{background:#deca9e;transform:translateY(-1px)}.primary span,.secondary span{font-size:19px}.secondary{background:#111918ba;color:var(--paper);border-color:var(--line);margin-top:10px}.secondary:hover{background:#24322d}.small-actions{display:flex;align-items:center;gap:20px;margin-top:23px}.small-actions button{background:none;font-size:10px;color:#a9b1a9;padding:0;letter-spacing:.4px}.small-actions button:hover{color:var(--gold)}.small-actions i{height:10px;border-left:1px solid var(--line)}.title-meta{display:flex;gap:24px;margin-top:36px;color:#7c8c85;font-size:9px;letter-spacing:.2px}.title-meta b{font-family:var(--serif);font-size:15px;color:#c4c9b9;font-weight:400;margin-right:6px}.art-caption{position:absolute;right:6.5%;bottom:17%;border-left:1px solid #bca57388;padding-left:22px;text-shadow:0 2px 20px #000}.art-caption span{font-size:8px;letter-spacing:3px;color:var(--gold)}.art-caption b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.5;margin:12px 0}.art-caption i{font-size:8px;letter-spacing:2px;color:#b0b5a8;font-style:normal}.title-footer{position:absolute;left:4.2%;right:4.2%;bottom:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#7e8d87;border-top:1px solid #a4b19d20;padding-top:22px}.title-footer span:first-child{font-family:Georgia,serif;font-style:italic;font-size:12px;letter-spacing:.3px}
body.playing #masthead{display:none}#hud{position:absolute;inset:0}.vitals{position:absolute;left:3%;top:29px;width:235px}.stat-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;margin-bottom:10px}.stat-label b{color:#bdbda9;font-size:10px;letter-spacing:.2px;font-weight:500}.bar{height:6px;border:1px solid #9b796856;background:#14191b;padding:1px}.bar i{display:block;height:100%;width:100%;background:var(--red);transition:width .15s}.dash-pips{display:flex;gap:6px;margin-top:10px}.dash-pips i{display:block;width:30px;height:3px;background:#6fcdc0;opacity:.3}.dash-pips i.ready{opacity:1}.dash-pips small{font-size:8px;color:var(--muted);margin-left:8px;letter-spacing:1px}.chapter{position:absolute;top:24px;left:30%;right:30%;text-align:center}.chapter p{font-size:8px;letter-spacing:2.5px;color:var(--gold);margin:0 0 5px}.chapter b{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.6px}.chapter>span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.resources{position:absolute;right:3%;top:25px;display:flex;align-items:center;gap:9px}.resources>span:last-of-type{font-size:8px;letter-spacing:1px;color:var(--muted)}.resources>b{font-family:var(--serif);font-size:25px;font-weight:400}.soul-icon{font-size:26px;color:var(--teal)}#pause{margin-left:25px;background:#19211fee;border:1px solid var(--line);padding:9px 13px}#pause small{font-size:7px;color:var(--muted);margin-left:8px}#boss-bar{position:absolute;top:106px;left:33%;right:33%;text-align:center}#boss-bar>span{font-family:var(--serif);font-size:11px;letter-spacing:2px;color:#d9c8b2;display:block;margin-bottom:6px}#boss-bar .bar{height:7px}#boss-bar .bar i{background:#bc6a58}#toast{position:absolute;top:23%;left:22%;right:22%;text-align:center;font-family:var(--serif);font-size:16px;color:#f3e0b7;opacity:0;transition:opacity .2s;text-shadow:0 2px 5px #000}#toast.show{opacity:1}#action-rail{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;padding:12px 24px;background:linear-gradient(90deg,#10191900,#101919ee 12%,#101919ee 88%,#10191900);border-top:1px solid var(--line)}#abilities{display:flex;gap:9px}.ability{position:relative;width:62px;height:62px;border:1px solid #9f936249;background:#101a1c;color:#eee4cc;padding:7px 0 4px;text-align:center}.ability:hover{border-color:var(--gold)}.ability kbd{position:absolute;right:3px;top:3px;font-size:8px;color:#c2bdab;font-family:var(--sans)}.ability .glyph{display:block;font-size:24px;line-height:30px;color:var(--teal)}.ability small{font-size:7px;letter-spacing:.5px;display:block;color:#c5c3b0}.ability .cooldown{position:absolute;inset:0;background:#0b1011bf;display:grid;place-items:center;font-size:15px;color:var(--gold)}.ability .cooldown:empty{display:none}.ability .cost{position:absolute;left:4px;top:3px;font-size:7px;color:var(--teal)}.legion-count,.run-clock{text-align:center;min-width:72px}.legion-count>span{color:var(--teal);font-size:20px;display:block}.legion-count>b,.run-clock>b{font-family:var(--serif);font-size:17px;font-weight:400}.legion-count small,.run-clock small{display:block;font-size:7px;letter-spacing:1px;color:var(--muted);margin-top:4px}.combat-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:8px;color:#929f96;letter-spacing:.3px}.modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:10;padding:30px}.modal-shade{position:absolute;inset:0;background:#050a0de3;backdrop-filter:blur(6px)}.modal-body{position:relative;max-height:92vh;overflow:auto;max-width:960px;width:100%;border:1px solid var(--line);background:linear-gradient(135deg,#1b2522,#0c1316 75%);padding:45px 50px;box-shadow:0 30px 100px #0008}.modal-body.narrow{max-width:600px}.modal-body:before{content:'';position:absolute;left:18px;top:18px;width:16px;height:16px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}.modal-body h2{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:1px;margin:10px 0 15px}.modal-body p{font-size:12px;line-height:1.9;color:#adb9b0}.modal-body .eyebrow{font-size:8px}.modal-body .close{position:absolute;right:20px;top:17px;background:transparent;font-size:22px;color:var(--muted)}.modal-body .buttons{display:flex;gap:12px;margin-top:28px}.buttons button{width:auto;min-width:160px}.buttons .secondary{margin:0}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.choice{text-align:left;padding:25px 22px 22px;min-height:235px;background:linear-gradient(150deg,#28352f66,#10191b);border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,border-color .2s}.choice:hover{transform:translateY(-5px);border-color:var(--gold)}.choice .glyph{font-size:36px;color:var(--gold);margin-bottom:22px}.choice .category{font-size:8px;letter-spacing:1.5px;color:var(--teal)}.choice b{font-family:var(--serif);font-weight:400;font-size:17px;margin:8px 0}.choice p{font-size:11px;line-height:1.7;margin:0}.choice .choose{font-size:8px;letter-spacing:1px;color:var(--gold);margin-top:auto;padding-top:20px}.difficulty{display:flex;gap:12px;margin:24px 0}.difficulty button{flex:1;padding:18px;text-align:left;background:#142021;border:1px solid var(--line)}.difficulty button.selected{border-color:var(--gold);background:#29372d}.difficulty b{font-family:var(--serif);font-size:15px;font-weight:400;display:block;margin-bottom:7px}.difficulty small{color:var(--muted);font-size:10px;line-height:1.7}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;margin:25px 0}.control-grid div{display:flex;align-items:center;gap:15px;font-size:11px;color:#b7c2ba;border-bottom:1px solid #b0a07015;padding:10px 0}.control-grid kbd{font-family:var(--sans);font-size:10px;padding:6px 8px;border:1px solid var(--line);color:var(--gold);min-width:60px;text-align:center}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.setting input[type=checkbox]{accent-color:var(--teal);width:18px;height:18px}.setting input[type=range]{accent-color:var(--gold);width:140px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.stats b{font-family:var(--serif);display:block;font-size:30px;font-weight:400;color:var(--gold)}.stats small{font-size:8px;letter-spacing:1px;color:var(--muted)}.journey{display:flex;gap:12px;margin:25px 0}.journey div{flex:1;border-top:1px solid var(--line);padding-top:15px}.journey b{font-family:var(--serif);font-weight:400;font-size:12px}.journey p{font-size:10px}.journey span{color:var(--gold);font-size:10px}.note{font-size:10px!important;color:#84968d!important}.loading{position:absolute;inset:0;z-index:20;background:#0b1011;display:grid;place-items:center;font-family:var(--serif);color:var(--gold)}
@media(max-height:780px){.title-content{top:16%}h1{font-size:clamp(58px,6vw,88px)}.eyebrow{margin-bottom:18px}.subtitle{margin:18px 0}.title-actions{margin-top:20px}.title-meta{margin-top:23px}.premise{font-size:12px}.modal-body{padding:30px 40px}.choice{min-height:215px}.art-caption{bottom:16%}}@media(max-width:900px){.title-content{left:7%;width:62%}.title-shade{background:linear-gradient(90deg,#090e10f5,#090e10c0 40%,#090e1020)}.art-caption{display:none}.edition{display:none}.title-meta{gap:14px}.title-footer span:last-child{display:none}.vitals{width:170px}.chapter{left:28%;right:28%}.chapter b{font-size:13px}.resources>span:last-of-type{display:none}#action-rail{gap:10px;padding:10px}.ability{width:51px;height:57px}#abilities{gap:4px}.legion-count,.run-clock{min-width:55px}.run-clock{display:none}.choices{gap:9px}.choice{padding:18px 14px}.modal-body{padding:28px}.modal-body h2{font-size:25px}}@media(max-width:600px){.title-content{width:85%;top:18%}h1{font-size:64px}.title-meta{display:none}.title-footer{font-size:6px}.title-footer span:first-child{font-size:9px}#masthead{top:18px}.wordmark{font-size:11px}.title-actions{width:280px}.modal{padding:12px}.modal-body{max-height:95vh;padding:25px}.choices{grid-template-columns:1fr}.choice{min-height:120px;padding:15px}.choice .glyph{display:none}.choice .choose{padding-top:12px}.control-grid{grid-template-columns:1fr}.vitals{width:110px;top:17px}.stat-label{font-size:7px}.stat-label b{font-size:8px}.chapter{top:15px;left:29%;right:29%}.chapter p{font-size:6px;letter-spacing:1px}.chapter b{font-size:10px}.chapter>span{font-size:7px}.resources{top:15px;gap:5px}.resources>b{font-size:18px}#pause{margin-left:6px;padding:6px}#pause small{display:none}.ability{width:42px;height:53px}.ability small{font-size:6px}.ability .glyph{font-size:22px}.legion-count{display:none}.combat-hint{font-size:7px}.journey{flex-direction:column}.stats b{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
