@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-spacer{flex:1}.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}.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;margin:1em}.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)}}.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}
