:root{--ink:#fdf8ec;--ink-muted:#d8d2c2;--panel:#141628d1;--panel-border:#ffffff24;--gold:#f5c542;--gold-dark:#b8860b;--green:#4caf50;--red:#e5484d;--focus:#7dd3fc;--font:"Trebuchet MS", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:#0d0e1a;height:100%;margin:0;overflow:hidden}body{place-items:center;display:grid}.stage{aspect-ratio:480/840;height:min(100dvh,175vw);font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#1b1d33;position:relative;overflow:hidden;container-type:size}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{background-position:50%;background-size:cover;flex-direction:column;align-items:center;gap:3cqh;padding:0 5cqw 5cqh;display:flex;position:absolute;inset:0}.screen--hallway{background-image:url(../assets/images/hallway.png)}.screen--map{background-image:url(../assets/images/map-background.png)}.screen--title{justify-content:space-between}.heading{text-align:center;text-shadow:0 .5cqw 1cqw #000000b3;margin:0;font-size:7cqw}.screen__heading-row{align-self:stretch;align-items:center;gap:3cqw;display:flex}.panel{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4cqw;flex-direction:column;align-items:center;gap:2.5cqh;width:100%;padding:4cqw;display:flex}.notice{text-align:center;min-height:1.2em;color:var(--gold);margin:0;font-size:4.2cqw}.menu{flex-direction:column;align-items:center;gap:2cqh;width:100%;display:flex}.btn{min-width:12cqw;min-height:12cqw;font:inherit;color:#2b1d05;background:linear-gradient(#ffe08a, var(--gold));box-shadow:0 1.2cqw 0 var(--gold-dark);cursor:pointer;border:.6cqw solid #00000059;border-radius:3cqw;justify-content:center;align-items:center;gap:2cqw;padding:2cqw 5cqw;font-size:5.5cqw;font-weight:700;transition:transform 80ms,box-shadow 80ms,opacity .15s;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 .2cqw 0 var(--gold-dark);transform:translateY(1cqw)}.btn:disabled{opacity:.35;cursor:not-allowed}button:focus-visible{outline:1cqw solid var(--focus);outline-offset:.8cqw}.btn--primary{min-width:55cqw}.btn--large{padding:3cqw 6cqw;font-size:7cqw}.btn--secondary{color:var(--ink);background:linear-gradient(#5a5f8c,#3b3f66);box-shadow:0 1.2cqw #23264a}.btn--icon{padding:0;font-size:6cqw}.btn--icon.is-off{opacity:.45;text-decoration:line-through}.btn--round{border-radius:50%}.top-bar{z-index:5;justify-content:space-between;align-self:stretch;align-items:center;padding-top:3cqw;display:flex;position:relative}.top-bar__group{gap:2cqw;display:flex}.top-bar__spacer{width:12cqw}.score{background:#0000008c;border-radius:99px;align-items:center;gap:1.5cqw;padding:1cqw 4cqw 1cqw 1cqw;font-size:6cqw;font-weight:700;display:flex}.score__bag{width:10cqw;rotate:10deg}.sprite{background-position:0 0;background-repeat:no-repeat}.sprite--walk.sprite--row{animation:frames-x .7s steps(var(--frames), jump-none) infinite}.sprite--blink.sprite--row{animation:3s step-end infinite blink-x}.sprite--blink.sprite--column{animation:3s step-end infinite blink-y}@keyframes frames-x{to{background-position-x:100%}}@keyframes blink-x{0%,to{background-position-x:0%}86%{background-position-x:50%}93%{background-position-x:100%}}@keyframes blink-y{0%,to{background-position-y:0%}86%{background-position-y:50%}93%{background-position-y:100%}}.title{width:92cqw;margin:2cqh 0 0}.title__image{width:100%;display:block}.title__troll{filter:drop-shadow(0 2cqw 3cqw #0009);width:68cqw}.avatar-picker{justify-content:space-between;align-items:center;width:100%;display:flex}.avatar-picker__hero{place-items:center;width:60cqw;display:grid}.avatar{width:100%}.avatar-picker__name{margin:0;font-size:6cqw;font-weight:700}.hero-button{border:.6cqw solid var(--gold);cursor:pointer;background:#00000073;border-radius:50%;flex:none;width:14cqw;height:14cqw;padding:1cqw;overflow:hidden}.hero-button__sprite{width:100%}.missions{grid-template-columns:1fr 1fr;gap:4cqw;width:100%;margin-top:4cqh;display:grid}.mission{min-height:20cqw;font-size:9cqw}.mission--add-sub,.mission--mult-div{font-size:8cqw}.mission--all{grid-column:1/-1;font-size:8cqw}.level-map{flex-direction:column;align-items:center;gap:2cqh;width:100%;display:flex}.level-map__grid{grid-template-columns:repeat(3,1fr);gap:1cqh 4cqw;width:100%;display:grid}.castle{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.castle:disabled{opacity:.35;cursor:not-allowed}.castle:not(:disabled):hover .castle__image{transform:scale(1.06)}.castle__image{filter:drop-shadow(0 1cqw 1.5cqw #00000080);width:26cqw;transition:transform .12s}.castle--boss .castle__image{width:30cqw}.castle__number{text-shadow:0 0 1.5cqw #000;font-size:6.5cqw;font-weight:800;position:absolute;top:38%}.castle__stars{color:var(--gold);text-shadow:0 0 1cqw #000;font-size:3.6cqw}.settings{gap:1.6cqh;overflow-y:auto}.field{border:0;width:100%;margin:0;padding:0}.field__legend{color:var(--ink-muted);margin-bottom:1cqh;font-size:4.5cqw;font-weight:700}.chips{flex-wrap:wrap;gap:2cqw;display:flex}.chips--grid{grid-template-columns:repeat(6,1fr);display:grid}.chip{min-width:0;min-height:10cqw;color:var(--ink);background:linear-gradient(#4a4e75,#33365a);padding:1cqw 3cqw;font-size:4.5cqw;box-shadow:0 .8cqw #1f2140}.chip[aria-pressed=true]{color:#2b1d05;background:linear-gradient(#ffe08a, var(--gold));box-shadow:0 .8cqw 0 var(--gold-dark)}.steppers{justify-content:space-between;gap:3cqw;display:flex}.stepper{align-items:center;gap:2cqw;display:flex}.stepper .btn{min-width:10cqw;min-height:10cqw}.stepper__label{font-size:4.5cqw}.stepper__value{text-align:center;min-width:7cqw;font-size:6cqw;font-weight:700}.settings__actions{gap:2cqw;width:100%;display:flex}.settings__actions .btn{flex:1;min-width:0;padding:2cqw;font-size:4.5cqw}.screen--battle{padding:0 4cqw}.battle{position:absolute;inset:0;overflow:hidden}.battle__backdrop{object-fit:cover;width:100%;height:100%;transition:filter .2s;position:absolute;inset:0}.battle.is-hurt .battle__backdrop{filter:sepia()saturate(4)hue-rotate(-40deg)brightness(.55)}.battle__flash{pointer-events:none;background:var(--red);opacity:0;position:absolute;inset:0}.battle.is-hurt .battle__flash{animation:.45s ease-out flash}@keyframes flash{0%{opacity:.55}to{opacity:0}}.troll{filter:drop-shadow(0 2cqw 3cqw #00000080);pointer-events:none;width:100cqw;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)translateY(22cqh)scale(.22)}.knife{z-index:2;pointer-events:none;width:14cqw;position:absolute;top:0;left:0;transform:translate(50cqw,76cqh)translate(-50%,-50%)}.question{z-index:3;text-align:center;text-shadow:0 .4cqw .8cqw #000;background:#0000008c;border-radius:4cqw;min-width:60cqw;padding:1.5cqh 5cqw;position:absolute;top:13cqh;left:50%;translate:-50%}.question__prompt,.question__answer{white-space:nowrap;margin:0;font-size:9cqw;font-weight:800}.question__answer{min-height:1.2em;color:var(--gold)}.question__answer.is-right{color:#8ef59a}.question__answer.is-wrong{color:#ff8f8f}.hint{z-index:3;opacity:0;pointer-events:none;place-items:center;width:30cqw;transition:opacity .3s;display:grid;position:absolute;top:32cqh;left:3cqw}.hint.is-visible{opacity:1}.hint>*{grid-area:1/1}.hint__bubble{width:100%}.hint__text{color:#222;text-shadow:none;margin-top:-4cqw;font-size:8cqw;font-weight:800}.wheel{z-index:4;height:47.5cqw;position:absolute;bottom:0;left:0;right:0}.wheel__disc{aspect-ratio:1;touch-action:none;cursor:grab;width:95cqw;transition:transform .5s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:50%;translate:-50%}.wheel__disc.is-dragging{cursor:grabbing;transition:none}.wheel__art,.wheel__hits{width:100%;height:100%;position:absolute;inset:0}.wheel__wedge{fill:#fff;fill-opacity:0;cursor:pointer}.wheel__glow{fill:#fff2a8;fill-opacity:0;pointer-events:none}.wheel.is-disabled .wheel__disc{filter:brightness(.7);cursor:default}.wheel__turn{border-radius:50%;min-width:11cqw;min-height:11cqw;position:absolute;bottom:3cqw}.wheel__turn--left{left:2cqw}.wheel__turn--right{right:2cqw}.screen--battle>.top-bar{z-index:6}.results{z-index:7;width:86cqw;position:absolute;top:50%;left:50%;translate:-50% -50%}.battle.is-finished>:not(.results,.battle__backdrop){visibility:hidden}.results__avatar{width:32cqw}.results__stars{color:var(--gold);letter-spacing:1cqw;margin:0;font-size:11cqw}.results__tally,.results__best{margin:0;font-size:5cqw}.screen--pets{justify-content:flex-start;gap:1.2cqh}.pet-tabs{flex-wrap:wrap;align-self:stretch;gap:2cqw;display:flex}.pet-tab{flex:1;min-width:20cqw}.pets{flex:1;min-height:0;overflow:hidden auto}.pets__body{flex-direction:column;align-items:center;gap:1cqh;width:100%;padding-bottom:1cqh;display:flex}.pets__name{text-align:center;margin:0;font-size:6.5cqw}.pets__status,.pets__hint{flex:none;min-height:0;line-height:1.35}.pets__actions{gap:2cqw;width:100%;display:flex}.pets__action{flex:1;min-width:0}.pets__name-row{align-items:center;gap:2cqw;display:flex}.pets__draft-name{font-size:6cqw;font-weight:700}.pets__runaway{text-align:center;gap:1.2cqh}.pets__runaway-face{margin:0;font-size:12cqw}.pets__runaway-text{margin:0;font-size:4.6cqw;line-height:1.35}.pen{flex:none;place-items:end center;width:100%;height:22cqh;display:grid;position:relative}.pen:after{content:"";z-index:0;pointer-events:none;background:#00000047;border-radius:50%;width:48cqw;height:5cqh;position:absolute;bottom:4cqh;left:50%;translate:-50%}.pet{z-index:1;width:46cqw;min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;padding:0;transition:none;position:relative}.pet:active:not(:disabled){box-shadow:none;transform:none}.pet__art{width:100%;animation:2.4s ease-in-out infinite dragon-idle;display:block}.pen__floats{z-index:2;pointer-events:none;position:absolute;inset:0}.pen__float{font-size:7cqw;position:absolute;bottom:48%}.pen__bubble{z-index:3;opacity:0;pointer-events:none;text-align:center;background:#0000008c;border-radius:3cqw;max-width:80%;margin:0;padding:1.2cqw 3.5cqw;font-size:4.5cqw;font-weight:700;position:absolute;top:1cqh;left:50%;translate:-50%}.pen__food{z-index:3;pointer-events:none;font-size:10cqw;position:absolute;bottom:18cqh;left:58%}.tummy{background:#00000059;border-radius:99px;width:78%;height:3.2cqw;overflow:hidden}.tummy__fill{border-radius:inherit;background:var(--green);height:100%;display:block}.tummy.is-low .tummy__fill{background:var(--red)}.swatches{justify-content:center}.swatch{border-radius:50%;width:12cqw;min-width:12cqw;min-height:12cqw;padding:0}.swatch.chip[aria-pressed=true]{box-shadow:0 0 0 .7cqw #fff, 0 0 0 1.5cqw var(--gold)}.swatch--green,.swatch--green[aria-pressed=true]{background:#7cb342}.swatch--purple,.swatch--purple[aria-pressed=true]{background:#9b59b6}.swatch--red,.swatch--red[aria-pressed=true]{background:#e74c3c}.swatch--blue,.swatch--blue[aria-pressed=true]{background:#3498db}.dragon{filter:drop-shadow(0 1.2cqw 1.6cqw #00000073);overflow:visible}.dragon--green{--dragon:#7cb342;--dragon-belly:#dcedc8;--dragon-accent:#558b2f;--dragon-wing:#9ccc65;--dragon-wing-far:#689f38}.dragon--purple{--dragon:#9b59b6;--dragon-belly:#ead6f4;--dragon-accent:#6c3483;--dragon-wing:#c39bd3;--dragon-wing-far:#7d3c98}.dragon--red{--dragon:#e74c3c;--dragon-belly:#fadbd8;--dragon-accent:#922b21;--dragon-wing:#f1948a;--dragon-wing-far:#c0392b}.dragon--blue{--dragon:#3498db;--dragon-belly:#d6eaf8;--dragon-accent:#1a5276;--dragon-wing:#85c1e9;--dragon-wing-far:#2e86c1}.dragon__ink{stroke:#2b1d05;stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.dragon__body{fill:var(--dragon)}.dragon__belly{fill:var(--dragon-belly)}.dragon__spike,.dragon__horn{fill:var(--dragon-accent)}.dragon__wing{fill:var(--dragon-wing)}.dragon__wing--far{fill:var(--dragon-wing-far)}.dragon__cheek{fill:#f48fb1;stroke:none}.dragon__dot{fill:#2b1d05;stroke:none}.dragon__shine,.dragon__eye-white{fill:#fff;stroke:none}.dragon__line{fill:none}.dragon__eye{transform-origin:114px 50px;animation:4s step-end infinite dragon-blink}.dragon__wing--near{transform-origin:68px 68px;animation:1.15s ease-in-out infinite dragon-flap}.dragon__wing--far{transform-origin:92px 52px;animation:1.15s ease-in-out infinite reverse dragon-flap}.dragon.is-hungry .dragon__mouth--smile,.dragon.is-hungry .dragon__eye-happy,.dragon:not(.is-hungry):not(.is-happy) .dragon__mouth--frown,.dragon:not(.is-hungry) .dragon__brow,.dragon.is-happy .dragon__eye,.dragon.is-happy .dragon__mouth--frown,.dragon.is-happy .dragon__brow,.dragon:not(.is-happy) .dragon__eye-happy{display:none}@keyframes dragon-idle{50%{transform:translateY(-1.4cqw)}}@keyframes dragon-blink{0%,90%,to{transform:scaleY(1)}92%,96%{transform:scaleY(.08)}}@keyframes dragon-flap{50%{transform:rotate(-14deg)}}@media (prefers-reduced-motion:reduce){.sprite--walk.sprite--row,.sprite--blink.sprite--row,.sprite--blink.sprite--column,.battle.is-hurt .battle__flash,.pet__art,.dragon__eye,.dragon__wing--near,.dragon__wing--far{animation:none}.wheel__disc{transition:none}}
