.ex-ui{--paper:#fbf3dc;--paper-2:#f1e3bd;--paper-3:#e6d4a6;--ink:#2b2418;--ink-soft:#5a4d36;--moss:#2f6b3d;--moss-ink:#fff;--rust:#a84a22;--focus:#0b57d0;--bronze:#b9773e;--silver:#a9b3bb;--gold:#e3b53a;--dim:#2b241899;--line:3px;--ex-scale:1.12;--fs:calc(16px * var(--ex-scale));--top-h:150px;--controls-h:220px;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--font:"Fredoka", "Baloo 2", ui-rounded, "Segoe UI Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font);font-size:var(--fs);color:var(--ink);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;line-height:1.35}.ex-ui[data-contrast=high]{--paper:#fff;--paper-2:#fff;--paper-3:#e8e8e8;--ink:#000;--ink-soft:#000;--moss:#0a4d1c;--rust:#7a1f00;--focus:#03c;--line:4px;--dim:#000c}.ex-ui *,.ex-ui :before,.ex-ui :after{box-sizing:border-box}.ex-ui button{font:inherit;color:inherit;margin:0}.ex-ui [hidden]{display:none!important}.ex-icon{flex:none;width:1.5em;height:1.5em}.ex-btn{background:var(--paper-2);min-width:48px;min-height:48px;color:var(--ink);border:var(--line) solid var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:16px;justify-content:center;align-items:center;gap:.5em;padding:.55em 1.1em;font-weight:700;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.ex-btn:active{box-shadow:0 0 0 var(--ink);transform:translateY(3px)}.ex-btn.primary{background:var(--moss);color:var(--moss-ink)}.ex-btn.round{border-radius:999px;padding:.4em}.ex-btn[aria-pressed=true],.ex-btn[aria-selected=true],.ex-btn[aria-checked=true]{background:var(--moss);color:var(--moss-ink)}.ex-ui button:focus-visible,.ex-ui [tabindex]:focus-visible{outline:4px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 3px var(--paper), 0 3px 0 3px var(--ink)}.ex-ink-text{-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;font-weight:700}.ex-hud{z-index:10;pointer-events:none;padding:max(10px, var(--safe-t)) max(12px, var(--safe-r)) 0 max(12px, var(--safe-l));position:fixed;inset:0}.ex-hud>*{pointer-events:auto}.ex-top{pointer-events:none;grid-template-columns:auto 1fr auto;grid-template-areas:"gear.counts""tools tools tools";align-items:center;gap:8px;display:grid}.ex-top>*{pointer-events:auto}.ex-gear{grid-area:gear;width:52px;height:52px}.ex-counts{grid-area:counts;gap:8px;display:flex}.ex-chip{background:var(--paper);border:var(--line) solid var(--ink);min-height:48px;box-shadow:0 3px 0 var(--ink);border-radius:999px;align-items:center;gap:.35em;padding:.2em .8em;font-weight:700;display:inline-flex}.ex-chip b{text-align:center;min-width:1ch;font-size:1.15em}.ex-chip.demerit{border-radius:14px}.ex-tools{background:var(--paper);border:var(--line) solid var(--ink);width:100%;max-width:440px;box-shadow:0 3px 0 var(--ink);border-radius:20px;grid-area:tools;justify-self:center;gap:6px;padding:6px;display:flex}.ex-tool{background:var(--paper-2);border:2px solid var(--ink);cursor:pointer;touch-action:manipulation;border-radius:14px;flex:1 1 0;justify-content:center;align-items:center;gap:.4em;min-width:48px;min-height:52px;padding:.2em;font-weight:700;display:flex}.ex-tool .ex-label{white-space:nowrap;display:none}.ex-tool[aria-pressed=true]{background:var(--moss);color:var(--moss-ink);border-width:3px;flex:2.4 1 0}.ex-tool[aria-pressed=true] .ex-label{display:inline}.ex-prompt{z-index:9;pointer-events:none;left:50%;bottom:calc(var(--safe-b) + var(--controls-h));text-align:center;background:var(--paper);border:var(--line) solid var(--ink);width:calc(100% - 24px);max-width:560px;box-shadow:0 3px 0 var(--ink);border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6em;padding:.5em .9em;font-weight:700;display:flex;position:fixed;transform:translate(-50%)}.ex-prompt .key{background:var(--ink);color:var(--paper);border-radius:8px;padding:.05em .6em;font-size:.95em}.ex-prompt.unknown .name:before{content:"? "}.ex-toasts{z-index:11;pointer-events:none;left:50%;top:calc(var(--safe-t) + var(--top-h));flex-direction:column;gap:8px;width:calc(100% - 24px);max-width:520px;display:flex;position:fixed;transform:translate(-50%)}.ex-toast{pointer-events:auto;text-align:left;background:var(--paper);width:100%;min-height:48px;color:var(--ink);cursor:pointer;border:var(--line) solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:16px;align-items:center;gap:.6em;padding:.5em .8em;font-weight:600;animation:.25s ease-out both ex-in;display:flex}.ex-toast.hint{background:var(--paper-2)}.ex-toast.pop{text-align:center;flex-direction:column;gap:.2em;padding:.5em 1em;font-size:1.1em;animation:.45s cubic-bezier(.2,1.4,.4,1) both ex-pop}.ex-toast.pop .ex-icon{width:2.4em;height:2.4em}.ex-toast.pop .stars{letter-spacing:.2em;font-size:1.2em}.ex-toast[data-tier=bronze] .ex-icon{color:var(--bronze)}.ex-toast[data-tier=silver] .ex-icon{color:var(--silver)}.ex-toast[data-tier=gold] .ex-icon{color:var(--gold)}.ex-toast[data-tier]{border-width:4px}.ex-layer{z-index:30;background:var(--dim);padding:var(--safe-t) var(--safe-r) 0 var(--safe-l);justify-content:center;align-items:flex-end;animation:.2s ease-out both ex-fade;display:flex;position:fixed;inset:0}.ex-sheet{width:100%;max-width:640px;max-height:calc(100dvh - var(--safe-t) - 12px);overscroll-behavior:contain;background:var(--paper);border:var(--line) solid var(--ink);padding:1em 1em calc(1em + var(--safe-b));box-shadow:0 -4px 0 var(--ink);border-bottom:0;border-radius:26px 26px 0 0;animation:.28s ease-out both ex-up;overflow-y:auto}.ex-sheet h2{margin:0;font-size:1.3em;line-height:1.2}.ex-sheet-head{align-items:center;gap:.6em;margin-bottom:.5em;display:flex}.ex-sheet-head .ex-icon{width:2em;height:2em}.ex-sheet p{margin:.4em 0}.ex-ui .latin{color:var(--ink-soft);font-style:italic}.ex-ui .draft{border:2px dashed var(--ink-soft);color:var(--ink-soft);border-radius:999px;margin-top:.4em;padding:.1em .6em;font-size:.9em;display:inline-block}.ex-section{background:var(--paper-2);border-left:6px solid var(--moss);border-radius:6px 14px 14px 6px;margin-top:.7em;padding:.6em .8em}.ex-section h3{text-transform:uppercase;letter-spacing:.05em;margin:0 0 .2em;font-size:1em}.ex-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:.9em;display:flex}.ex-actions .ex-btn.primary{flex:8em;min-height:56px}.ex-layer.ex-book{padding:max(8px, var(--safe-t)) max(8px, var(--safe-r)) max(8px, var(--safe-b)) max(8px, var(--safe-l));align-items:stretch}.ex-book .notebook{flex-direction:column;width:100%;max-width:760px;min-height:0;max-height:100%;margin:0 auto;animation:.28s ease-out both ex-up;display:flex}.ex-book-head{background:var(--moss);color:var(--moss-ink);border:var(--line) solid var(--ink);border-bottom:0;border-radius:22px 22px 0 0;align-items:center;gap:.6em;padding:.5em .7em;display:flex}.ex-book-head h2{flex:1;margin:0;font-size:1.3em}.ex-book-head .ex-btn{background:var(--paper);color:var(--ink)}.ex-tabs{background:var(--paper-3);border-left:var(--line) solid var(--ink);border-right:var(--line) solid var(--ink);flex-wrap:wrap;gap:4px;padding:6px 6px 0;display:flex}.ex-tab{background:var(--paper-2);cursor:pointer;border:var(--line) solid var(--ink);touch-action:manipulation;border-bottom:0;border-radius:14px 14px 0 0;flex:1 1 0;justify-content:center;align-items:center;gap:.35em;min-width:0;min-height:48px;padding:.3em .5em;font-weight:700;display:inline-flex}.ex-tab[aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:inset 0 5px 0 var(--moss)}.ex-tab .ex-icon{width:1.2em;height:1.2em}.ex-pages{overscroll-behavior:contain;min-height:0;padding:.8em .9em calc(1em + var(--safe-b) * 0);background:var(--paper) repeating-linear-gradient(to bottom, transparent 0 1.9em, #3c6ea029 1.9em calc(1.9em + 2px));border:var(--line) solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:0 0 22px 22px;flex:auto;overflow-y:auto}.ex-pages h3{margin:.2em 0 .3em;font-size:1.1em}.ex-page{background:var(--paper);border:2px solid var(--ink);border-radius:16px;margin:0 0 .8em;padding:.7em .8em}.ex-page-head{align-items:flex-start;gap:.6em;display:flex}.ex-page-head .titles{flex:1;min-width:0}.ex-page h4{margin:0;font-size:1.1em}.ex-page.unknown{background:var(--paper-3);border-style:dashed}.ex-page.unknown .ex-silhouette{opacity:.55}.ex-silhouette{background:var(--ink);width:3em;height:3em;color:var(--paper);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.ex-silhouette .ex-icon{width:1.8em;height:1.8em}.ex-silhouette.known{background:var(--moss)}.ex-row{border-bottom:2px dotted var(--ink-soft);align-items:center;gap:.6em;padding:.5em 0;display:flex}.ex-row:last-child{border-bottom:0}.ex-row .grow{flex:1;min-width:0}.ex-stat{flex-wrap:wrap;gap:8px;margin-bottom:.7em;display:flex}.ex-stat .ex-chip{background:var(--paper-2)}.ex-tier{border:2px solid var(--ink);background:var(--paper-2);border-radius:999px;align-items:center;gap:.3em;padding:.05em .7em;font-weight:700;display:inline-flex}.ex-tier[data-tier=bronze] .ex-icon{color:var(--bronze)}.ex-tier[data-tier=silver] .ex-icon{color:var(--silver)}.ex-tier[data-tier=gold] .ex-icon{color:var(--gold)}.ex-tier .ex-icon{width:1.2em;height:1.2em}.ex-muted{color:var(--ink-soft)}.ex-setting{border-bottom:2px dotted var(--ink-soft);padding:.6em 0}.ex-setting:last-of-type{border-bottom:0}.ex-setting-head{justify-content:space-between;align-items:center;gap:.8em;display:flex}.ex-setting-head>span{font-weight:700}.ex-setting p{color:var(--ink-soft);margin:.2em 0 0}.ex-seg{flex-wrap:wrap;gap:6px;display:flex}.ex-seg .ex-btn{flex:auto}.ex-switch{min-width:5.5em}.ex-title{z-index:40;padding:max(18px, var(--safe-t)) max(18px, var(--safe-r)) max(18px, var(--safe-b)) max(18px, var(--safe-l));background:radial-gradient(circle at 78% 18%,#ffe9a6 0 9%,#0000 9.4%),radial-gradient(90% 40% at 20% 100%,#2f6b3d 0 60%,#0000 61%),radial-gradient(80% 34% at 90% 104%,#3f8250 0 60%,#0000 61%),linear-gradient(#bfe0d6 0%,#f4ecc8 70%);flex-direction:column;justify-content:space-between;gap:14px;animation:.3s ease-out both ex-fade;display:flex;position:fixed;inset:0;overflow-y:auto}.ex-title.leaving{opacity:0;pointer-events:none;transition:opacity .3s}.ex-title-main{text-align:center;padding-top:6vh}.ex-title h1{color:#fbf3dc;margin:0;font-size:clamp(2.2rem,11vw,4.2rem);line-height:1.02}.ex-title .tag{background:var(--paper);border:var(--line) solid var(--ink);border-radius:999px;max-width:24em;margin:.6em auto 0;padding:.3em 1em;font-weight:700;display:inline-block}.ex-title-side{flex-direction:column;gap:14px;display:flex}.ex-title-menu{flex-direction:column;gap:14px;width:100%;max-width:440px;margin:0 auto;display:flex}.ex-title-menu .ex-btn{min-height:64px;font-size:1.25em}.ex-title-card{background:var(--paper);border:var(--line) solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:22px;padding:1em}.ex-title-card h2{align-items:center;gap:.4em;margin:0 0 .3em;font-size:1.2em;display:flex}.ex-title-card p{margin:.3em 0 .8em}.ex-title-foot{text-align:center}.ex-langs{justify-content:center;gap:8px;display:flex}.ex-langs .ex-btn{min-width:8em}@media (orientation:landscape) and (max-height:520px){.ex-title{flex-direction:row;justify-content:center;align-items:center;gap:28px}.ex-title-main{flex:1;padding-top:0}.ex-title-side{flex-direction:column;flex:1;gap:10px;max-width:420px;display:flex}.ex-title-menu .ex-btn{min-height:56px}.ex-title h1{font-size:clamp(2rem,7vw,3.4rem)}}@media (min-width:560px) and (orientation:landscape),(min-width:900px){.ex-ui{--top-h:80px}.ex-top{grid-template-columns:1fr auto 1fr;grid-template-areas:"gear tools counts"}.ex-gear{justify-self:start}.ex-counts{justify-self:end}}@media (orientation:landscape){.ex-ui{--controls-h:14px}.ex-prompt{width:calc(100% - 2*min(32vw,300px));max-width:520px}.ex-layer{align-items:center}.ex-sheet{border-bottom:var(--line) solid var(--ink);max-height:calc(100dvh - var(--safe-t) - var(--safe-b) - 16px);box-shadow:0 4px 0 var(--ink);border-radius:26px;padding-bottom:1em}}@media (orientation:landscape) and (max-height:520px){.ex-chip{min-height:48px}}@media (orientation:landscape) and (max-width:559px){.ex-ui{--top-h:150px}}@keyframes ex-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes ex-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes ex-fade{0%{opacity:0}to{opacity:1}}@keyframes ex-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ex-ui *,.ex-ui :before,.ex-ui :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}.ex-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:480px){.ex-tab .ex-icon{display:none}.ex-tab{padding:.3em .2em}}body:has(.touch-controls) .tc-top .tc-wide:last-child{display:none}body:has(.touch-controls) .ex-counts{top:calc(var(--safe-t) + 152px);right:max(12px, var(--safe-r));position:fixed}body:has(.touch-controls) .ex-ui{--top-h:206px}@media (min-width:560px) and (orientation:landscape),(min-width:900px){body:has(.touch-controls) .ex-top{grid-template-columns:auto auto 1fr;grid-template-areas:"gear tools."}body:has(.touch-controls) .ex-counts{top:calc(var(--safe-t) + 64px)}body:has(.touch-controls) .ex-ui{--top-h:80px}}
