:root{--motion-duration:.15s;--motion-ease:cubic-bezier(.25, .1, .25, 1);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--radius-sm:4px;--radius-md:8px;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.75rem;--font-size-2xl:2.25rem;--border-width:1px;--border-width-strong:2px;--motion-shake:.4s;--content-width:40rem}[data-theme=paper],:root{--color-bg:#fff;--color-fg:#111}[data-theme=ink]{--color-bg:#111;--color-fg:#f5f5f5}[data-theme=sepia]{--color-bg:#f4ecd8;--color-fg:#3d2b1f;--font-body:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif}[data-theme=slate]{--color-bg:#e8eaed;--color-fg:#1a1a2e}[data-theme=citrus]{--color-bg:#fef08a;--color-fg:#14532d}[data-theme=ocean]{--color-bg:#a5f3fc;--color-fg:#0c4a6e}[data-theme=rose]{--color-bg:#fce7f3;--color-fg:#881337}[data-theme=forest]{--color-bg:#064e3b;--color-fg:#6ee7b7}[data-theme=sunset]{--color-bg:#ffedd5;--color-fg:#7c2d12}[data-theme=electric]{--color-bg:#4c1d95;--color-fg:#fde047}[data-theme=coral]{--color-bg:#fda4af;--color-fg:#1e1b4b}[data-theme=lime]{--color-bg:#ecfccb;--color-fg:#365314}[data-theme=gamegirl]{--color-bg:#9a9e3f;--color-fg:#1b2a09;--font-body:ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--font-mono:var(--font-body)}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-body);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;line-height:1.5}body{background-color:var(--color-bg);min-height:100vh;color:var(--color-fg);transition:background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease);margin:0}body>header,body>main,body>footer{max-width:var(--content-width);padding-inline:var(--space-md);margin-inline:auto}body>header{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-xl) var(--space-lg);border-bottom:var(--border-width) solid var(--color-fg);display:flex}body>header strong{font-size:var(--font-size-lg);letter-spacing:-.02em;font-weight:700}body>header strong a{color:inherit;text-decoration:none}body>header strong a:hover{display:inline-block;transform:scale(1.02)}body>main{gap:var(--space-lg);padding-block:var(--space-xl);flex-direction:column;display:flex}section{gap:var(--space-md);flex-direction:column;display:flex}hr{border:none;border-top:var(--border-width) solid var(--color-fg);opacity:.2;margin:0}[role=group]{align-items:center;gap:var(--space-md);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:1.2}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}section>h2{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;opacity:.6;font-weight:600}p{margin:0}small{font-size:var(--font-size-sm);opacity:.6}code{font-size:.9em;font-weight:600;font-family:var(--font-mono)}pre,pre code{font-family:var(--font-mono);font-weight:400}label{font-size:var(--font-size-sm);font-weight:600;display:block}label+input,label+select,label+textarea{margin-top:var(--space-xs)}button,[type=submit],[type=button],[type=reset],[role=button]{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font:inherit;border:var(--border-width) solid var(--color-fg);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-fg);color:var(--color-bg);transition:transform var(--motion-duration) var(--motion-ease);font-weight:600;line-height:1;display:inline-flex}button:hover,[type=submit]:hover,[type=button]:hover,[type=reset]:hover,[role=button]:hover{transform:scale(1.03)}button:active,[type=submit]:active,[type=button]:active,[type=reset]:active,[role=button]:active{transform:scale(.97)}button:focus-visible,[type=submit]:focus-visible,[type=button]:focus-visible,[type=reset]:focus-visible,[role=button]:focus-visible{outline:var(--border-width-strong) solid var(--color-fg);outline-offset:2px}button:disabled,[type=submit]:disabled,[type=button]:disabled,[type=reset]:disabled,[role=button][aria-disabled=true]{opacity:.4;cursor:not-allowed;transform:none}input:not([type=checkbox],[type=radio],[type=submit],[type=button],[type=reset],[type=hidden],[type=image],[type=file],[type=range],[type=color]),textarea,select{width:100%;min-width:0;max-width:100%;padding:calc(var(--space-sm) - 1px) calc(var(--space-md) - 1px);font:inherit;color:var(--color-fg);border:var(--border-width-strong) solid transparent;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-fg);transition:box-shadow var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease), border-color var(--motion-duration) var(--motion-ease);background:0 0;display:block}input:not([type=checkbox],[type=radio],[type=submit],[type=button],[type=reset],[type=hidden],[type=image],[type=file],[type=range],[type=color])::placeholder,textarea::placeholder{color:var(--color-fg);opacity:.4}input:not([type=checkbox],[type=radio],[type=submit],[type=button],[type=reset],[type=hidden],[type=image],[type=file],[type=range],[type=color]):hover:not([aria-invalid=true]),textarea:hover,select:hover{transform:translateY(-1px)}input:not([type=checkbox],[type=radio],[type=submit],[type=button],[type=reset],[type=hidden],[type=image],[type=file],[type=range],[type=color]):focus,textarea:focus,select:focus{outline:none;transform:translateY(-1px)}input:not([type=checkbox],[type=radio],[type=submit],[type=button],[type=reset],[type=hidden],[type=image],[type=file],[type=range],[type=color]):focus:not([aria-invalid=true]),textarea:focus,select:focus{box-shadow:inset 0 0 0 2px var(--color-fg)}input:not([type=checkbox],[type=radio],[type=submit],[type=button],[type=reset],[type=hidden],[type=image],[type=file],[type=range],[type=color]):disabled,textarea:disabled,select:disabled{opacity:.4;cursor:not-allowed;transform:none}select{appearance:none;width:auto;max-width:100%;padding-right:var(--space-xl);cursor:pointer;background-image:linear-gradient(135deg, var(--color-fg) 45%, transparent 45%), linear-gradient(45deg, var(--color-fg) 45%, transparent 45%);background-position:calc(100% - var(--space-md) - 3px) calc(50% + 1px), calc(100% - var(--space-md) + 3px) calc(50% + 1px);background-repeat:no-repeat;background-size:6px 6px;font-weight:600}body>header select{width:auto}body>header nav{align-items:center;gap:var(--space-md);display:flex}body>header nav a{font-size:var(--font-size-sm);color:var(--color-fg);font-weight:600;text-decoration:none}body>header nav a:hover{transform:translateY(-1px)}input[aria-invalid=true],textarea[aria-invalid=true]{box-shadow:none;border-style:dashed;border-color:var(--color-fg)}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{box-shadow:none}[role=alert]{min-height:calc(var(--font-size-sm) * 1.5);font-size:var(--font-size-sm);opacity:1;visibility:hidden;font-weight:600}[role=alert]:before{content:"× ";font-weight:700}input[aria-invalid=true]+[role=alert],textarea[aria-invalid=true]+[role=alert]{visibility:visible}input.shake,textarea.shake{animation:field-shake var(--motion-shake) var(--motion-ease)}@keyframes field-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}article{padding:calc(var(--space-lg) - 1px);border:var(--border-width-strong) solid transparent;border-radius:var(--radius-md);background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-fg);transition:box-shadow var(--motion-duration) var(--motion-ease)}@media (hover:hover){article:hover{box-shadow:inset 0 0 0 2px var(--color-fg)}}article>header{margin:calc((var(--space-lg) - 1px) * -1) calc((var(--space-lg) - 1px) * -1) var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width) solid var(--color-fg)}article>footer{margin:var(--space-md) calc((var(--space-lg) - 1px) * -1) calc((var(--space-lg) - 1px) * -1);padding:var(--space-md) var(--space-lg);border-top:var(--border-width) solid var(--color-fg)}article>p{font-size:var(--font-size-sm)}output[popover]{inset:auto var(--space-md) var(--space-lg);padding:var(--space-sm) var(--space-lg);max-width:calc(var(--content-width) - var(--space-md) * 2);font:inherit;font-size:var(--font-size-sm);color:var(--color-bg);background:var(--color-fg);border:var(--border-width-strong) solid var(--color-fg);border-radius:var(--radius-sm);box-shadow:0 4px 0 var(--color-fg);opacity:0;transition:opacity var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease), display var(--motion-duration) allow-discrete, overlay var(--motion-duration) allow-discrete;margin:0;font-weight:600;line-height:1.4;position:fixed;transform:translateY(1rem)}output[popover]:popover-open{opacity:1;transform:translateY(0)}@starting-style{output[popover]:popover-open{opacity:0;transform:translateY(1rem)}}@media (prefers-reduced-motion:reduce){output[popover]{transition:opacity var(--motion-duration) var(--motion-ease);transform:none}output[popover]:popover-open{transition:opacity var(--motion-duration) var(--motion-ease);transform:none}}a{color:var(--color-fg);text-underline-offset:2px;transition:transform var(--motion-duration) var(--motion-ease)}main a:not([role=button]):hover{transform:translateY(-1px)}main nav:not([aria-label=Pagination]){align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}main nav:not([aria-label=Pagination]) a{padding-bottom:var(--space-xs);border-bottom:var(--border-width-strong) solid transparent;box-shadow:inset 0 -1px 0 var(--color-fg);transition:box-shadow var(--motion-duration) var(--motion-ease);font-weight:600;text-decoration:none;transform:none}main nav:not([aria-label=Pagination]) a:hover,main nav:not([aria-label=Pagination]) a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--color-fg);transform:none}main nav:not([aria-label=Pagination]) a[aria-current=page]{font-weight:700}textarea{resize:vertical;min-height:6rem}fieldset{padding:var(--space-md);border:var(--border-width) solid var(--color-fg);border-radius:var(--radius-sm);gap:var(--space-sm);flex-direction:column;margin:0;display:flex}fieldset+fieldset{margin-top:var(--space-md)}legend{padding:0 var(--space-xs);font-size:var(--font-size-sm);font-weight:700}:is(label:has(input[type=checkbox]),label:has(input[type=radio])){align-items:center;gap:var(--space-sm);cursor:pointer;font-weight:400;display:flex}input[type=checkbox],input[type=radio]{appearance:none;border:var(--border-width-strong) solid transparent;border-radius:var(--radius-sm);width:1.125rem;height:1.125rem;box-shadow:inset 0 0 0 1px var(--color-fg);cursor:pointer;transition:box-shadow var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);background:0 0;flex-shrink:0;margin:0}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{transform:scale(1.08)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:var(--border-width-strong) solid var(--color-fg);outline-offset:2px}input[type=checkbox]:checked{box-shadow:inset 0 0 0 6px var(--color-fg)}input[type=radio]:checked{box-shadow:inset 0 0 0 1px var(--color-fg);background:radial-gradient(circle, var(--color-fg) 40%, transparent 42%)}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.4;cursor:not-allowed;transform:none}table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}th,td{padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--color-fg);text-align:left}th{font-weight:700}blockquote{padding:var(--space-md) var(--space-md) var(--space-md) var(--space-lg);border-left:var(--border-width-strong) solid var(--color-fg);margin:0}blockquote footer,blockquote cite{margin-top:var(--space-sm);font-size:var(--font-size-sm);opacity:.6;font-style:normal;display:block}details{border:var(--border-width) solid var(--color-fg);border-radius:var(--radius-sm);transition:border-width var(--motion-duration) var(--motion-ease)}details[open]{border-width:var(--border-width-strong)}details+details{margin-top:var(--space-sm)}summary{padding:var(--space-sm) var(--space-md);cursor:pointer;transition:transform var(--motion-duration) var(--motion-ease);font-weight:600;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"›";float:right;transition:transform var(--motion-duration) var(--motion-ease);font-weight:700}details[open]>summary:after{transform:rotate(90deg)}summary:hover{transform:translate(2px)}details>:not(summary){padding:0 var(--space-md) var(--space-md);font-size:var(--font-size-sm);margin:0}details[open]>summary{border-bottom:var(--border-width) solid var(--color-fg);margin-bottom:var(--space-md)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=ink],[data-theme=forest],[data-theme=electric]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select option,select optgroup{background-color:var(--color-bg);color:var(--color-fg)}#app>header,#app>main,#app>footer{max-width:var(--content-width);padding-inline:var(--space-md);margin-inline:auto}#app>header{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-xl) var(--space-lg);border-bottom:var(--border-width) solid var(--color-fg);display:flex}#app>main{gap:var(--space-lg);padding-block:var(--space-xl);flex-direction:column;display:flex}#app>footer{padding-block:var(--space-lg);border-top:var(--border-width) solid var(--color-fg)}[role=alert]{visibility:visible}input:not([aria-invalid=true])+[role=alert],textarea:not([aria-invalid=true])+[role=alert]{visibility:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}#app>header nav{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}#app>header nav>button{padding:var(--space-xs) var(--space-sm)}[data-app-settings]{width:min(28rem,100% - 2rem);padding:var(--space-xl);border:var(--border-width) solid var(--color-fg);border-radius:var(--radius-md,.25rem);background:var(--color-bg);color:var(--color-fg);margin:auto}[data-app-settings]::backdrop{background:#00000080}[data-custom-theme]{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}[data-custom-theme] input[type=color]{width:100%;height:3rem;padding:var(--space-xs)}[data-app-settings]{max-height:calc(100dvh - 2rem);overflow-y:auto}
