:root{--sky: #8fd3ff;--sky-deep: #4aa8e8;--grass: #6dbf3a;--grass-deep: #3f8f22;--wood: #8a5a2b;--wood-deep: #5c3a17;--cream: #fff4d6;--cream-deep: #f0dfb0;--gold: #ffc531;--gold-deep: #d9930c;--text: #3b2414;--text-dim: #7a5a3c;--white: #ffffff;--ink: var(--text);--parchment: var(--text);--parchment-dim: var(--text-dim);--gold-dim: var(--gold-deep);--panel: rgba(255, 246, 220, .96);--panel-edge: var(--wood);--display: "Fredoka", "Baloo 2", "Arial Rounded MT Bold", system-ui, sans-serif;--bar-ink: #fff3d8;--serif: "Nunito", "Segoe UI", system-ui, sans-serif;color-scheme:light;--theme-ease: .7s ease}[data-theme=night]{--bar-ink: #ffeec9;--sky: #22314f;--sky-deep: #8ec7ff;--grass: #4a9a3a;--grass-deep: #2c6b22;--wood: #8a6a44;--wood-deep: #4a3524;--cream: #34405a;--cream-deep: #46536f;--gold: #ffcf4d;--gold-deep: #e8a92a;--text: #f2f5fb;--text-dim: #b8c2d6;--white: #ffffff;--panel: rgba(44, 55, 78, .96);--panel-edge: var(--wood);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:linear-gradient(to bottom,var(--sky) 0%,color-mix(in srgb,var(--sky) 55%,#ffffff 0%) 60%,color-mix(in srgb,var(--grass) 35%,var(--sky)) 100%);transition:background var(--theme-ease),color var(--theme-ease);color:var(--text);font-family:var(--serif);font-size:17px;font-weight:500;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--sky-deep);font-weight:700;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:.01em;margin:0 0 .4em;line-height:1.05}h1{font-size:clamp(2rem,4.6vw,3.6rem);color:var(--white);-webkit-text-stroke:0;text-shadow:0 3px 0 var(--wood-deep),0 6px 14px rgba(0,0,0,.35)}h2{font-size:clamp(1.3rem,2.4vw,1.8rem)}p{margin:0 0 1em}button,input,select,textarea{font:inherit}.masthead{transition:background var(--theme-ease),border-color var(--theme-ease);position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1.2rem;background:linear-gradient(180deg,#a86f3a,var(--wood));border-bottom:4px solid var(--wood-deep);box-shadow:0 6px 18px #00000040}.brand{font-family:var(--display);font-weight:700;font-size:1.45rem;color:var(--white);text-shadow:0 2px 0 var(--wood-deep);display:inline-flex;align-items:center;gap:.45rem;text-decoration:none}.brand:hover{text-decoration:none}.brand .crown{color:var(--gold);font-size:1.6rem;line-height:1;filter:drop-shadow(0 2px 0 var(--wood-deep))}.links{display:flex;align-items:center;gap:.25rem;padding:.25rem;border-radius:999px;background:#0000002e;box-shadow:inset 0 2px #0003;font-family:var(--display);font-weight:600;font-size:.9rem}.links a{color:var(--bar-ink);padding:.45rem .9rem;border-radius:999px;text-decoration:none;white-space:nowrap}.links a:hover{background:#ffffff1f}.links a.active{background:var(--gold);color:var(--text);box-shadow:0 2px 0 var(--gold-deep)}.links theme-toggle{margin-left:.25rem}.menu-btn{display:none;width:2.5rem;height:2.5rem;border-radius:12px;border:3px solid var(--wood-deep);background:#0000002e;color:var(--bar-ink);place-items:center;cursor:pointer;box-shadow:0 3px 0 var(--wood-deep)}:focus{outline:none}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}.backdrop{position:fixed;inset:0;z-index:24;border:0;background:#141e2d73;backdrop-filter:blur(2px);cursor:pointer}.drawer{position:fixed;top:0;right:0;bottom:auto;max-height:100dvh;overflow-y:auto;z-index:25;width:min(82vw,21rem);transform:translate(105%);transition:transform .32s cubic-bezier(.2,.9,.2,1);background:var(--cream);border-left:4px solid var(--wood);border-bottom:4px solid var(--wood);border-radius:0 0 0 22px;box-shadow:-10px 0 30px #0000004d;display:flex;flex-direction:column;gap:.9rem;padding:0 1rem 1rem}.drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin:0 -1rem;padding:.8rem 1rem;background:linear-gradient(180deg,#a86f3a,var(--wood));border-bottom:4px solid var(--wood-deep)}.drawer-brand{font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--white);text-shadow:0 2px 0 var(--wood-deep);display:inline-flex;align-items:center;gap:.4rem}.drawer-brand .crown{color:var(--gold)}.drawer-close{width:2.2rem;height:2.2rem;border-radius:10px;border:3px solid var(--wood-deep);background:#0000002e;color:var(--bar-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 0 var(--wood-deep)}.drawer nav{display:grid;gap:.5rem}.drawer nav a{display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;border-radius:14px;font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--text);background:color-mix(in srgb,var(--white) 55%,var(--cream));border:3px solid var(--cream-deep);box-shadow:0 4px 0 var(--cream-deep);text-decoration:none}.drawer nav a svg{width:22px;height:22px;flex:none;color:var(--wood)}.drawer nav a.active{background:var(--gold);border-color:var(--gold-deep);box-shadow:0 4px 0 var(--gold-deep);color:var(--text)}.drawer nav a.active svg{color:var(--text)}.drawer-note{display:flex;gap:.5rem;align-items:baseline;font-size:.9rem;font-weight:600;color:var(--text-dim);padding:.7rem .9rem;border-radius:14px;background:color-mix(in srgb,var(--gold) 18%,transparent);border:2px solid color-mix(in srgb,var(--gold-deep) 50%,transparent)}.drawer-note .crown{color:var(--gold-deep)}.drawer-note b{color:var(--text)}.drawer-foot{display:flex;align-items:center;justify-content:space-between;padding:.4rem .4rem 0;border-top:2px solid var(--cream-deep);font-family:var(--display);font-weight:600;color:var(--text-dim)}@media(max-width:760px){.masthead{padding:.45rem .8rem}.brand{font-size:1.25rem}.links{display:none}.menu-btn{display:grid}}@media(min-width:761px){.drawer,.backdrop{display:none}}main{min-height:100dvh}.colophon{padding:1.2rem;font-size:.85rem;color:var(--text-dim);text-align:center;background:var(--cream);border-top:4px solid var(--wood)}.colophon p{margin:0;max-width:60ch;margin-inline:auto}.panel{transition:background var(--theme-ease),border-color var(--theme-ease),box-shadow var(--theme-ease),color var(--theme-ease);background:var(--panel);border:3px solid var(--wood);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 5px 0 var(--wood-deep),0 12px 30px #00000040}.panel h2{color:var(--wood-deep);font-size:1.1rem;margin-bottom:.6rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:12px;cursor:pointer;font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:.01em;color:var(--white);text-shadow:0 2px 0 rgba(0,0,0,.3);background:linear-gradient(180deg,#8ad84e,var(--grass) 55%,#56a82c);border:3px solid var(--grass-deep);box-shadow:0 5px 0 var(--grass-deep),0 8px 16px #00000040;transition:transform 80ms ease,box-shadow 80ms ease,filter .12s ease}.btn:hover{filter:brightness(1.06);text-decoration:none}.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--grass-deep)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.ghost{background:linear-gradient(180deg,#fff9e6,var(--cream) 60%,var(--cream-deep));color:var(--text);text-shadow:none;border-color:var(--wood);box-shadow:0 5px 0 var(--wood-deep),0 8px 16px #0003}.btn.ghost:active{box-shadow:0 1px 0 var(--wood-deep)}.btn.gold,.btn.pay{background:linear-gradient(180deg,#ffe07a,var(--gold) 55%,#f0a51c);border-color:var(--gold-deep);color:var(--text);text-shadow:0 1px 0 rgba(255,255,255,.5);box-shadow:0 5px 0 var(--gold-deep),0 8px 16px #00000040}.btn.gold:active,.btn.pay:active{box-shadow:0 1px 0 var(--gold-deep)}.field{display:grid;gap:.3rem;margin-bottom:.8rem}.field label{font-family:var(--display);font-weight:600;font-size:.85rem;color:var(--wood-deep)}.field input,.field select,.field textarea{background:var(--white);border:3px solid var(--cream-deep);color:var(--text);padding:.6rem .8rem;border-radius:12px;width:100%;font-weight:600;box-shadow:inset 0 3px #0000000f}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--sky-deep)}.hint{font-size:.85rem;color:var(--text-dim)}.error{color:#c62b2b;font-weight:700;font-size:.9rem}.money{font-variant-numeric:tabular-nums;font-family:var(--display);font-weight:700;color:var(--gold-deep)}.prose{max-width:74ch;margin:5.5rem auto 3rem;padding:1.6rem 1.8rem;background:var(--panel);border:3px solid var(--wood);border-radius:20px;box-shadow:0 6px 0 var(--wood-deep),0 16px 40px #00000040}.prose h1{color:var(--text);text-shadow:none;margin-bottom:.2em}.prose h2{margin-top:1.6rem;color:var(--wood-deep)}.prose ol,.prose ul{padding-left:1.3rem}.prose li{margin-bottom:.5em}.prose .lede{font-size:1.15rem;font-weight:600;color:var(--text-dim)}.prose table{width:100%;border-collapse:collapse;margin:1rem 0}.prose th,.prose td{text-align:left;padding:.5rem .6rem;border-bottom:2px solid var(--cream-deep);vertical-align:top}.prose td.nowrap,.prose th.nowrap{white-space:nowrap}.prose .table-wrap{overflow-x:auto}.prose th{font-family:var(--display);font-weight:600;font-size:.85rem;color:var(--wood-deep)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:760px){.prose{margin:4.6rem .8rem 1.5rem;padding:1.2rem 1.1rem;border-radius:18px}.prose h1{font-size:1.9rem}.prose .lede{font-size:1.02rem}}html[data-theme=night] .field input,html[data-theme=night] .field select,html[data-theme=night] .field textarea{background:#26314a;border-color:#46536f;color:var(--text)}html[data-theme=night] .field input::placeholder{color:#8d9ab4}html[data-theme=night] .btn.ghost{background:linear-gradient(180deg,#4b5878,#3a4664 60%,#2f3a55);color:var(--text)}html[data-theme=night] .colophon{background:#26314a}html[data-theme=night] .panel h2,html[data-theme=night] .field label,html[data-theme=night] .prose h2,html[data-theme=night] .head h2,html[data-theme=night] .prose th,html[data-theme=night] .label,html[data-theme=night] .kicker{color:var(--gold)}html[data-theme=night] .prose h1,html[data-theme=night] .value,html[data-theme=night] .sub{color:var(--text)}html[data-theme=night] .sub{opacity:.85}html[data-theme=night] .chip{background:#26314a;border-color:#46536f;color:var(--text);box-shadow:0 2px #46536f}html[data-theme=night] .chip.gold{background:var(--gold);color:#2a2010;border-color:var(--gold-deep);box-shadow:0 2px 0 var(--gold-deep)}html[data-theme=night] .rank{background:#46536f;color:var(--text)}html[data-theme=night] .tile{background:#ffffff0f;border-color:#46536f}html[data-theme=night] .tile.crown{background:linear-gradient(180deg,#ffcf4d33,#ffffff0a);border-color:var(--gold-deep)}html[data-theme=night] castle-card.top{background:linear-gradient(180deg,rgba(255,207,77,.18),var(--panel))}html[data-theme=night] .loading{background:linear-gradient(to bottom,#22314f,#16301f);color:var(--text)}html[data-theme=night] .drawer{background:var(--cream)}html[data-theme=night] .drawer nav a{background:#26314a;border-color:#46536f;box-shadow:0 4px #46536f;color:var(--text)}html[data-theme=night] .drawer nav a svg{color:var(--gold)}html[data-theme=night] .drawer nav a.active{background:var(--gold);border-color:var(--gold-deep);box-shadow:0 4px 0 var(--gold-deep);color:#2a2010}html[data-theme=night] .drawer nav a.active svg{color:#2a2010}html[data-theme=night] .drawer-foot{border-top-color:#46536f}html[data-theme=night] .drawer-close,html[data-theme=night] .menu-btn,html[data-theme=night] theme-toggle button{background:#ffffff29;border-color:#6b5238;color:var(--bar-ink)}html[data-theme=night] .drawer-close:hover,html[data-theme=night] .menu-btn:hover{background:#ffffff42}html[data-theme=night] .links{background:#00000038}html[data-theme=night] .masthead,html[data-theme=night] .drawer-head{background:linear-gradient(180deg,#7a5330,#5c3d21);border-bottom-color:#3a2614}html[data-theme=night] .field input,html[data-theme=night] .field select,html[data-theme=night] .field textarea{background:#26314a;border-color:#55638a;color:var(--text);caret-color:var(--gold)}html[data-theme=night] .field input::placeholder,html[data-theme=night] .field textarea::placeholder{color:#97a4bf}html[data-theme=night] .btn:disabled{opacity:.75;filter:saturate(.7)}html[data-theme=night] .btn.gold:disabled,html[data-theme=night] .btn.pay:disabled{color:#2a2010}
