:root{--ink:#efe3c8;--ink-dim:#b9ab8e;--gold:#d3ad62;--gold-hi:#f2d38e;--gold-dim:#8c6d3a;--blood:#c0503c;--parchment:#e9dcc0;--parchment-ink:#2a1d12;--panel-top:#0c0a08b8;--panel-bottom:#080706f0;--display:"IM Fell English SC", "IM Fell English", Georgia, serif;--hand:"IM Fell English", Georgia, serif;--serif:"Alegreya", Georgia, "Times New Roman", serif;--text:clamp(14px, 3.4vh, 21px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--serif);background:#07080b;margin:0;overflow:hidden}body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}#stage,#stage canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#stage:after{content:"";pointer-events:none;background:radial-gradient(at 50% 45%,#0000 52%,#00000094 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");position:fixed;inset:0}#ui{pointer-events:none;z-index:2;position:fixed;inset:0}#ui>*{pointer-events:auto}button{font:inherit;color:inherit}input{font:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.fray{--u:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 calc(var(--u) * 5vmin) calc(var(--u) * 1.6vmin) rgba(246, 241, 229, calc(var(--u) * .17));transition:box-shadow 2.4s;position:fixed;inset:0}.dlg{z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 2.2vh);background:linear-gradient(to bottom, var(--panel-top), var(--panel-bottom));cursor:pointer;border:1px solid #d3ad6273;grid-template-columns:auto minmax(0,1fr);gap:clamp(10px,2vw,22px);width:min(1120px,94vw);max-height:52vh;padding:clamp(12px,2.6vh,24px) clamp(16px,3vw,34px);animation:.36s ease-out rise;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 18px 60px #0000008c,inset 0 0 0 1px #0009,inset 0 0 40px #d3ad620f}.dlg:before,.dlg:after{content:"";border:1px solid var(--gold);pointer-events:none;width:26px;height:26px;position:absolute}.dlg:before{border-bottom:0;border-right:0;top:-5px;left:-5px}.dlg:after{border-top:0;border-left:0;bottom:-5px;right:-5px}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.dlg-portrait{aspect-ratio:3/4;border:1px solid var(--gold-dim);background:#1a1612 50% 18%/cover no-repeat;width:clamp(64px,18vh,138px);max-width:100%;box-shadow:inset 0 0 18px #000000b3,0 0 0 3px #00000080}.dlg-body{align-content:start;gap:.45em;min-width:0;display:grid;overflow-y:auto}.dlg-portrait[hidden]+.dlg-body{grid-column:1/-1}.dlg-name{font-family:var(--display);color:var(--gold);font-size:calc(var(--text) * 1.05);letter-spacing:.06em}.dlg-text{font-size:var(--text);text-wrap:pretty;max-width:72ch;margin:0;line-height:1.5}.dlg.is-narration .dlg-text{color:#f3e7cc;font-style:italic}.dlg.is-think .dlg-text{color:#e2b9ad;letter-spacing:.01em}.dlg-hint{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);opacity:.7;font-size:12px;animation:2.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.dlg-choices{gap:2px;margin:.3em 0 0;padding:0;list-style:none;display:grid}.choice{text-align:left;width:100%;font-size:var(--text);cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:.25em .6em;padding:.5em .7em;line-height:1.4;transition:background .16s,color .16s,padding .16s;display:flex}.choice:hover,.choice:focus-visible{color:#fff6df;background:linear-gradient(90deg,#d3ad622e,#0000 80%);padding-left:1em}.choice-n{color:var(--gold);font-family:var(--display);min-width:1.4em}.choice-check{font-family:var(--display);white-space:nowrap;background:#d3ad6214;border:1px solid #d3ad6280;align-items:center;gap:.4em;padding:.05em .5em;font-size:.82em;display:inline-flex}.check-die{fill:none;width:1.1em;height:1.1em;stroke:var(--gold);stroke-width:1.3px;stroke-linejoin:round;flex:none}.check-skill{color:var(--gold);letter-spacing:.04em}.check-odds{font-family:var(--serif);color:var(--ink-dim);font-style:italic}.choice-check.is-good .check-odds{color:var(--gold-hi)}.choice-check.is-even .check-odds{color:#e2b872}.choice-check.is-long .check-odds{color:#dc8a74}.choice-label{flex:18em}.choice.is-black-letter .choice-label{font-family:var(--hand);color:#d98b7c;font-style:italic}.choice.is-black-letter .choice-n{color:#b0493a}.choice-blot{background:#6e1c14;border-radius:48% 52% 44% 56%/55% 45% 58% 42%;flex:none;align-self:center;width:.9em;height:.8em;transform:rotate(-12deg);box-shadow:.18em .1em 0 -.08em #6e1c14,-.12em .2em 0 -.12em #6e1c14}.choice.is-black-letter:hover,.choice.is-black-letter:focus-visible{background:linear-gradient(90deg,#96281e47,#0000 80%)}.dice{z-index:8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#0a08068c,#000000e6);place-items:start center;padding-top:clamp(6px,3.5vh,36px);animation:.26s ease-out fade;display:grid;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.dice-card{text-align:center;justify-items:center;gap:1vh;width:min(760px,96vw);max-height:100%;padding:2vh 4vw;display:grid;overflow-y:auto}.dice-goal{font-family:var(--display);color:var(--gold);letter-spacing:.04em;text-wrap:balance;margin:0;font-size:clamp(20px,5vh,36px);font-weight:400;line-height:1.1}.dice-skill{color:var(--ink-dim);margin:0;font-size:clamp(13px,2.6vh,17px);font-style:italic}.dice-stakes{flex-wrap:wrap;justify-content:center;gap:.5em .8em;display:flex}.stake{border:1px solid;gap:.1em;min-width:11em;max-width:21em;margin:0;padding:.35em .85em;font-size:clamp(13px,2.6vh,16px);transition:opacity .4s,transform .4s,box-shadow .4s;display:grid}.stake b{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:.78em;font-weight:400}.stake-win{background:#d3ad6214;border-color:#d3ad628c}.stake-win b{color:var(--gold)}.stake-lose{background:#c0503c17;border-color:#c0503c99}.stake-lose b{color:var(--blood)}.stake.is-chosen{transform:scale(1.06);box-shadow:0 0 22px #d3ad6266}.stake-lose.is-chosen{box-shadow:0 0 22px #c0503c73}.stake.is-dim{opacity:.3}.stake-note{color:var(--ink-dim);flex-basis:100%;margin:0;font-size:clamp(11px,2.2vh,14px)}.dice-tray{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;gap:3vw;padding:0;display:flex}.dice-tray:disabled{cursor:default}.dice-tray:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.die{aspect-ratio:1;filter:drop-shadow(0 14px 26px #000c);width:clamp(130px,36vh,280px);transition:opacity .5s,transform .5s,filter .5s}.die.is-dropped{opacity:.35;filter:grayscale();transform:scale(.8)}.die-canvas{width:100%;height:100%;display:block}.dice-card:not(.is-rolling):not(.is-success):not(.is-failure) .die{animation:2.6s ease-in-out infinite die-bob}@keyframes die-bob{50%{transform:translateY(-6px)}}.dice-target{font-family:var(--display);color:var(--ink);letter-spacing:.04em;margin:0;font-size:clamp(18px,4.4vh,30px)}.dice-help{max-width:38em;color:var(--ink-dim);margin:0;font-size:clamp(12px,2.4vh,15px)}.dice-track{grid-template-columns:repeat(20,minmax(0,1fr));gap:2px;width:min(560px,92vw);display:grid}.cell{aspect-ratio:1;font-family:var(--serif);border-radius:3px;place-items:center;font-size:clamp(9px,1.9vh,13px);transition:transform .3s,background .3s,color .3s;display:grid}.cell.is-win{color:var(--gold-hi);background:#d3ad623d}.cell.is-lose{color:#efe3c866;background:#ffffff0d}.cell.is-rolled{z-index:1;font-weight:700;position:relative;transform:scale(1.5)}.cell.is-win.is-rolled{background:var(--gold);color:#1b140d;box-shadow:0 0 12px #f2d38ecc}.cell.is-lose.is-rolled{background:var(--blood);color:#fff1e6;box-shadow:0 0 12px #c0503ccc}.cell.is-other{outline:1px dashed #efe3c88c}.dice-edges{color:var(--ink-dim);margin:0;font-size:clamp(11px,2.1vh,13px)}.dice-odds{font-family:var(--display);letter-spacing:.05em;margin:0;font-size:clamp(14px,3vh,19px)}.dice-odds.is-good{color:var(--gold-hi)}.dice-odds.is-even{color:#e2b872}.dice-odds.is-long{color:#dc8a74}.dice-verdict{font-family:var(--display);letter-spacing:.1em;margin:0;font-size:clamp(22px,6.5vh,46px)}.dice-detail{color:var(--ink);margin:0;font-size:clamp(13px,2.8vh,17px)}.dice-verdict:empty,.dice-detail:empty{display:none}.dice-card.is-rolling :is(.dice-help,.dice-edges,.dice-odds,.dice-stakes){opacity:.4;transition:opacity .3s}.dice-card:is(.is-success,.is-failure) :is(.dice-target,.dice-help,.dice-edges,.dice-odds){display:none}.dice-card.is-success .dice-verdict{color:var(--gold-hi);text-shadow:0 0 24px #d3ad62b3;animation:.42s cubic-bezier(.2,1.6,.4,1) slam}.dice-card.is-failure .dice-verdict{color:var(--blood);animation:.42s cubic-bezier(.2,1.6,.4,1) slam}.dice-card.is-crit .dice-verdict{font-size:clamp(26px,8vh,58px)}@keyframes slam{0%{opacity:0;transform:scale(1.7)}to{opacity:1;transform:scale(1)}}.volume{z-index:15;top:calc(env(safe-area-inset-top,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 12px);opacity:.38;border-radius:999px;flex-direction:row-reverse;align-items:center;gap:8px;padding:3px;transition:opacity .5s,background .3s;display:flex;position:fixed}.volume.is-open{opacity:1;background:#0a08069e}@media (hover:hover){.volume:hover{opacity:1;background:#0a08069e}}.volume-btn{width:34px;height:34px;color:var(--gold);cursor:pointer;background:#0a08068c;border:1px solid #d3ad6280;border-radius:50%;place-items:center;padding:0;display:grid}.volume-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.volume-btn .spk{fill:currentColor}.volume .x,.volume[data-level=mute] :is(.w1,.w2),.volume[data-level=low] .w2{display:none}.volume[data-level=mute] .x{display:inline}.volume-slider{opacity:0;pointer-events:none;width:0;accent-color:var(--gold);margin:0 0 0 6px;transition:width .26s,opacity .2s}.volume.is-open .volume-slider{opacity:1;pointer-events:auto;width:clamp(90px,16vw,140px)}.volume-btn:focus-visible,.volume-slider:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (pointer:coarse){.volume-btn{width:42px;height:42px}}.dice-cta,.btn,.join-cta{font-family:var(--display);letter-spacing:.12em;color:#1a130b;cursor:pointer;background:linear-gradient(#e6c47f,#b88b45);border:1px solid #f1d898;margin-top:.6vh;padding:.55em 2.4em;font-size:clamp(15px,3.6vh,22px);transition:filter .16s,transform .16s,opacity .4s;box-shadow:0 6px 22px #00000073,inset 0 1px #ffffff59}.dice-cta:hover,.btn:hover,.join-cta:hover{filter:brightness(1.1)}.dice-cta:active,.btn:active,.join-cta:active{transform:translateY(1px)}.dice-cta:disabled{opacity:.4;cursor:default;filter:grayscale(.6)}.btn{color:var(--ink);background:#0c0a08b3;border-color:#d3ad6280;padding:.5em 1.2em;font-size:clamp(12px,2.8vh,16px)}.toasts{z-index:6;top:calc(env(safe-area-inset-top,0px) + 2vh);right:calc(env(safe-area-inset-right,0px) + 2vw);pointer-events:none;justify-items:end;gap:8px;display:grid;position:absolute}.toast{font-family:var(--display);letter-spacing:.04em;border-right:2px solid var(--gold);background:#0a0806d6;padding:.45em 1em .45em .8em;font-size:clamp(12px,2.9vh,17px);transition:opacity .6s,transform .6s;animation:.32s ease-out slide;box-shadow:0 6px 20px #00000080}.toast:before{margin-right:.5em}.toast-approve{color:var(--gold-hi)}.toast-approve:before{content:"▲"}.toast-disapprove{color:#e0826d;border-right-color:var(--blood)}.toast-disapprove:before{content:"▼"}.toast-door{color:#cfc3aa;border-right-color:#6e6352}.toast-door:before{content:"✕"}.toast-ribbon{color:var(--ink);border-right:6px solid var(--c,var(--gold))}.toast-ribbon:before{content:"❦";color:var(--c,var(--gold))}.toast-info{color:var(--ink-dim);font-style:italic}.toast.is-out{opacity:0;transform:translate(12px)}@keyframes slide{0%{opacity:0;transform:translate(16px)}}.hud-left{z-index:4;top:calc(env(safe-area-inset-top,0px) + 2vh);left:calc(env(safe-area-inset-left,0px) + 2vw);pointer-events:none;justify-items:start;gap:1.2vh;display:grid;position:absolute}.objective{font-family:var(--hand);color:var(--ink);text-shadow:0 1px 8px #000000f2;max-width:34vw;padding-left:1.1em;font-size:clamp(12px,2.8vh,17px);font-style:italic;position:relative}.objective:before{content:"◆";color:var(--gold);font-style:normal;position:absolute;left:0}.objective.is-new{animation:1.4s ease-out inkin}@keyframes inkin{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.party{gap:10px;display:flex}.party-frame{justify-items:center;gap:3px;transition:transform .3s;display:grid}.party-face{aspect-ratio:1;border:2px solid var(--gold-dim);background:#1a1612 50% 22%/150% no-repeat;border-radius:50%;width:clamp(38px,10vh,62px);transition:border-color .5s,box-shadow .5s;box-shadow:0 4px 14px #0009}.party-frame[data-mood=warm] .party-face{border-color:var(--gold-hi);box-shadow:0 0 14px #f2d38e8c}.party-frame[data-mood=cold] .party-face{filter:saturate(.6);border-color:#6d7f99}.party-name{font-family:var(--display);color:var(--ink);text-shadow:0 1px 6px #000;font-size:clamp(10px,2.3vh,13px)}.party-pips{gap:2px;display:flex}.party-pips i{background:#d3ad6240;border-radius:50%;width:5px;height:5px}.party-pips i.on{background:var(--gold-hi)}.party-frame.is-up{animation:.7s ease-out bob-up}.party-frame.is-down{animation:.7s ease-out bob-down}@keyframes bob-up{30%{transform:translateY(-6px)scale(1.08)}}@keyframes bob-down{30%{filter:sepia()hue-rotate(-30deg)saturate(3);transform:translateY(4px)}}.ribbons{z-index:4;pointer-events:auto;gap:clamp(3px,.6vw,7px);padding:0 12px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.ribbons.is-arriving{animation:1.1s cubic-bezier(.2,1.4,.4,1) drop}@keyframes drop{0%{transform:translate(-50%,-100%)}}.ribbon-rod{background:linear-gradient(#caa35c,#6b4f24);border-radius:0 0 3px 3px;height:4px;position:absolute;top:0;left:0;right:0;box-shadow:0 2px 6px #0009}.ribbon{transform-origin:top;width:clamp(8px,1.1vw,13px);height:clamp(30px,8.5vh,54px);transition:filter .6s,transform .6s,height .6s;position:relative}.ribbon i{background:linear-gradient(to right, #00000040, transparent 40%, #ffffff2e 60%, #0000004d), var(--c);clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000004d}.ribbon[data-state=plain]{filter:saturate(.4)brightness(.72)}.ribbon[data-state=warm]{filter:saturate()brightness()}.ribbon[data-state=warm] i{box-shadow:inset 1px 0 0 var(--gold-hi), inset -1px 0 0 var(--gold-hi)}.ribbon[data-state=bright]{filter:saturate(1.2) brightness(1.18) drop-shadow(0 0 6px var(--gold-hi));transform:translateY(3px)}.ribbon[data-state=bright] i{box-shadow:inset 1px 0 0 var(--gold-hi), inset -1px 0 0 var(--gold-hi)}.ribbon[data-state=bright]:after{content:"";background:var(--gold-hi);width:6px;height:6px;box-shadow:0 0 8px var(--gold-hi);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.ribbon[data-state=frayed]{filter:grayscale(.7)brightness(.8);transform:rotate(4deg)}.ribbon[data-state=frayed] i{clip-path:polygon(0 0,100% 0,100% 58%,70% 64%,100% 70%,100% 100%,50% 86%,0 100%)}.ribbon[data-state=cut]{filter:saturate(.3)brightness(.6);height:clamp(12px,3.2vh,20px)}.ribbon[data-state=cut] i{clip-path:polygon(0 0,100% 0,100% 80%,0 100%)}.ribbon.is-changing{animation:.9s ease-out sway}@keyframes sway{20%{transform:rotate(-9deg)}50%{transform:rotate(6deg)}80%{transform:rotate(-2deg)}}.ribbon.is-pulse{animation:glint .7s ease-out calc(var(--i) * 90ms) 1 both}@keyframes glint{40%{filter:saturate(1.4) brightness(1.6) drop-shadow(0 0 8px var(--c));transform:translateY(5px)}}.ribbon-fall{background:var(--c);clip-path:polygon(0 0,100% 20%,100% 100%,50% 86%,0 100%);height:clamp(26px,7vh,40px);animation:1.5s ease-in forwards fall;position:absolute;top:100%;left:0;right:0}@keyframes fall{to{opacity:0;transform:translate(14px,30vh)rotate(40deg)}}.letterbox{z-index:4;pointer-events:none;position:absolute;inset:0}.letterbox i{background:#000;height:0;transition:height .9s cubic-bezier(.6,0,.2,1);position:absolute;left:0;right:0}.letterbox i:first-child{top:0}.letterbox i:last-child{bottom:0}.letterbox.is-on i{height:10vh}.white-page{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(#fbf7ee,#efe7d6);transition:opacity 2.2s;position:absolute;inset:0}.white-page.is-on{opacity:1}.card{z-index:10;text-align:center;background:#050505;place-content:center;justify-items:center;gap:1.6vh;padding:0 6vw;transition:opacity .8s;animation:.7s cubic-bezier(.1,.9,.2,1) card-in;display:grid;position:absolute;inset:0}.card.is-out{opacity:0}.card-title{font-family:var(--display);letter-spacing:.08em;color:#f2e4c4;text-shadow:0 0 40px #d3ad6240;margin:0;font-size:clamp(34px,12vh,96px);font-weight:400;animation:2.6s cubic-bezier(.1,.9,.2,1) card-title}.card-sub{font-family:var(--hand);color:#d8c9a8;margin:0;font-size:clamp(16px,4.4vh,28px);font-style:italic;animation:1.6s .4s both fade}@keyframes card-in{0%{background:#fff4dc}}@keyframes card-title{0%{letter-spacing:.3em;opacity:0;filter:blur(6px)}25%{opacity:1;filter:blur()}}.tip,.minute,.misspell{z-index:9;position:absolute}.tip{width:min(620px,86vw);color:var(--parchment-ink);cursor:pointer;background:linear-gradient(#efe3c6,#dccaa2);border:1px solid #a4834b;grid-template-columns:auto 1fr;align-items:start;gap:6px 14px;padding:14px 18px;transition:opacity .3s;animation:.42s cubic-bezier(.2,1.3,.4,1) rise-tip;display:grid;top:14vh;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #0009}.tip.is-out{opacity:0}@keyframes rise-tip{0%{opacity:0;transform:translate(-50%,-12px)}}.tip-mark{width:28px;height:28px;font-family:var(--display);color:#f4e3bf;background:#6b3f1d;border-radius:50%;place-items:center;font-size:18px;font-style:italic;display:grid}.tip-text{margin:0;font-size:clamp(14px,3.1vh,18px);line-height:1.45}.tip-ok{font-family:var(--display);letter-spacing:.1em;color:#6b3f1d;grid-column:2;justify-self:end;font-size:14px}.minute{cursor:pointer;background:#0000008c;place-items:center;transition:opacity .45s;animation:.4s fade;display:grid;inset:0}.minute.is-out{opacity:0}.minute-page{width:min(700px,86vw);color:var(--parchment-ink);background:radial-gradient(at 30% 20%,#f3e8cd,#dcc9a0 70%,#c9b181);gap:1.4vh;padding:clamp(18px,5vh,40px) clamp(22px,5vw,48px);display:grid;transform:rotate(-.6deg);box-shadow:0 30px 80px #000000b3,inset 0 0 60px #78501e59}.minute-head{font-family:var(--display);letter-spacing:.3em;color:#7a5424;text-transform:uppercase;font-size:13px}.minute-text{min-height:3em;font-family:var(--hand);margin:0;font-size:clamp(17px,4.2vh,27px);font-style:italic;line-height:1.45}.minute-ok{letter-spacing:.14em;text-transform:uppercase;color:#7a5424;justify-self:end;font-size:12px;animation:2.2s infinite pulse}.misspell{pointer-events:none;place-items:center;display:grid;inset:0}.misspell-word{font-family:var(--hand);color:#1b120b;text-shadow:0 0 1px #000,0 0 24px #fff0d2cc;font-size:clamp(42px,16vh,120px);font-style:italic}.misspell-word span{opacity:0;animation:letter-in .12s calc(var(--i) * .11s) forwards;display:inline-block}@keyframes letter-in{to{opacity:1}}.misspell.is-sliding .misspell-word span{opacity:1;animation:letter-slide 1.6s calc(var(--i) * 90ms) cubic-bezier(.5, 0, .9, .6) forwards}@keyframes letter-slide{to{transform:translate(calc(var(--r) * 1px), 60vh) rotate(calc(var(--r) * 3deg));opacity:0}}.inkwipe{z-index:11;pointer-events:none;background:#0a0705;transition:-webkit-mask-size 1.3s cubic-bezier(.6,0,.8,.4),mask-size 1.3s cubic-bezier(.6,0,.8,.4);position:absolute;inset:0;-webkit-mask:url(/amissing-book/art/slice/sprites/ink-bloom.webp) 50%/4% no-repeat;mask:url(/amissing-book/art/slice/sprites/ink-bloom.webp) 50%/4% no-repeat}.inkwipe.is-on{-webkit-mask-size:900%;mask-size:900%}.inkwipe.is-solid{-webkit-mask:none;mask:none}.screen{z-index:7;opacity:0;align-content:center;place-items:center;gap:2vh;padding:3vh 3vw;transition:opacity .5s;display:grid;position:absolute;inset:0;overflow-y:auto}.screen.is-in{opacity:1}.screen-title{font-family:var(--display);color:var(--gold-hi);letter-spacing:.08em;text-shadow:0 2px 20px #000;margin:0;font-size:clamp(22px,6.5vh,44px);font-weight:400}.creator{background:radial-gradient(#00000040,#000000b3)}.creator-book{width:min(1080px,96vw);max-height:94vh;color:var(--parchment-ink);background:linear-gradient(90deg,#d9c69c,#efe2c4 46%,#b89e6c 50%,#efe2c4 54%,#dac79d);border:1px solid #8a6a3a;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid;box-shadow:0 30px 90px #000000bf}.page{align-content:start;gap:1vh;min-height:0;padding:clamp(10px,2.6vh,26px) clamp(12px,2.4vw,30px);display:grid}.page-left{justify-items:center}.creator-portrait{aspect-ratio:3/4;background:#6d6860 50% 20%/cover no-repeat;border:1px solid #6b4c22;width:min(100%,44vh);max-height:58vh;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #00000073,0 6px 18px #3c1e0059}.creator-quote{font-family:var(--hand);text-align:center;color:#f6e8c6;text-shadow:0 1px 2px #000c;opacity:0;pointer-events:none;background:linear-gradient(#0e080300,#0e0803db 40%);margin:0;padding:2.4em .9em .8em;font-size:clamp(11px,2.4vh,15px);font-style:italic;line-height:1.35;transition:opacity .28s;position:absolute;inset:auto 0 0}.creator-quote.is-on{opacity:1}.creator-minute{min-height:3.2em;font-family:var(--hand);text-align:center;margin:0;font-size:clamp(13px,2.9vh,18px);font-style:italic;line-height:1.4}.creator-title{font-family:var(--display);color:#4a2d10;margin:0;font-size:clamp(18px,4.6vh,30px);font-weight:400}.field{gap:.5vh;display:grid}.field-label{font-family:var(--display);letter-spacing:.12em;color:#7a5424;font-size:clamp(11px,2.4vh,14px)}.faces{grid-template-columns:repeat(8,1fr);gap:5px;display:grid}.face{aspect-ratio:3/4;cursor:pointer;filter:sepia(.25)brightness(.9);background:#6d6860 50% 18%/cover no-repeat;border:2px solid #0000;padding:0;transition:filter .16s,border-color .16s,transform .16s}.face:hover{filter:none;transform:translateY(-2px)}.face.is-on{filter:none;border-color:#8b1d1d;box-shadow:0 0 0 2px #e9d7ab}.name-input{width:100%;font-family:var(--hand);color:var(--parchment-ink);-webkit-user-select:text;user-select:text;background:#fffaeb8c;border:0;border-bottom:1px solid #7a5424;outline:none;padding:.35em .6em;font-size:clamp(16px,3.6vh,22px);font-style:italic}.abilities{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.ability{text-align:left;color:var(--parchment-ink);cursor:pointer;background:#fffaeb66;border:1px solid #b89560;gap:1px;padding:.35em .55em;transition:background .16s;display:grid}.ability b{font-family:var(--display);color:#4a2d10;font-size:clamp(13px,2.9vh,17px);font-weight:400}.ability span{font-size:clamp(10px,2.2vh,13px);line-height:1.25}.ability.is-on{background:#5a3516;border-color:#5a3516}.ability.is-on b,.ability.is-on span{color:#f4e3bf}.creator .dice-cta{justify-self:end}.choosing{background:radial-gradient(#0003,#000000c7)}.doors{flex-wrap:wrap;justify-content:center;gap:clamp(10px,2vw,26px);display:flex}.door{text-align:center;cursor:pointer;border:1px solid #d3ad6259;border-top:6px solid var(--c);background:linear-gradient(#18130ef0,#0a0806f5);justify-items:center;gap:.7vh;width:clamp(180px,26vw,280px);padding:2vh 1.2vw 1.8vh;transition:transform .22s,border-color .22s,box-shadow .22s,opacity .5s;display:grid;box-shadow:0 18px 50px #0009}.door:hover{transform:translateY(-4px)}.door.is-on{border-color:var(--gold-hi);box-shadow:0 0 0 1px var(--gold-hi), 0 0 40px #f2d38e59, 0 18px 50px #0009;transform:translateY(-6px)}.door-crest{filter:drop-shadow(0 8px 16px #000000b3);height:clamp(70px,24vh,190px)}.door-name{font-family:var(--display);color:var(--gold-hi);letter-spacing:.05em;font-size:clamp(17px,4.2vh,26px)}.door-state{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.door-case{color:var(--ink);margin:.4vh 0 0;font-size:clamp(12px,2.8vh,16px);font-style:italic;line-height:1.35}.door-essay{color:var(--ink-dim);font-size:clamp(11px,2.4vh,13px)}.choosing.is-chosen .door:not(.is-on){opacity:.15;transform:scale(.94)}.choosing.is-chosen .door.is-on{transform:scale(1.06)}.masterpiece{background:radial-gradient(#00000040,#000c)}.mp-card{background:linear-gradient(#16110cf2,#090705f7);border:1px solid #d3ad6273;gap:1.6vh;width:min(720px,92vw);padding:2.6vh 3vw;display:grid;box-shadow:0 24px 70px #000000b3}.mp-head{align-items:center;gap:16px;display:flex}.mp-crest{height:clamp(56px,16vh,110px)}.mp-head h2{font-family:var(--display);color:var(--gold-hi);margin:0;font-size:clamp(20px,5vh,32px);font-weight:400}.mp-head p{color:var(--ink-dim);margin:.2em 0 0;font-style:italic}.mp-help{color:var(--ink-dim);margin:0;font-size:clamp(12px,2.8vh,15px)}.mp-step{font-family:var(--display);color:var(--ink);font-size:clamp(15px,3.6vh,21px)}.mp-bar{border:1px solid var(--gold-dim);cursor:pointer;background:linear-gradient(#1c1510,#2a2016);height:clamp(26px,7vh,42px);transition:box-shadow .2s;position:relative;overflow:hidden}.mp-band{background:linear-gradient(90deg,#d3ad6240,#f2d38eb3,#d3ad6240);position:absolute;top:0;bottom:0}.mp-mark{background:#fff3d6;width:4px;margin-left:-2px;position:absolute;top:-4px;bottom:-4px;box-shadow:0 0 10px #fff3d6}.mp-bar.is-good{box-shadow:0 0 0 2px var(--gold-hi), 0 0 24px #f2d38e99}.mp-bar.is-bad{box-shadow:0 0 0 2px var(--blood);animation:.3s shake}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.mp-pips{gap:8px;min-height:14px;display:flex}.mp-pips i{width:12px;height:12px;transform:rotate(45deg)}.mp-pips i.is-good{background:var(--gold-hi);box-shadow:0 0 8px var(--gold-hi)}.mp-pips i.is-bad{background:var(--blood)}.mp-card .dice-cta{justify-self:center}.verdict{font-family:var(--display);color:var(--gold-hi);text-shadow:0 0 40px #f2d38e80,0 4px 20px #000;letter-spacing:.06em;text-align:center;padding:0 4vw;font-size:clamp(30px,11vh,84px);animation:.52s cubic-bezier(.2,1.6,.4,1) slam}.verdict.is-fail{color:#e7b9a6}.verdict.is-just{color:var(--ink)}.join{background:radial-gradient(at 50% 60%,#0000001a,#000000b8)}.join-card{text-align:center;background:linear-gradient(#140f0bed,#080605f5);border:1px solid #d3ad6280;justify-items:center;gap:1.6vh;width:min(860px,94vw);padding:2.6vh 3.2vw;animation:.9s cubic-bezier(.2,1.1,.3,1) rise-card;display:grid;box-shadow:0 30px 90px #000000bf}@keyframes rise-card{0%{opacity:0;transform:translateY(24px)}}.join-kicker{font-family:var(--display);letter-spacing:.14em;color:var(--gold);margin:0;font-size:clamp(13px,3vh,18px)}.join-main{text-align:left;align-items:center;gap:clamp(12px,2.4vw,30px);display:flex}.join-crest{filter:drop-shadow(0 10px 20px #000000b3);height:clamp(90px,30vh,220px)}.join-text h2{font-family:var(--display);color:var(--gold-hi);margin:0 0 .4em;font-size:clamp(20px,5.4vh,36px);font-weight:400;line-height:1.1}.join-text p{margin:0 0 .5em;font-size:clamp(13px,3vh,18px);line-height:1.45}.join-family{color:var(--ink-dim);font-style:italic}.join-cta{padding:.6em 2.2em;font-size:clamp(17px,4.4vh,26px);text-decoration:none;animation:2.8s ease-in-out 1.5s infinite beckon;display:inline-block}@keyframes beckon{50%{box-shadow:0 0 0 6px #f2d38e26,0 0 40px #f2d38e73}}.join-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.join-minute{max-width:60ch;font-family:var(--hand);color:var(--ink-dim);margin:0;font-size:clamp(12px,2.6vh,15px);font-style:italic}.join.is-white{background:0 0}.join.is-white .join-card{color:var(--parchment-ink);background:linear-gradient(#fbf7ee,#efe6d2);border-color:#b8a178}.join.is-white .join-text{text-align:center}.join.is-white .join-text h2,.join.is-white .join-kicker{color:#5a3516}.grid{z-index:9;background:#050403f0}.grid-crafts{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1.2vw,16px);width:min(1100px,96vw);display:grid}.grid-craft{color:var(--ink);border-top:3px solid var(--c);text-align:center;background:#ffffff08;justify-items:center;gap:4px;padding:8px 4px;font-size:clamp(10px,2.4vh,14px);text-decoration:none;transition:background .16s;display:grid}.grid-craft:hover{background:#d3ad621f}.grid-craft img{height:clamp(44px,15vh,110px)}.title{z-index:12;text-align:center;background:radial-gradient(#0000001a,#000000bf);place-content:center;justify-items:center;gap:2.2vh;transition:opacity .9s;display:grid;position:absolute;inset:0}.title.is-out{opacity:0;pointer-events:none}.title h1{font-family:var(--display);letter-spacing:.06em;color:#f4e6c6;text-shadow:0 4px 40px #000000e6,0 0 60px #d3ad6240;margin:0;font-size:clamp(38px,15vh,124px);font-weight:400;line-height:.95;position:relative}.title-word{animation:2.2s ease-out inkin;display:inline-block}.title-strike{transform-origin:0;background:#140d08;border-radius:40% 60% 50% 45%;height:.09em;position:absolute;top:52%;left:-3%;right:-3%;transform:scaleX(0)rotate(-2deg);box-shadow:0 0 2px #000,0 0 18px #000000b3}.title h1.is-struck .title-strike{transition:transform .18s cubic-bezier(.2,.9,.2,1);transform:scaleX(1)rotate(-2deg)}.title h1.is-unstruck .title-strike{transform-origin:100%;transition:transform 1.1s cubic-bezier(.7,0,.3,1);transform:scaleX(0)rotate(-2deg)}.title p{color:var(--ink);text-shadow:0 2px 12px #000000e6;max-width:42ch;margin:0;font-size:clamp(14px,3.6vh,22px);font-style:italic}.title .dice-cta{margin-top:2vh}.title small{color:var(--ink-dim);letter-spacing:.12em;text-transform:uppercase;font-size:11px;transition:opacity .5s}.title .is-gone{opacity:0;pointer-events:none}#rotate{z-index:20;background:#07080b;place-items:center;display:grid;position:fixed;inset:0}.rotate-card{text-align:center;font-family:var(--display);color:var(--gold);justify-items:center;gap:18px;padding:24px;font-size:20px;display:grid}.rotate-icon{border:2px solid var(--gold);border-radius:8px;width:46px;height:78px;animation:2.4s ease-in-out infinite turn}@keyframes turn{40%,60%{transform:rotate(-90deg)}}@media (height<=460px){.dlg{max-height:60vh;padding-block:10px}.dlg-portrait{width:clamp(56px,22vh,96px)}.choice{padding:.28em .6em}.dlg-hint{display:none}.creator-book{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.creator-portrait{max-height:62vh}.creator-minute{font-size:12px}.creator-quote{padding:1.6em .6em .5em}.dice-card{text-align:left;grid-template-columns:auto minmax(0,1fr);justify-items:start;gap:.5vh 4vw;width:min(860px,96vw);padding-block:2vh}.dice-card>*{grid-column:2}.dice-card>.dice-tray{grid-area:1/1/span 12;align-self:center}.die{width:clamp(90px,40vh,170px)}.dice-goal{font-size:clamp(16px,5.4vh,24px)}.dice-stakes{justify-content:flex-start}.stake{min-width:0;padding:.25em .6em}.dice-track{width:100%}.dice-edges{display:none}.page{gap:.6vh}.ability span{display:none}.abilities{grid-template-columns:repeat(6,1fr)}.door{padding:1.4vh 1vw}.door-case{display:none}.join-card{gap:1vh;padding:2vh 3vw}.join-text p{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
