.session-screen{padding:calc(var(--safe-top) + var(--sp-5)) var(--sp-4) calc(var(--safe-bottom) + var(--sp-6));display:block}.session-screen__inner{max-width:460px;margin:0 auto}.session-card{padding:var(--sp-5) var(--sp-5) var(--sp-6)}.session-card__body{gap:var(--sp-4)}.session-card__emblem{justify-content:center;display:flex}.session-card__title{text-align:center;color:var(--ink);font-size:clamp(1.8rem,7vw,2.4rem)}.session-card__lead{text-align:center;font-size:var(--text-lg)}.session-card__admin{color:var(--ink-2);padding:var(--sp-2);align-self:center;text-decoration:none}.slot-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.slot{align-items:center;gap:var(--sp-3);width:100%;min-height:var(--touch-lg);padding:var(--sp-2) var(--sp-3);border:var(--border-ink);border-radius:var(--radius-hand);background:var(--paper-cream-light);box-shadow:var(--shadow-control);cursor:pointer;text-align:left;display:flex}.slot:active{transform:translateY(1px)}.slot.is-taken{opacity:.5;cursor:not-allowed;box-shadow:none;border-style:dashed}.slot.is-mine{border-color:var(--ok)}.slot__name{font-family:var(--font-title);font-size:var(--text-xl);flex:1}.loading-screen{text-align:center;padding:var(--sp-5);place-items:center;display:grid}.loading-screen__needle{animation:needle-swing 1.8s var(--ease-needle) infinite alternate;transform-origin:50px 50px}@keyframes needle-swing{0%{transform:rotate(-25deg)}to{transform:rotate(35deg)}}@font-face{font-family:IM Fell English;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-latin-400-normal-BhowGHCQ.woff2)format("woff2"),url(/assets/im-fell-english-latin-400-normal-CxhBQSzl.woff)format("woff")}@font-face{font-family:IM Fell English;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-latin-400-italic-DD_ylKHZ.woff2)format("woff2"),url(/assets/im-fell-english-latin-400-italic-hN89MLGX.woff)format("woff")}@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2)format("woff2"),url(/assets/im-fell-english-sc-latin-400-normal-DPW2r_p4.woff)format("woff")}@font-face{font-family:Rye;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rye-latin-400-normal-CnIDrDaJ.woff2)format("woff2"),url(/assets/rye-latin-400-normal-CPBiwIfN.woff)format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kalam-latin-400-normal-BthBl_aR.woff2)format("woff2"),url(/assets/kalam-latin-400-normal-Bl-H2BUA.woff)format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kalam-latin-ext-400-normal-DtcdGa4L.woff2)format("woff2"),url(/assets/kalam-latin-ext-400-normal-AcQmRO9z.woff)format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/kalam-latin-700-normal-D2H-9ISU.woff2)format("woff2"),url(/assets/kalam-latin-700-normal-7TSuSrjP.woff)format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/kalam-latin-ext-700-normal-CwgfRD_T.woff2)format("woff2"),url(/assets/kalam-latin-ext-700-normal-BA-KJHgr.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper-cream:#efe1bf;--paper-cream-light:#f6ecd2;--paper-ochre:#d9b985;--paper-ochre-deep:#b9955c;--paper-shadow:#8a6a3b;--ink:#3a2a18;--ink-2:#6b4a2b;--ink-3:#8c6a44;--ink-faint:#3a2a1859;--graphite:#4a4642;--graphite-faint:#4a464273;--oxide:#9c3b2b;--oxide-deep:#7a2a1e;--player-oxide:#9c3b2b;--player-indigo:#3b4a6b;--player-moss:#5b6b3a;--player-ochre:#b07a2a;--player-plum:#6b3b5a;--player-teal:#3b6b6b;--state-locked:var(--graphite);--state-available:var(--ink-2);--state-discovered:var(--oxide);--state-completed:var(--moss,#5b6b3a);--ok:#4f6b3a;--warn:#a4731f;--danger:#8f2d1f;--font-title:"IM Fell English", "Iowan Old Style", Georgia, serif;--font-sc:"IM Fell English SC", "IM Fell English", Georgia, serif;--font-display:"Rye", "IM Fell English", Georgia, serif;--font-hand:"Kalam", "Bradley Hand", "Segoe Print", cursive;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.5rem;--text-2xl:2rem;--leading-tight:1.15;--leading-body:1.45;--leading-hand:1.55;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-8:48px;--touch:48px;--touch-lg:56px;--radius-hand:255px 15px 225px 15px / 15px 225px 15px 255px;--radius-hand-2:15px 255px 15px 225px / 225px 15px 255px 15px;--radius-soft:6px;--border-ink:2px solid var(--ink);--border-ink-thin:1px solid var(--ink-2);--border-dash:2px dashed var(--ink-2);--shadow-sheet:0 1px 0 #3a2a184d, 0 8px 22px #3a2a1859, 0 24px 48px #3a2a1840;--shadow-control:0 1px 0 #3a2a1866, 0 3px 8px #3a2a184d;--shadow-inset:inset 0 1px 3px #3a2a1859;--tex-grain:url(/textures/paper-grain.png);--tex-stains:url(/textures/stains.png);--tex-vignette:url(/textures/vignette.png);--ease-paper:cubic-bezier(.2, .7, .2, 1);--ease-needle:cubic-bezier(.34, 1.4, .64, 1);--dur-fast:.16s;--dur-med:.32s;--dur-slow:.62s;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--z-map:0;--z-overlay:5;--z-controls:10;--z-sheet:20;--z-modal:30;--z-toast:40}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-med:0s;--dur-slow:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-title);font-size:var(--text-md);line-height:var(--leading-body);color:var(--ink);background:var(--paper-ochre-deep);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;touch-action:manipulation}#root{position:relative;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-title);font-weight:400;line-height:var(--leading-tight);color:var(--ink);margin:0}p{margin:0}button{font:inherit;color:inherit}img{max-width:100%;display:block}a{color:var(--ink-2)}:focus-visible{outline:3px solid var(--oxide);outline-offset:2px}.sc-label{font-family:var(--font-sc);letter-spacing:.08em;text-transform:lowercase;font-variant:small-caps}.hand-text{font-family:var(--font-hand);line-height:var(--leading-hand);color:var(--graphite)}.display-title{font-family:var(--font-display);letter-spacing:.02em}.ink-title{font-family:var(--font-title);font-size:var(--text-xl);letter-spacing:.02em}.muted{color:var(--ink-3)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.paper{background-color:var(--paper-cream);background-image:var(--tex-grain);color:var(--ink);background-size:512px 512px;position:relative}.paper--ochre{background-color:var(--paper-ochre)}.paper--light{background-color:var(--paper-cream-light)}.paper:before{content:"";pointer-events:none;background-image:var(--tex-stains), var(--tex-vignette);opacity:var(--paper-stain-opacity,.45);mix-blend-mode:multiply;border-radius:inherit;background-position:50%;background-size:cover,100% 100%;position:absolute;inset:0}.sheet{color:var(--ink);isolation:isolate;filter:drop-shadow(0 10px 18px #3a2a1873)drop-shadow(0 1px #3a2a1866);position:relative}.sheet__paper{z-index:-1;background-color:var(--paper-cream);background-image:var(--tex-stains), var(--tex-grain);background-blend-mode:multiply, normal;clip-path:polygon(var(--torn-polygon,0 0, 100% 0, 100% 100%, 0 100%));background-size:cover,512px 512px;position:absolute;inset:0}.sheet__paper:after{content:"";background-image:var(--tex-vignette);opacity:.5;mix-blend-mode:multiply;background-size:100% 100%;position:absolute;inset:0}.ink-button{appearance:none;justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--touch);padding:0 var(--sp-4);border:var(--border-ink);border-radius:var(--radius-hand);background:var(--paper-cream);background-image:var(--tex-grain);box-shadow:var(--shadow-control);font-family:var(--font-title);font-size:var(--text-md);letter-spacing:.02em;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--dur-fast) var(--ease-paper), box-shadow var(--dur-fast) var(--ease-paper);display:inline-flex}.ink-button:active{box-shadow:var(--shadow-inset);transform:translateY(1px)}.ink-button:disabled{opacity:.55;cursor:not-allowed}.ink-button--primary{background-color:var(--ink);color:var(--paper-cream-light);border-color:var(--ink)}.ink-button--accent{background-color:var(--oxide);color:var(--paper-cream-light);border-color:var(--oxide-deep)}.ink-button--ghost{border:var(--border-dash);box-shadow:none;background:0 0}.ink-button--icon{width:var(--touch);min-width:var(--touch);border-radius:50%;padding:0}.ink-button--lg{min-height:var(--touch-lg);font-size:var(--text-lg)}.ink-button--sm{min-height:36px;font-size:var(--text-sm);padding:0 var(--sp-3)}.ink-button--danger{border-color:var(--danger);color:var(--danger)}.ink-input,.ink-select,.ink-textarea{appearance:none;width:100%;min-height:var(--touch);padding:var(--sp-2) var(--sp-3);border:var(--border-ink-thin);border-radius:var(--radius-hand-2);background:var(--paper-cream-light);box-shadow:var(--shadow-inset);font-family:var(--font-hand);font-size:var(--text-lg);color:var(--graphite)}.ink-textarea{resize:vertical;min-height:120px;line-height:var(--leading-hand)}.ink-input::placeholder,.ink-textarea::placeholder{color:var(--graphite-faint)}.ink-input--code{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;text-align:center;font-size:var(--text-xl)}.ink-select{font-family:var(--font-title);font-size:var(--text-md)}.field{gap:var(--sp-1);display:grid}.field__label{font-family:var(--font-sc);letter-spacing:.06em;color:var(--ink-2)}.field__help{font-size:var(--text-sm);color:var(--ink-3)}.field__error{font-size:var(--text-sm);color:var(--danger)}.ink-divider{height:2px;margin:var(--sp-3) 0;background:repeating-linear-gradient(90deg, var(--ink-2) 0 6px, transparent 6px 10px);opacity:.6;border:0}.ink-pill{font-family:var(--font-sc);font-size:var(--text-sm);letter-spacing:.06em;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;line-height:1.4;display:inline-flex}.ink-pill--locked{color:var(--state-locked)}.ink-pill--available{color:var(--state-available)}.ink-pill--discovered{color:var(--state-discovered)}.ink-pill--completed{color:var(--state-completed)}.ink-pill--ok{color:var(--ok)}.ink-pill--warn{color:var(--warn)}.ink-pill--danger{color:var(--danger)}.seal{border:3px double var(--oxide);width:64px;height:64px;color:var(--oxide);font-family:var(--font-sc);font-size:var(--text-xs);letter-spacing:.1em;text-align:center;opacity:.85;mix-blend-mode:multiply;border-radius:50%;place-items:center;display:inline-grid;transform:rotate(-12deg)}.ink-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.stack{gap:var(--sp-3);display:grid}.row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.row--between{justify-content:space-between}.grow{flex:auto;min-width:0}.screen{display:grid;position:absolute;inset:0;overflow:hidden}.screen--scroll{-webkit-overflow-scrolling:touch;display:block;overflow-y:auto}.toast-stack{left:50%;top:calc(var(--safe-top) + 112px);z-index:var(--z-toast);gap:var(--sp-2);pointer-events:none;width:min(92vw,420px);display:grid;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;padding:var(--sp-3) var(--sp-4);border:var(--border-ink-thin);border-radius:var(--radius-hand);background:var(--paper-cream-light);box-shadow:var(--shadow-control);font-family:var(--font-hand);font-size:var(--text-md);color:var(--graphite);animation:toast-in var(--dur-med) var(--ease-paper)}.toast--error{border-color:var(--danger);color:var(--danger)}.toast--ok{border-color:var(--ok);color:var(--ok)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)rotate(-.5deg)}to{opacity:1;transform:none}}@keyframes unfold-in{0%{opacity:0;transform:translateY(24px)scale(.94)rotate(-1.2deg)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes fold-out{to{opacity:0;transform:translateY(16px)scale(.96)rotate(.8deg)}}.unfold{animation:unfold-in var(--dur-slow) var(--ease-paper) both}
