:root{--cream:#f1e7cf;--cream-dot:#dcceae;--ink:#221d15;--paper:#fbf5e6;--paper-2:#f6efdb;--white:#fdfaf0;--green:#2f7d4f;--green-skin:#5cab72;--green-soft:#bfe6cd;--green-page:#dff0e4;--orange:#ee6a4d;--orange-deep:#d4512f;--gold:#e8b04b;--stage:#e7d9b6;--stage-dot:#cdba8a;--spark:#d9c592;--muted:#8a7e60;--muted-2:#5f553f;--amber:#a8632f;--rule:#ddccab;--font-display:"Shrikhand", serif;--font-body:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, "SFMono-Regular", monospace;--shadow:6px 6px 0 var(--ink);--shadow-sm:4px 4px 0 var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;margin:0}:where(button,a,input):focus-visible{outline:3px solid var(--green);outline-offset:2px}.shell{background-color:var(--cream);background-image:radial-gradient(var(--cream-dot) 1.4px, transparent 1.5px);background-size:18px 18px;min-height:100vh;padding:26px 22px 60px}.shell__inner{max-width:1140px;margin:0 auto}.masthead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:30px;display:flex}.brand{align-items:center;gap:14px;display:flex}.emblem{background:var(--green);border:3px solid var(--ink);width:42px;height:42px;box-shadow:var(--shadow-sm);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex;transform:rotate(45deg)}.emblem__dot{background:var(--orange);border:2.5px solid var(--ink);border-radius:50%;width:12px;height:12px}.wordmark{font-family:var(--font-display);color:var(--green);margin:0;font-size:clamp(22px,3.4vw,32px);font-weight:400;line-height:.95}.wordmark span{display:block}.masthead__meta{align-items:center;gap:12px;display:flex}.masthead__tag{text-align:right;max-width:160px;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}.steppill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:var(--paper);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:999px;padding:8px 14px;font-size:11.5px}.stagewrap{flex-wrap:wrap;align-items:flex-start;gap:30px;display:flex}.stage-col{flex-direction:column;flex:280px;gap:18px;max-width:360px;display:flex;position:sticky;top:18px}.stage{background:var(--stage);border:3px solid var(--ink);width:100%;box-shadow:var(--shadow);border-radius:22px;justify-content:center;padding:22px 18px 18px;display:flex;position:relative;overflow:hidden}.stage__halftone{background-image:radial-gradient(var(--stage-dot) 2px, transparent 2.2px);opacity:.8;background-size:15px 15px;border-radius:50%;width:280px;height:280px;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.stage__spark{font-family:var(--font-mono);color:var(--spark);font-size:30px;position:absolute;top:14px;left:18px}.stage__spark--tw{font-size:24px;animation:3.5s ease-in-out infinite twinkle;inset:auto 18px 12px auto}.ribbon{background:var(--paper);border:3px solid var(--ink);width:100%;box-shadow:5px 5px 0 var(--ink);border-radius:16px;padding:16px 18px;animation:6s ease-in-out infinite ribbonwig;position:relative}.ribbon__tail{background:var(--paper);border-left:3px solid var(--ink);border-top:3px solid var(--ink);width:18px;height:18px;position:absolute;top:-13px;left:34px;transform:rotate(45deg)}.ribbon__label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:6px;font-size:10.5px}.ribbon__text{color:#322a1c;margin:0;font-size:16px;font-style:italic;line-height:1.4}.panel-col{flex:3 440px;min-width:300px}.picker__title{font-family:var(--font-display);color:var(--ink);margin:2px 0 4px;font-size:clamp(26px,4vw,40px);font-weight:400}.picker__intro{max-width:440px;color:var(--muted-2);margin:0 0 22px;font-size:15.5px;line-height:1.5}.picker__empty{color:var(--muted-2);font-style:italic}.featured{text-align:left;cursor:pointer;width:100%;color:var(--white);background:var(--green);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:18px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:20px;padding:22px;transition:transform .12s,box-shadow .12s;display:flex}.featured:hover,.featured:focus-visible{box-shadow:9px 9px 0 var(--ink);transform:translate(-2px,-2px)}.featured:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}.featured__token{background:var(--orange);border:3px solid var(--ink);width:64px;height:64px;box-shadow:3px 3px 0 var(--ink);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.featured__token-dot{background:var(--white);border:3px solid var(--ink);border-radius:50%;width:26px;height:26px}.featured__body{flex-direction:column;flex:180px;display:flex}.featured__kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--green-soft);font-size:10.5px}.featured__name{font-family:var(--font-display);margin-top:2px;font-size:30px;font-weight:400;line-height:1}.featured__blurb{color:var(--green-page);margin-top:4px;font-size:13.5px}.featured__enter{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;color:var(--ink);background:var(--gold);border:2.5px solid var(--ink);border-radius:999px;flex:none;padding:7px 14px;font-size:12px}.picker__shelf-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:10.5px}.hoard{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.hoardcard{text-align:left;cursor:pointer;background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;align-items:flex-start;padding:15px;transition:transform .12s;display:flex}.hoardcard:hover,.hoardcard:focus-visible{transform:translate(-1px,-1px)rotate(-1deg)}.hoardcard__token{border:2.5px solid var(--ink);width:38px;height:38px;margin-bottom:10px}.hoardcard__name{color:var(--ink);font-size:17px;font-weight:800}.hoardcard__meta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-top:3px;font-size:10px}.picker__about{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:26px;padding:0;font-size:11px;display:inline-block}.picker__about:hover{color:var(--green)}.chathead{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.chathead__back,.chathead__new{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:2.5px solid var(--ink);background:0 0;border-radius:999px;padding:6px 12px;font-size:11px}.chathead__new{border-width:2px;padding:5px 10px;font-size:10.5px}.chathead__new:disabled{opacity:.4;cursor:not-allowed}.chathead__game{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--white);background:var(--green);border:2.5px solid var(--ink);border-radius:999px;padding:6px 13px;font-size:11px}.chathead__right{align-items:center;gap:10px;margin-left:auto;display:flex}.chathead__turns{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.thread{flex-direction:column;gap:18px;max-height:56vh;margin-bottom:18px;padding:6px 4px 6px 2px;display:flex;overflow:auto}.turn{display:flex}.turn--you{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:5px;max-width:80%}.turn--goblin{align-self:flex-start;gap:12px;max-width:92%}.turn__tag{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);font-size:9.5px}.turn__avatar{margin-top:4px}.bubble{border:3px solid var(--ink);padding:12px 16px}.bubble--you{background:var(--orange);color:var(--white);box-shadow:3px 3px 0 var(--ink);white-space:pre-wrap;word-break:break-word;border-radius:16px 16px 4px;font-size:16px;font-weight:600;line-height:1.35}.bubble--goblin{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:4px 16px 16px;flex:auto;padding:15px 17px}.bubble__label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:8px;font-size:9.5px}.bubble__ruling{color:#2a2418;white-space:pre-wrap;word-break:break-word;font-size:16px;line-height:1.55}.cited{border-top:2px dashed var(--rule);flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;padding-top:13px;display:flex}.cited__label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:9.5px}.citechip{cursor:pointer;border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:6px 10px 6px 8px;transition:transform .1s,box-shadow .1s;display:inline-flex}.citechip:hover,.citechip:focus-visible{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.citechip__n{font-family:var(--font-mono);color:var(--green);font-size:10px;font-weight:700}.citechip__spine{background:var(--green);border:2px solid var(--ink);border-radius:2px 3px 3px 2px;width:18px;height:22px;display:inline-block;position:relative}.citechip__spine:after{content:"";background:var(--white);width:2px;height:15px;position:absolute;top:1.5px;left:1.5px}.citechip__title{font-family:var(--font-mono);color:var(--ink);font-size:11px;font-weight:700}.citechip__page{font-family:var(--font-mono);color:var(--amber);font-size:11px}.hear{cursor:pointer;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--white);background:var(--green);border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:999px;align-items:center;gap:9px;margin-top:12px;padding:7px 13px;font-size:10.5px;display:inline-flex}.hear:disabled{opacity:.5;cursor:not-allowed}.hear--error{font-family:var(--font-mono);color:var(--orange-deep);margin-top:12px;font-size:11px;display:inline-block}.hear__play{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:9px solid var(--white);width:0;height:0}.hear__wave{align-items:flex-end;gap:2.5px;height:13px;display:flex}.hear__wave span{background:var(--white);transform-origin:bottom;border-radius:2px;width:3px;height:100%;animation:.6s ease-in-out infinite wave}.hear__wave span:nth-child(2){animation-delay:.12s}.hear__wave span:nth-child(3){animation-delay:.24s}.hear__wave span:nth-child(4){animation-delay:.36s}.thinking{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow-sm);border-radius:4px 16px 16px;align-items:center;gap:6px;padding:14px 18px;display:flex}.thinking__dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite blip}.thinking__dot:nth-child(2){animation-delay:.2s}.thinking__dot:nth-child(3){animation-delay:.4s}.thinking__text{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin-left:5px;font-size:10.5px}.composer{gap:10px;display:flex}.composer__input{min-width:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);border:3px solid var(--ink);border-radius:14px;outline:none;flex:220px;padding:14px 16px;font-size:16px;box-shadow:inset 2px 2px #221d1514}.composer__input::placeholder{color:var(--muted)}.composer__input:focus{box-shadow:inset 2px 2px 0 #221d1514, 0 0 0 3px var(--green)}.composer__btn{cursor:pointer;font-family:var(--font-display);color:var(--white);background:var(--orange);border:3px solid var(--ink);box-shadow:var(--shadow-sm);border-radius:14px;padding:0 22px;font-size:17px;font-weight:400;transition:transform .12s,box-shadow .12s}.composer__btn:not(:disabled):hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.composer__btn:not(:disabled):active{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.composer__btn:disabled{opacity:.5;cursor:not-allowed}.composer__btn--stop{background:var(--orange-deep)}.sheet-modal__wrap{z-index:60;justify-content:center;align-items:center;padding:24px;animation:.2s both scrimin;display:flex;position:fixed;inset:0}.sheet-modal__scrim{cursor:pointer;background:#221d159e;border:none;padding:0;position:absolute;inset:0}.sheet-modal{z-index:1;background:var(--paper-2);border:3px solid var(--ink);width:100%;max-width:540px;max-height:84vh;box-shadow:10px 10px 0 var(--ink);border-radius:14px;animation:.22s cubic-bezier(.2,.8,.2,1) both pagein;position:relative;overflow:auto}.sheet-modal__head{background:var(--green);color:var(--white);border-bottom:3px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.sheet-modal__kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green-soft);margin-bottom:4px;font-size:10px;display:block}.sheet-modal__book{font-family:var(--font-display);margin:0;font-size:21px;font-weight:400;line-height:1}.sheet-modal__meta{align-items:center;gap:8px;margin-top:7px;display:flex}.sheet-modal__tab{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--orange);border:2px solid var(--ink);border-radius:5px;padding:2px 7px;font-size:10px}.sheet-modal__n{font-family:var(--font-mono);color:var(--green-page);font-size:11px;font-weight:700}.sheet-modal__page{font-family:var(--font-mono);color:var(--green-page);font-size:11px}.sheet-modal__close{cursor:pointer;width:34px;height:34px;color:var(--ink);background:var(--white);border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;line-height:1;display:flex}.sheet-modal__body{background:var(--paper-2);background-image:repeating-linear-gradient(#0000,#0000 30px,#221d150d 30px 31px);padding:24px 26px 14px}.sheet-modal__heading{font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-size:24px;font-weight:400}.sheet-modal__section{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:16px;font-size:10px}.sheet-modal__p{color:#3a3322;word-break:break-word;margin:0 0 13px;font-size:16px;line-height:1.6}.sheet-modal__foot{background:var(--paper-2);border-top:2px dashed var(--rule);align-items:center;gap:11px;padding:14px 26px 20px;display:flex}.sheet-modal__goblin{flex:none;width:34px;height:34px;position:relative}.sheet-modal__goblin-head{background:var(--green-skin);border:2px solid var(--ink);border-radius:48% 48% 46% 46%;width:26px;height:28px;position:absolute;top:3px;left:4px}.sheet-modal__goblin-eye{background:var(--white);border:1.5px solid var(--ink);border-radius:50%;width:6px;height:7px;position:absolute;top:13px}.sheet-modal__goblin-eye--l{left:9px}.sheet-modal__goblin-eye--r{left:18px}.sheet-modal__quote{color:var(--muted-2);font-size:13px;font-style:italic}.about-page{background-color:var(--cream);background-image:radial-gradient(var(--cream-dot) 1.4px, transparent 1.5px);background-size:18px 18px;min-height:100vh;padding:26px 22px 60px}.about-page__inner{flex-direction:column;gap:clamp(16px,3vh,26px);max-width:680px;margin:0 auto;display:flex}.about-page__back{cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:2.5px solid var(--ink);background:0 0;border-radius:999px;align-self:flex-start;padding:7px 12px;font-size:11px}.about-page__head{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.about-page__title{font-family:var(--font-display);color:var(--green);margin:0;font-size:clamp(28px,5vw,44px);font-weight:400;line-height:1}.about-page__tag{max-width:46ch;color:var(--muted-2);margin:0;font-size:16px;font-style:italic;line-height:1.5}.about-page__cards{flex-direction:column;gap:16px;display:flex}.about-card{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow-sm);border-radius:14px;padding:20px 22px}.about-card p{margin:0 0 10px;font-size:16px;line-height:1.6}.about-card p:last-child{margin-bottom:0}.about-card__h{font-family:var(--font-display);color:var(--green);margin:0 0 12px;font-size:clamp(20px,3vw,26px);font-weight:400;line-height:1}.about-card__steps{flex-direction:column;gap:9px;margin:0;padding-left:22px;font-size:15px;line-height:1.55;display:flex}.about-card__steps li::marker{color:var(--orange);font-family:var(--font-mono);font-weight:700}.about-card__stack{font-family:var(--font-mono);color:var(--muted-2);font-size:13px;line-height:1.7}.about-card__link{color:var(--orange-deep);border-bottom:2px solid;font-weight:700;text-decoration:none}.about-card__link:hover{color:var(--ink)}.about-card--cta{background:var(--paper-2)}.about-card__request{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:var(--gold);border:3px solid var(--ink);box-shadow:var(--shadow-sm);border-radius:8px;margin-top:6px;padding:11px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-block}.about-card__request:hover,.about-card__request:focus-visible{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.about-page__foot{font-family:var(--font-mono);letter-spacing:.04em;text-align:center;color:var(--muted);font-size:12px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes blink{0%,94%,to{transform:scaleY(0)}97%{transform:scaleY(1)}}@keyframes pomsway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes talk{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1.25)}}@keyframes wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes ribbonwig{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1deg)}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.8)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(20deg)}}@keyframes blip{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes scrimin{0%{opacity:0}to{opacity:1}}@keyframes pagein{0%{opacity:0;transform:translateY(16px)rotate(-1deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=720px){.shell{padding:18px 14px 48px}.stage-col{max-width:none;position:static}.turn--you{max-width:90%}}
