: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)}[data-theme=antique-paper]{--color-bg:#f3e8c8;--color-fg:#231f18}: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}[data-side-panel]{flex:1;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}[data-panel-main]{flex-direction:column;min-width:0;min-height:0;display:flex}[data-panel-trigger]{border:1px solid var(--color-fg);background:var(--color-bg);width:44px;min-height:44px;color:var(--color-fg);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}[data-panel-icon]{transform-box:view-box;transform-origin:12px 12px;transition:transform .18s,opacity .18s}[data-panel-trigger][aria-expanded=true] [data-panel-icon=top]{transform-origin:12px 6px;transform:translateY(6px)rotate(45deg)}[data-panel-trigger][aria-expanded=true] [data-panel-icon=middle]{opacity:0}[data-panel-trigger][aria-expanded=true] [data-panel-icon=bottom]{transform-origin:12px 18px;transform:translateY(-6px)rotate(-45deg)}@media (prefers-reduced-motion:reduce){[data-panel-icon]{transition:none}}[data-panel-dialog]{border:0;border-right:1px solid var(--color-fg);background:var(--color-bg);width:min(17rem,100% - 3rem);max-width:none;height:100dvh;max-height:none;color:var(--color-fg);border-radius:0;margin:0;padding:1rem;position:fixed;inset:0 auto 0 0;overflow-y:auto}[data-panel-dialog][open]{flex-direction:column;gap:1rem;display:flex}[data-panel-dialog]::backdrop{background:#00000059}[data-panel-heading]{justify-content:space-between;align-items:center;gap:1rem;display:flex}[data-panel-heading]>button{width:44px;min-height:44px;padding:0}[data-panel-dialog] [data-panel-navigation]{flex-flow:column;flex:1;align-items:stretch;gap:.25rem;display:flex}[data-panel-dialog] [data-panel-navigation]>button,[data-panel-dialog] [data-panel-navigation]>a{text-align:left;width:100%;min-height:44px;font:inherit;color:var(--color-fg);background:var(--color-bg);box-shadow:none;border:0;border-radius:0;justify-content:flex-start;align-items:center;padding:.5rem;display:flex}[data-panel-dialog] [data-panel-navigation]>hr{width:100%}[data-panel-dialog] [data-panel-navigation]>[data-panel-return]{border-top:1px solid var(--color-fg);margin-top:auto;padding-top:1rem}[data-side-panel][data-desktop=true][data-expanded=true]{grid-template-columns:15rem minmax(0,1fr)}[data-side-panel][data-desktop=true]>[data-panel-dialog]{grid-area:1/1;width:100%;height:100%;max-height:100%;position:static}[data-side-panel][data-desktop=true][data-expanded=true]>[data-panel-main]{grid-area:1/2}[data-panel-dialog] [data-panel-navigation]>a:hover,[data-panel-dialog] [data-panel-navigation]>button:hover,[data-panel-dialog] [data-panel-navigation]>button:active{box-shadow:none;text-decoration:underline;transform:none}[data-theme=enigmo]{--color-bg:#f5f0e6;--color-fg:#203d35;--content-width:52rem}body{margin:0}#app>.enigmo-entry{justify-content:center;gap:1rem;max-width:28rem;min-height:100svh;padding-block:3rem}.enigmo-entry h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,12vw,4rem)}.entry-mark{font-size:4rem;line-height:1}.enigmo-entry form,.final-task form{gap:.75rem;display:grid}.enigmo-entry input{text-transform:uppercase;letter-spacing:.15em}.enigmo-entry button{justify-content:space-between;display:flex}#app>.enigmo-header{padding-block:1.3rem;font-size:.85rem}.enigmo-header a{font-size:1.2rem;font-weight:800;text-decoration:none}#app>.enigmo-puzzle{gap:2rem;padding-bottom:14rem}.intro{padding-block:1rem}.intro h1{letter-spacing:-.05em;margin-block:1rem;font-size:clamp(2.3rem,8vw,4rem);line-height:1.05}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:750;display:block}.intro p,.final-task p{line-height:1.7}.intro small{line-height:1.6;display:block}.question{border:0;border-top:1px solid var(--color-fg);min-width:0;margin:0;padding:1.5rem 0 0}.question legend{float:left;width:100%;margin-bottom:1.3rem;padding:0}.question-text{margin-top:.75rem;font-size:1.15rem;font-weight:650;line-height:1.5;display:block}.answers{clear:both;gap:.65rem;display:grid}.answer{border:1px solid var(--color-fg);cursor:pointer;align-items:center;gap:.85rem;margin:0;padding:.85rem;line-height:1.5;display:flex}.answer input{accent-color:var(--color-fg);flex:none;margin:0}.answer-letter{border:1px solid;flex:0 0 2rem;place-items:center;height:2rem;font-family:monospace;font-size:1.2rem;display:grid}.answer.selected{background:var(--color-fg);color:var(--color-bg)}.answer:focus-within{outline:3px solid var(--color-fg);outline-offset:3px}.final-task{border:2px solid var(--color-fg);padding:1.5rem}.final-task h2{margin-block:.75rem;font-size:1.65rem}.final-task input{text-transform:uppercase}.final-task button{margin-top:.75rem}.feedback{border-left:3px solid;padding-left:1rem}.treasure{border-top:1px solid;margin-top:2rem;padding-top:1.5rem}.letter-dock{z-index:10;background:var(--color-bg);color:var(--color-fg);border-top:2px solid var(--color-fg);padding:.8rem max(1rem, calc((100vw - 48rem) / 2)) max(.6rem, env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 24px #203d3510}.dock-caption{justify-content:space-between;gap:1rem;font-size:.8rem;display:flex}.letter-slots{gap:clamp(.2rem,1vw,.6rem);margin-block:.6rem .3rem;display:flex}.letter-slot{border:1px solid;place-items:center;width:clamp(1.55rem,7vw,3rem);height:clamp(2rem,8vw,3.2rem);font-family:monospace;font-size:clamp(1rem,4vw,1.5rem);font-weight:700;display:grid}.letter-slot.empty{border-style:dashed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-padding-bottom:13rem}@media (width<=420px){.enigmo-header span{display:none}.final-task{padding:1rem}.answer{gap:.6rem;padding:.7rem}}
