@import"https://fonts.bunny.net/css?family=roboto-mono:200,300,400,500,600,700,800,900|prompt:300,500|crimson-pro:200,300,400,500,600,700,800,900|nunito:300,400,500,600,700,800,900";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}b{font-weight:700}i{font-style:italic}ul{list-style:disc}*{box-sizing:border-box;--kc-coral: #e89a85;--kc-coral-deep: #d07d68;--kc-sand: #d4b896;--kc-sand-deep: #b89870;--kc-butter:#f0d27a;--kc-butter-deep:#d8b75a;--kc-mint: #9ec4a8;--kc-mint-deep: #82a98c;--kc-sky: #a3cfe0;--kc-sky-deep: #7fb4ca;--kc-lilac: #b8a3d4;--kc-lilac-deep: #9c85c0;--kc-ink: #2d3142;--kc-ink-deep: #1c1f2c;--kc-cream: #fffdf7;--kc-cream-deep: #ece8dd;--kc-cocoa: #8b6f5c;--kc-cocoa-deep: #6e5544;--invalid-bg: var(--kc-coral-deep)}body{font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f2ea}button{font-family:inherit;color:#fafafa;padding:.9rem 2rem;border:none;border-radius:.5rem;cursor:pointer}button.keycap{box-shadow:#0000001a 0 -4px inset;font-weight:800;font-size:1.5em}button.keycap:active{box-shadow:none;transform:translateY(2px)}button.keycap:is([data-success]){background:var(--kc-mint)}button.keycap:is([data-primary]){background:var(--kc-ink)}button.keycap:hover{filter:brightness(110%)}button.keycap:active{filter:brightness(95%)}button.keycap.keycap-long{min-width:300px}h1{font-family:Crimson Pro,serif;font-weight:800;font-size:48px;letter-spacing:.03em;margin:0;text-align:center}h2{font-weight:400;font-size:24px;margin:0;text-align:center}h3{margin:0;text-align:center;font-family:Crimson Pro,serif}.accentuated{text-shadow:2px 2px 0 rgba(255,255,255,.45),3px 3px 0 rgba(0,0,0,.08);filter:drop-shadow(2px 3px 0 rgba(0,0,0,.1))}.enclosure-game{display:flex;flex-direction:column;align-items:center;position:relative;--enc-cell-size: min(4rem, calc((100vw - 1.5rem) / var(--enc-cols)));--enc-board-radius: 1rem;--enc-cage-radius: .25rem;--enc-grid-line: 3px;--enc-grid-color: rgba(255,255,255,.2);--enc-cage-line: 3px;--enc-cage-color: #ffffff;--enc-cell-bg: #ffffff;--enc-selected-ring: rgba(0,0,0,.7);--enc-text-color: #fafafa;--enc-text-color-clue: #fafafa;--enc-text-color-entered: #fafafa;--enc-keypad-gap: 1rem;--enc-keypad-key-size: 5rem;--enc-keypad-key-bg: #fff;--enc-keypad-key-bg-hover: #ebebeb;--enc-keypad-key-color: #1a1a1a;--enc-keypad-key-radius: 1rem;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;width:calc(var(--enc-cols) * var(--enc-cell-size))}.enclosure-timer{align-self:stretch;text-align:right;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;letter-spacing:.05em;color:#c7c2b2;margin-bottom:.5rem}.enclosure-board{display:inline-grid;grid-template-columns:repeat(var(--enc-cols),var(--enc-cell-size));grid-auto-rows:var(--enc-cell-size);border-radius:var(--enc-board-radius);position:relative}.enclosure-cell[data-cage-tint="0"]{color:#000;box-shadow:inset 0 0 0 calc(var(--enc-grid-line) / 2) #0000000d}.enclosure-cell[data-cage-tint="0"][data-clue=true]:before{background:#5151510f}.enclosure-cell{width:var(--enc-cell-size);height:var(--enc-cell-size);display:flex;align-items:center;justify-content:center;background:var(--enc-cell-bg);font-size:calc(var(--enc-cell-size) * .45);font-weight:700;color:var(--enc-text-color-entered);-webkit-user-select:none;user-select:none;outline:none;box-shadow:inset 0 0 0 calc(var(--enc-grid-line) / 2) var(--enc-grid-color);position:relative}.enclosure-cell .enclosure-cell-value{text-shadow:1px 1px 0 rgba(255,255,255,.25),1px 2px 0 rgba(0,0,0,.1),1px 1px 0 rgba(0,0,0,.08)}.enclosure-cell-value{transition:cubic-bezier(.18,.89,.32,1.28) .15s;transform:scale(1)}.enclosure-cage-layer{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;pointer-events:none;transition:cubic-bezier(.18,.89,.32,1.28) .25s;transform:scale(1)}@starting-style{.enclosure-cell-value,.enclosure-cage-layer{transform:scale(0)}}.enclosure-cell[data-cage-tint="0"]{background:var(--enc-cage-tint-0)}.enclosure-cell[data-cage-tint="1"]{background:var(--enc-cage-tint-1)}.enclosure-cell[data-cage-tint="2"]{background:var(--enc-cage-tint-2)}.enclosure-cell[data-cage-tint="3"]{background:var(--enc-cage-tint-3)}.enclosure-cell[data-cage-tint="4"]{background:var(--enc-cage-tint-4)}.enclosure-cell[data-cage-tint="5"]{background:var(--enc-cage-tint-5)}.enclosure-cell[data-cage-tint="6"]{background:var(--enc-cage-tint-6)}.enclosure-cell[data-cage-tint="7"]{background:var(--enc-cage-tint-7)}.enclosure-cell[data-cage-tint="8"]{background:var(--enc-cage-tint-8)}.enclosure-cell[data-clue=true]{font-weight:800;position:relative}.enclosure-cell[data-clue=true] .enclosure-cell-value{text-shadow:1px 1px 0 rgba(255,255,255,.3),1px 2px 0 rgba(0,0,0,.1),1px 1px 0 rgba(0,0,0,.08);position:relative;z-index:1}.enclosure-cell[data-clue=true]:before{content:"";position:absolute;top:50%;left:50%;width:70%;height:70%;border-radius:50%;background:#ffffff2e;transform:translate(-50%,-50%);pointer-events:none;z-index:0}.enclosure-cell[data-invalid=true]{background:var(--invalid-bg)}.enclosure-cell[data-invalid=true] .enclosure-cell-value{text-shadow:1px 1px 0 rgba(255,255,255,.35),1px 1px 0 rgba(0,0,0,.08)}.enclosure-cell[data-selected=true]{box-shadow:inset 0 0 0 2px var(--enc-selected-ring),inset 0 0 0 calc(var(--enc-grid-line) / 2) var(--enc-grid-color);z-index:10;border-radius:.25rem}.enclosure-keypad{align-self:center;display:grid;grid-template-columns:repeat(3,0fr);grid-template-rows:repeat(2,0fr);justify-items:center;gap:var(--enc-keypad-gap);margin-top:var(--enc-keypad-gap)}.enclosure-keypad-key{width:var(--enc-keypad-key-size);height:var(--enc-keypad-key-size);align-items:center;justify-content:center;background:var(--enc-keypad-key-bg);color:var(--enc-keypad-key-color);border:none;border-radius:var(--enc-keypad-key-radius);font-family:inherit;font-size:calc(var(--enc-keypad-key-size) * .4);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0;box-shadow:0 2px #2d31421a;font-weight:800}.enclosure-keypad-key:hover{background:var(--enc-keypad-key-bg-hover)}.enclosure-keypad-key:active{transform:translateY(2px);box-shadow:none}.enclosure-keypad-key:focus-visible{outline:2px solid var(--enc-cell-bg-selected);outline-offset:2px}.enclosure-header{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.enclosure-menu{position:relative;display:flex}.enclosure-menu-trigger{padding:.15rem .6rem;background:transparent;color:var(--kc-ink);border:none;border-radius:.5rem;font-size:1.6rem;line-height:1;cursor:pointer}.enclosure-menu-trigger:hover{background:#2d31420f}.enclosure-menu-dropdown{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;min-width:11rem;display:flex;flex-direction:column;padding:.35rem;background:#fff;border-radius:.6rem;box-shadow:0 8px 24px #0000002e,0 2px 6px #0000001a;animation:enclosure-stuck-tip-in .14s ease-out}.enclosure-menu-item{padding:.6rem .7rem;background:transparent;color:var(--kc-ink);border:none;border-radius:.4rem;font-family:inherit;font-size:.95rem;font-weight:600;text-align:left;cursor:pointer}.enclosure-menu-item:hover:not(:disabled){background:#2d31420f}.enclosure-menu-item:disabled{opacity:.4;cursor:default}.enclosure-rules-hint{align-self:stretch;margin:.85rem 0 0;text-align:center;font-size:.85rem;line-height:1.4;color:#2d314299}.enclosure-stuck{position:relative;display:flex}.enclosure-stuck-tip{position:absolute;top:calc(100% + .6rem);right:0;z-index:30;width:max-content;max-width:16rem;display:flex;align-items:flex-start;gap:.4rem;padding:.6rem .7rem;background:var(--kc-ink);color:#fafafa;border-radius:.6rem;box-shadow:0 6px 18px #00000047;font-size:.85rem;line-height:1.35;text-align:left;animation:enclosure-stuck-tip-in .18s ease-out}.enclosure-stuck-tip:before{content:"";position:absolute;top:-5px;right:1.25rem;width:10px;height:10px;background:var(--kc-ink);transform:rotate(45deg)}.enclosure-rules-tip{max-width:14rem}.enclosure-rules-tip:before{right:.9rem}.enclosure-stuck-tip-close{flex:none;margin:-.2rem -.2rem 0 0;padding:0 .25rem;background:transparent;color:#fafafab3;border:none;font-size:1.05rem;line-height:1.2;cursor:pointer}.enclosure-stuck-tip-close:hover{color:#fff}@keyframes enclosure-stuck-tip-in{0%{opacity:0;transform:translateY(-4px)}}.enclosure-topbar{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.enclosure-topbar .enclosure-timer{margin-bottom:0}.enclosure-topbar-start{flex:1;display:flex;align-items:center;gap:.75rem}.enclosure-undo-group{display:flex;align-items:center;gap:.75rem}.enclosure-undo{display:inline-flex;align-items:center;gap:.3em;background:transparent;border:none;padding:0;line-height:1;font-family:inherit;font-size:.95rem;font-weight:700;color:#c7c2b2;cursor:pointer}.enclosure-undo-icon{width:1.05em;height:1.05em;flex:none}.enclosure-undo:hover:not(:disabled){color:#fff}.enclosure-undo:disabled{opacity:.4;cursor:default}.enclosure-undo:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:.25rem}.enclosure-hint-link{background:transparent;border:none;padding:0;font-family:inherit;font-size:.95rem;color:#c7c2b2;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.enclosure-hint-link:hover{color:#fff}.enclosure-hint-link:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:.25rem}.enclosure-hint-actions{align-self:center;display:flex;align-items:center;gap:.6rem;margin-top:.75rem}.enclosure-hint-button{margin:0;align-self:auto;padding:.55rem 1.4rem;background:transparent;color:inherit;border:1px solid currentColor;border-radius:999px;font-family:inherit;font-size:.95rem;font-weight:700;letter-spacing:.04em;cursor:pointer;opacity:.85}.enclosure-hint-button:hover{opacity:1}.enclosure-hint-button:focus-visible{outline:2px solid #fff;outline-offset:2px}.enclosure-hint-debug{margin:0;padding:.35rem .7rem;background:transparent;color:#c7c2b2;border:1px dashed currentColor;border-radius:999px;font-family:inherit;font-size:.75rem;font-weight:600;letter-spacing:.04em;cursor:pointer;opacity:.7}.enclosure-hint-debug:hover{opacity:1}@keyframes enclosure-hint-pulse{0%,to{box-shadow:inset 0 0 0 3px #ffc447,0 0 12px 2px #ffc4478c}50%{box-shadow:inset 0 0 0 3px #ffdc82,0 0 16px 4px #ffc447d9}}.enclosure-cell[data-hint-role=target]{animation:enclosure-hint-pulse 1.6s ease-in-out infinite;z-index:6;border-radius:.25rem;position:relative}.enclosure-cell[data-hint-role=subject]{box-shadow:inset 0 0 0 3px #3bf;z-index:5;border-radius:.25rem}.enclosure-cell[data-hint-role=focus]{box-shadow:inset 0 0 0 3px #3cdd71;z-index:4;border-radius:.25rem}.enclosure-cell[data-hint-role=blocker]{box-shadow:inset 0 0 0 3px #eb4747;z-index:4;border-radius:.25rem}.enclosure-cell[data-hint-role=dim]{opacity:.35;filter:saturate(.6)}.enclosure-board[data-hint-active=true] .enclosure-cell{pointer-events:none;cursor:default}.enclosure-cell-reveal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.45;font-weight:800}.enclosure-hint-panel{position:absolute;max-width:22rem;min-width:12rem;background:#fff;color:#1a1a1a;border-radius:.75rem;box-shadow:0 8px 24px #00000040,0 2px 6px #0000001f;padding:.6rem .75rem .7rem;font-size:.95rem;line-height:1.35;z-index:20}.enclosure-hint-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.enclosure-hint-panel-title{font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#0000008c}.enclosure-hint-panel-close{background:transparent;border:none;padding:0 .25rem;font-size:1.25rem;line-height:1;color:#0000008c;cursor:pointer}.enclosure-hint-panel-close:hover{color:#000}.enclosure-hint-panel-body{color:#1a1a1a}.enclosure-hint-panel--toast{left:50%;bottom:1rem;top:auto;transform:translate(-50%);background:#1a1a1aeb;color:#fff;border-radius:.5rem;font-size:.9rem;padding:.5rem .85rem}.enclosure-hint-panel--toast .enclosure-hint-panel-body{color:#fff}.enclosure-hint-panel-nav{display:flex;align-items:center;justify-content:space-between;margin-top:.55rem;gap:.5rem}.enclosure-hint-panel-navbtn{background:transparent;border:1px solid rgba(0,0,0,.2);border-radius:999px;padding:.3rem .8rem;font-family:inherit;font-size:.85rem;font-weight:700;color:#1a1a1a;cursor:pointer}.enclosure-hint-panel-navbtn:hover:not(:disabled){background:#0000000d}.enclosure-hint-panel-navbtn:disabled{opacity:.35;cursor:not-allowed}.enclosure-hint-panel-navbtn--primary{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.enclosure-hint-panel-navbtn--primary:hover:not(:disabled){background:#000}.enclosure-hint-panel-stepindex{font-size:.8rem;color:#0000008c;font-variant-numeric:tabular-nums}.enclosure-board[data-links=on]{touch-action:none}.enclosure-link-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.enclosure-board[data-links=on] .enclosure-cell-value{position:relative;z-index:3}.enclosure-board[data-links=on] .enclosure-cell-notes,.enclosure-board[data-links=on] .enclosure-cell-reveal{z-index:3}.enclosure-board[data-links=on] .enclosure-cell{--enc-text-halo: var(--enc-cell-bg)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="0"]{--enc-text-halo: var(--enc-cage-tint-0)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="1"]{--enc-text-halo: var(--enc-cage-tint-1)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="2"]{--enc-text-halo: var(--enc-cage-tint-2)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="3"]{--enc-text-halo: var(--enc-cage-tint-3)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="4"]{--enc-text-halo: var(--enc-cage-tint-4)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="5"]{--enc-text-halo: var(--enc-cage-tint-5)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="6"]{--enc-text-halo: var(--enc-cage-tint-6)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="7"]{--enc-text-halo: var(--enc-cage-tint-7)}.enclosure-board[data-links=on] .enclosure-cell[data-cage-tint="8"]{--enc-text-halo: var(--enc-cage-tint-8)}.enclosure-board[data-links=on] .enclosure-cell[data-invalid=true]{--enc-text-halo: var(--invalid-bg)}.enclosure-board[data-links=on] .enclosure-cell[data-clue=true] .enclosure-cell-value{-webkit-text-stroke-color:color-mix(in srgb,var(--enc-text-halo),white 18%)}.enclosure-board[data-links=on] .enclosure-cell[data-clue=true][data-cage-tint="0"] .enclosure-cell-value{-webkit-text-stroke-color:color-mix(in srgb,var(--enc-text-halo),rgb(81,81,81) 6%)}.enclosure-board[data-links=on] .enclosure-cell-value,.enclosure-board[data-links=on] .enclosure-cell-reveal{-webkit-text-stroke:.26em var(--enc-text-halo);paint-order:stroke fill;text-shadow:none}.enclosure-board[data-links=on] .enclosure-cell-notes span{-webkit-text-stroke:.4em var(--enc-text-halo);paint-order:stroke fill}.enclosure-board[data-links=on] .enclosure-cell[data-selected=true]{z-index:auto;box-shadow:inset 0 0 0 calc(var(--enc-grid-line) / 2) var(--enc-grid-color)}.enclosure-board[data-links=on] .enclosure-cell[data-selected=true]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--enc-selected-ring);pointer-events:none}.enclosure-link-line{fill:none;stroke:#2d31428c;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.enclosure-link-casing{fill:none;stroke:#fffdf7f2;stroke-width:9px;stroke-linecap:round}.enclosure-link-layer [data-active=true] .enclosure-link-line{stroke:#2d3142f2;stroke-width:7px}.enclosure-link-layer [data-active=true] .enclosure-link-casing{stroke-width:12px}.enclosure-link-node[data-active=true]{stroke:#2d3142f2;stroke-width:4px}.enclosure-link-preview{stroke:#2d314259;stroke-dasharray:2 9}.enclosure-link-node{fill:#fffdf7;stroke:#2d31428c;stroke-width:3px;vector-effect:non-scaling-stroke}.enclosure-link-layer [data-burning=true] .enclosure-link-line{stroke-width:8px;filter:drop-shadow(0 0 3px rgba(255,255,255,.9))}@keyframes enclosure-chain-pop{0%{transform:scale(.1) rotate(-12deg);opacity:0}45%{transform:scale(1.45) rotate(4deg);opacity:1}70%{transform:scale(.9) rotate(-1deg)}to{transform:scale(1) rotate(0)}}@keyframes enclosure-chain-ring{0%{box-shadow:inset 0 0 #fff0}20%{box-shadow:inset 0 0 0 7px #fffffff2}to{box-shadow:inset 0 0 #fff0}}.enclosure-cell[data-chain-fill=true]{animation:enclosure-chain-ring .65s ease-out}.enclosure-cell[data-chain-fill=true] .enclosure-cell-value{display:inline-block;animation:enclosure-chain-pop .5s cubic-bezier(.2,.9,.3,1.2)}@keyframes enclosure-undo-out{0%{transform:scale(1);opacity:1}30%{transform:scale(1.12);opacity:1}to{transform:scale(.2);opacity:0}}.enclosure-cell-undone{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.enclosure-cell-undone .enclosure-cell-value{display:inline-block;transition:none;animation:enclosure-undo-out .32s cubic-bezier(.5,0,.75,0) both}.enclosure-board[data-links=on] .enclosure-cell-undone{z-index:3}.enclosure-cell[data-revert]>.enclosure-cell-value{display:inline-block;transition:none;animation:enclosure-chain-pop .5s cubic-bezier(.2,.9,.3,1.2) both}.enclosure-cell[data-revert-swap=true]>.enclosure-cell-value{animation-delay:.2s}.enclosure-cell-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;animation:enclosure-chain-ring .65s ease-out}.enclosure-cell-ring[data-dir=undo]{animation-direction:reverse}@media (prefers-reduced-motion: reduce){.enclosure-cell[data-chain-fill=true],.enclosure-cell[data-chain-fill=true] .enclosure-cell-value,.enclosure-cell[data-revert]>.enclosure-cell-value{animation:none}.enclosure-cell-undone,.enclosure-cell-ring{display:none}.enclosure-link-layer [data-burning=true] .enclosure-link-line{filter:none}}.enclosure-experiments{display:flex;flex-direction:column;gap:1rem;text-align:left}.enclosure-experiments-toggle{display:flex;gap:.6rem;align-items:flex-start;font-weight:700;cursor:pointer}.enclosure-experiments-toggle input{margin-top:.25rem}.enclosure-experiments-note{display:block;font-weight:400;font-size:.9rem;opacity:.75}.enclosure-experiments fieldset{border:none;margin:0;padding:0 0 0 1.6rem;display:flex;flex-direction:column;gap:.35rem}.enclosure-experiments fieldset:disabled{opacity:.4}.enclosure-experiments legend{padding:0;margin-bottom:.25rem;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.enclosure-experiments-option{display:flex;gap:.5rem;align-items:flex-start;cursor:pointer}.enclosure-experiments-option input{margin-top:.25rem}.enclosure-experiments-rule{width:100%;margin:0;border:none;border-top:1px solid rgba(45,49,66,.12)}.enclosure-experiments fieldset.enclosure-experiments-group{padding-left:0}.enclosure-cell{position:relative}.enclosure-cell-notes{position:absolute;top:8%;right:8%;bottom:8%;left:8%;display:grid;grid-template-columns:repeat(var(--enc-note-cols, 3),1fr);grid-template-rows:repeat(var(--enc-note-cols, 3),1fr);place-items:center;font-size:calc(var(--enc-cell-size) * .2);font-weight:700;line-height:1;color:#2d3142b3;pointer-events:none}.enclosure-cell-notes[data-cols="2"]{--enc-note-cols: 2;font-size:calc(var(--enc-cell-size) * .24)}.enclosure-input-mode{grid-column:1 / -1;justify-self:stretch;display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;border-radius:999px;background:var(--enc-keypad-key-bg)}.enclosure-input-mode-option{padding:.5rem 1rem;border:none;border-radius:999px;background:transparent;color:var(--enc-keypad-key-color);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.enclosure-input-mode-option:hover:not([aria-checked=true]){background:var(--enc-keypad-key-bg-hover)}.enclosure-input-mode-option[aria-checked=true]{background:#2d3142;color:#fff}.enclosure-input-mode-option:last-child[aria-checked=true]{background:#2e86ab}.enclosure-input-mode-option:focus-visible{outline:2px solid #2e86ab;outline-offset:2px}.enclosure-game[data-notes-mode=true] .enclosure-keypad-key{color:#1d5f7c;box-shadow:inset 0 0 0 2px #2e86ab}.enclosure-game[data-notes-mode=true] .enclosure-cell[data-selected=true]{box-shadow:inset 0 0 0 3px #2e86ab,inset 0 0 0 calc(var(--enc-grid-line) / 2) var(--enc-grid-color)}.enclosure-game[data-notes-mode=true] .enclosure-board[data-links=on] .enclosure-cell[data-selected=true]{box-shadow:inset 0 0 0 calc(var(--enc-grid-line) / 2) var(--enc-grid-color)}.enclosure-game[data-notes-mode=true] .enclosure-board[data-links=on] .enclosure-cell[data-selected=true]:after{box-shadow:inset 0 0 0 3px #2e86ab}.post-feed{display:flex;flex-direction:column;gap:1rem;width:min(24rem,100%)}.post-card{display:flex;gap:.9rem;align-items:stretch;text-align:left;text-decoration:none;color:var(--kc-ink);background:var(--kc-cream);border:1px solid var(--kc-cream-deep);border-radius:.75rem;padding:.9rem;box-shadow:#0000000f 0 2px 6px;transition:transform .12s ease,box-shadow .12s ease}.post-card:hover{transform:translateY(-2px);box-shadow:#0000001f 0 6px 14px}.post-card:active{transform:translateY(0)}.post-card-thumb{flex:0 0 auto;width:4.5rem;height:4.5rem;object-fit:cover;border-radius:.5rem}.post-card-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.post-card-meta{display:flex;align-items:center;gap:.5rem}.post-card-date{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#2d31428c}.post-card-pin{font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--kc-cocoa-deep)}.post-card-engagement{display:flex;gap:.9rem;margin-top:.35rem;font-size:.8rem;color:#2d314299}.post-card-stat{display:inline-flex;align-items:center;gap:.25rem}.post-card-title{font-family:Crimson Pro,serif;font-weight:700;font-size:1.25rem;line-height:1.15}.post-card-blurb{font-size:.9rem;line-height:1.35;color:#2d3142cc}.post-card-group{display:flex;flex-direction:column;gap:.6rem;width:min(24rem,100%)}.post-card-group-title{font-family:Crimson Pro,serif;font-weight:700;font-size:1.1rem;color:#2d3142bf}.post-card-group-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.post-card-group-track>.post-card{flex:0 0 16rem;scroll-snap-align:start}@media (min-width: 40rem){.post-card-group{width:min(52rem,100%)}.post-card-group-track{flex-wrap:wrap;overflow-x:visible}.post-card-group-track>.post-card{flex:1 1 16rem}}.post-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 5rem}.post-page-inner{width:min(40rem,100%);display:flex;flex-direction:column;gap:1.25rem}.post-page-back{align-self:flex-start;background:transparent;border:none;color:inherit;font-family:inherit;font-size:.9rem;text-decoration:none}.post-page-date{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#2d31428c}.post-page-cover{width:min(100%,16rem);align-self:center;border-radius:.75rem;object-fit:cover}.post-page p{line-height:1.6;font-size:1.05rem}.post-page-missing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.post-page h2{font-family:Crimson Pro,serif;font-weight:700;font-size:1.6rem;line-height:1.15;margin-top:.75rem}.post-page-list{display:flex;flex-direction:column;gap:.5rem;padding-left:1.25rem;list-style:disc;line-height:1.6;font-size:1.05rem}.post-diagram{--post-cell: 2.6rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:.25rem 0 .5rem}.post-diagram-grid{display:grid;gap:3px}.post-diagram-cell{width:var(--post-cell);height:var(--post-cell);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.35rem;color:var(--kc-ink);border-radius:.4rem;box-shadow:inset 0 0 0 1px #ffffff8c}.post-diagram-cell span{text-shadow:1px 1px 0 rgba(255,255,255,.4),1px 2px 0 rgba(0,0,0,.12)}.post-diagram-cell[data-found=true]{box-shadow:inset 0 0 0 3px var(--kc-ink),0 2px 6px #0000002e}.post-diagram-cell .post-diagram-cross{font-weight:600;color:#2d314266;text-shadow:none}.post-diagram-caption{max-width:26rem;font-size:.95rem;line-height:1.4;color:#2d3142bf;text-align:center}.post-page strong{font-weight:800}.post-page mark,.post-diagram-caption mark{background:linear-gradient(transparent 55%,var(--kc-butter) 55%);color:inherit;padding:0 .1em}.post-page a{color:var(--kc-cocoa-deep);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.post-page a.post-page-back{font-weight:inherit;text-decoration:none;color:inherit}.post-page-tip{display:flex;flex-direction:column;gap:.25rem;background:var(--kc-cream);border:1px solid var(--kc-cream-deep);border-left:4px solid var(--kc-butter-deep);border-radius:.5rem;padding:.85rem 1rem}.post-page-tip strong{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--kc-cocoa-deep)}.post-page .post-page-tip p{margin:0}.post-page-nav{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--kc-cream-deep)}.post-page a.post-page-nav-link{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;background:var(--kc-cream);border:1px solid var(--kc-cream-deep);border-radius:.75rem;box-shadow:#0000000f 0 2px 6px;color:var(--kc-ink);font-weight:inherit;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.post-page a.post-page-nav-link:hover{transform:translateY(-2px);box-shadow:#0000001f 0 6px 14px}.post-page-nav-link[data-direction=next]{grid-column:2;text-align:right}.post-page-nav-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#2d31428c}.post-page-nav-title{font-family:Crimson Pro,serif;font-weight:700;font-size:1.15rem;line-height:1.2}@media (max-width: 26rem){.post-page-nav{grid-template-columns:1fr}.post-page-nav-link[data-direction=next]{grid-column:auto}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#1c1f2c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-overlay-in .15s ease-out}.modal-card{width:min(28rem,100%);max-height:calc(100vh - 3rem);overflow-y:auto;background:#fffdf7;color:#2d3142;box-shadow:0 12px 40px #00000047,0 3px 10px #00000024;padding:1.5rem;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;animation:modal-card-in .18s cubic-bezier(.18,.89,.32,1.28)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.modal-title{margin:0;text-align:left;font-family:Crimson Pro,serif;font-weight:800;font-size:1.6rem;letter-spacing:.02em}.modal-close{flex:none;margin:-.25rem -.25rem 0 0;padding:0 .4rem;background:transparent;color:#2d31428c;border:none;border-radius:.5rem;font-size:1.5rem;line-height:1.2;cursor:pointer}.modal-close:hover{color:#2d3142}.modal-body{font-size:1.05rem;line-height:1.5}.modal-body p{margin:0 0 .75rem}.modal-body ul{padding-left:1em}.modal-body p:last-child{margin-bottom:0}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1.5rem}.modal-actions button{padding:.7rem 1.4rem;border-radius:.5rem;font-weight:700;font-size:1rem;cursor:pointer;border:1px solid transparent}.modal-actions .modal-btn-primary{background:var(--kc-ink);color:#fafafa}.modal-actions .modal-btn-primary:hover{filter:brightness(115%)}.modal-actions .modal-btn-secondary{background:transparent;color:#2d3142;border-color:#2d31424d}.modal-actions .modal-btn-secondary:hover{background:#2d31420f}@keyframes modal-overlay-in{0%{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}.welcome-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding-top:12rem}.welcome-title{display:flex;flex-direction:column;align-items:center;gap:.25rem}.welcome-number{font-family:Crimson Pro,serif;font-size:1.5rem;font-weight:600;letter-spacing:.04em;color:#2d31428c}.welcome-page>.streak-card{margin-top:4em}.welcome-solved-note{margin:0;font-size:1.05rem;font-weight:600;color:#2d3142b3}.rules-fig{margin:.5rem 0 1rem;display:flex;flex-direction:column;align-items:center;gap:.6rem}.rules-grid{display:grid;gap:3px}.rules-cell{width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;color:#2d3142;border-radius:.4rem;box-shadow:inset 0 0 0 1px #ffffff8c}.rules-cell span{text-shadow:1px 1px 0 rgba(255,255,255,.4),1px 2px 0 rgba(0,0,0,.12)}.rules-cell[data-empty=true]{background:#2d31420a;box-shadow:inset 0 0 0 1px #2d31421a}.rules-cell[data-state=bad]{background:#e8746b;color:#fff;box-shadow:inset 0 0 0 2px #c2463c}.rules-cell[data-faded=true]{opacity:.25}.rules-fig-caption{font-size:.9rem;line-height:1.35;color:#2d3142b3;text-align:center}.rules-compare{display:flex;gap:1.75rem;justify-content:center}.rules-compare-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.rules-badge{font-size:.95rem;font-weight:800;letter-spacing:.01em}.rules-badge[data-kind=bad]{color:#c2463c}.rules-badge[data-kind=good]{color:#3d8c5a}@keyframes win-tile-pop{0%{transform:scale(0)}to{transform:scale(1)}}@property --win-gold-draw{syntax: "<angle>"; inherits: false; initial-value: 360deg;}@property --win-gold-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes win-gold-draw{0%{--win-gold-draw: 0deg}to{--win-gold-draw: 360deg}}@keyframes win-gold-flash{0%{filter:drop-shadow(0 0 4px rgba(243,207,61,.6)) brightness(1)}35%{filter:drop-shadow(0 0 16px rgba(255,220,110,1)) brightness(1.5)}to{filter:drop-shadow(0 0 6px rgba(243,207,61,.55)) brightness(1)}}@keyframes win-gold-spin{to{--win-gold-angle: 360deg}}.win-gold-frame{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;padding:11px;pointer-events:none;filter:drop-shadow(0 0 6px rgba(243,207,61,.55));-webkit-mask:conic-gradient(#000 var(--win-gold-draw),transparent 0);mask:conic-gradient(#000 var(--win-gold-draw),transparent 0);animation:win-gold-draw .85s cubic-bezier(.6,0,.4,1) both,win-gold-flash .45s ease-out .85s both}.win-gold-ring{box-sizing:border-box;width:100%;height:100%;padding:3px;border-radius:calc(1rem + 3px);background:conic-gradient(from var(--win-gold-angle),#b8860b,#f3cf3d,#fff4c2,#f3cf3d,#b8860b,#d4a017,#b8860b);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:win-gold-spin 3s linear infinite}@media (prefers-reduced-motion: reduce){.win-gold-frame,.win-gold-ring{animation:none}}.debug-menu-toggle{position:fixed;bottom:.5rem;right:.5rem;background:#2d314299;color:#fffdf7;font-family:Nunito,system-ui,sans-serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .5rem;border:none;border-radius:.3rem;cursor:pointer;z-index:9999;opacity:.45}.debug-menu-toggle:hover{opacity:1}.debug-menu{position:fixed;bottom:1rem;right:1rem;background:#2d3142f0;color:#fffdf7;padding:.6rem .75rem;border-radius:.5rem;display:flex;flex-direction:column;gap:.4rem;font-family:Nunito,system-ui,sans-serif;z-index:9999;box-shadow:0 4px 12px #00000040;min-width:160px}.debug-menu-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.debug-menu-title{font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.debug-menu-close{background:transparent;border:none;color:#fffdf7;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .25rem;opacity:.65}.debug-menu-close:hover{opacity:1}.debug-menu-action{font-family:inherit;font-size:.85rem;padding:.4rem .55rem;border-radius:.3rem;background:#ffffff14;color:#fffdf7;border:1px solid rgba(255,255,255,.18);cursor:pointer;text-align:left}.debug-menu-action:hover:not(:disabled){background:#ffffff29}.debug-menu-action:disabled{opacity:.5;cursor:not-allowed}
