:root{--felt-1:#2e7d5b;--felt-2:#14392c;--wood-frame-1:#8a5a2b;--wood-frame-2:#5c3818;--stick-1:#f3d49a;--stick-2:#c9964a;--head:#a8331f;--gold:#c9a227;--gold-lj:#dfc271;--cream:#f6ecd6;--cream-lj:#fbf4e6;--navy:#12233f;--navy-djup:#01172a;--red:#a9302c;--ink:#2a2118;--ink-lj:#5c5140;--display:Georgia,"Times New Roman",serif;--body:"Helvetica Neue",Helvetica,Arial,sans-serif;--num:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--L:40px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;font-family:var(--body);color:#eadfc9;background:radial-gradient(circle at 25% 20%,hsla(0,0%,100%,.045) 0 1px,transparent 1.5px) 0 0/7px 7px,radial-gradient(circle at 70% 65%,rgba(0,0,0,.1) 0 1px,transparent 1.5px) 3px 4px/9px 9px,radial-gradient(ellipse 90% 70% at 50% 25%,var(--felt-1) 0,var(--felt-2) 100%);padding:clamp(10px,2.2vw,26px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.top{margin:0 auto 12px;align-items:flex-end;gap:6px 22px}h1{font-family:var(--display);font-weight:700;font-size:clamp(19px,3vw,28px);margin:0;letter-spacing:-.01em;color:#f2e7d1;text-shadow:0 1px 2px rgba(0,0,0,.5)}h1 span{color:var(--gold-lj)}.counts{display:flex;gap:20px;margin-left:auto}.count{text-align:right}.count .k{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#a9c9b8}.count .v{font-family:var(--num);font-size:19px;color:#f2e7d1}.boxrow{max-width:1040px;margin:0 auto 16px;display:flex;justify-content:center;align-items:flex-end;gap:16px}.box{position:relative;display:flex;align-items:center;touch-action:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));transition:transform .15s}.box:hover{transform:translateY(-2px)}.box:active{cursor:-webkit-grabbing;cursor:grabbing;transform:none}.sleeve{position:relative;z-index:2;width:138px;height:80.5px;border-radius:3px;padding:2px;background:linear-gradient(180deg,#c9985f,#a97c44);box-shadow:inset 0 -3px 6px rgba(0,0,0,.35),0 2px 0 rgba(0,0,0,.35)}.sleeve img{display:block;width:100%;height:100%;border-radius:2px}.drawer{position:relative;z-index:1;cursor:-webkit-grab;cursor:grab;width:96px;height:62px;margin-left:-6px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#d3a86e,#9a6e3c);box-shadow:inset 8px 0 12px rgba(0,0,0,.45),inset 0 -3px 6px rgba(0,0,0,.3);overflow:hidden}.drawer:before{content:"";position:absolute;right:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#b98b52,#7d5729)}.pile{inset:0}.pile,.pile i{position:absolute}.pile i{display:block;height:5px;width:56px;border-radius:3px;background:linear-gradient(180deg,var(--stick-1),var(--stick-2));box-shadow:0 1px 1px rgba(0,0,0,.3)}.pile i:after{content:"";position:absolute;right:-2px;top:50%;width:9px;height:9px;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#e0674c,var(--head))}.sectors{position:absolute;inset:0;z-index:5;pointer-events:none;display:grid;grid-template:1fr 1fr/1fr 1fr;opacity:.45;transition:opacity .15s}.box:hover .sectors{opacity:1}.sectors b{border:1px dashed hsla(0,0%,100%,.3);display:grid;place-items:center;font:700 15px/1 var(--body);color:hsla(0,0%,100%,.7);text-shadow:0 1px 3px rgba(0,0,0,.75)}.boxEmpty{position:absolute;inset:0;display:grid;place-items:center;z-index:4;font-size:10px;color:#5a3d1c;letter-spacing:.1em;text-transform:uppercase}.boxnote{font-size:11.5px;line-height:1.5;color:#a9c9b8;max-width:15ch}.traywrap{max-width:1040px;margin:0 auto;overflow-x:auto;padding-top:22px}.tray{width:-moz-fit-content;width:fit-content;margin:0 auto;background:linear-gradient(160deg,var(--wood-frame-1),var(--wood-frame-2));border-radius:12px;padding:clamp(8px,1.4vw,16px);box-shadow:0 14px 30px rgba(0,0,0,.45),inset 0 1px 0 hsla(0,0%,100%,.22)}.surface,.tray{position:relative}.surface{width:calc(var(--L)*24);height:calc(var(--L)*12);border-radius:5px;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.035) 0 1px,transparent 1.4px) 0 0/6px 6px,linear-gradient(180deg,#256b4f,#1a5039);box-shadow:inset 0 3px 10px rgba(0,0,0,.5);touch-action:none}.surface.hot{box-shadow:inset 0 0 0 2px var(--gold),inset 0 3px 10px rgba(0,0,0,.5)}.grid{position:absolute;inset:0;pointer-events:none;opacity:.45}.grid circle{fill:#8fd0b1}.helpwrap{position:absolute;top:-18px;left:50%;transform:translateX(-50%);z-index:60}.qmark{width:38px;height:38px;border-radius:50%;border:2px solid var(--gold);background:var(--navy);color:var(--cream);font-family:var(--display);font-size:21px;display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 4px 10px rgba(0,0,0,.45);transition:transform .15s,background .15s}.qmark:hover,.qmark[aria-expanded=true]{background:var(--red);transform:scale(1.06)}.card{position:absolute;top:44px;left:50%;transform:translateX(-50%) translateY(-6px);width:min(420px,86vw);background:var(--cream);color:#22160c;border:2px solid var(--navy);border-radius:8px;padding:14px 16px;box-shadow:0 14px 28px rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .15s,transform .15s;text-align:left}.card.open,.helpwrap:hover .card{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.card:before{content:"";position:absolute;top:-9px;left:50%;margin-left:-8px;border:8px solid transparent;border-bottom:8px solid var(--navy);border-top:0}.card .eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#7a5a2a;margin:0 0 4px}.card h2{font-family:var(--display);font-weight:400;font-size:20px;margin:0 0 6px}.card p{margin:0;font-size:14px;line-height:1.55}.card .meta{margin-top:10px;font-size:11.5px;color:#5d4a2c;display:flex;flex-wrap:wrap;gap:4px 14px}.card input,.card textarea{width:100%;font:inherit;background:#fff8e7;border:1px solid #c3ab77;border-radius:4px;padding:6px 8px;margin-bottom:8px;color:#22160c;-webkit-user-select:text;-moz-user-select:text;user-select:text}.card textarea{font-size:13.5px;resize:vertical;min-height:64px}.card label{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7a5a2a;margin-bottom:3px}.match{position:absolute;left:0;top:0;width:var(--L);height:calc(var(--L)*.13);margin-left:calc(var(--L)*-.5);margin-top:calc(var(--L)*-.065);border-radius:calc(var(--L)*.065);background:linear-gradient(180deg,var(--stick-1),var(--stick-2));box-shadow:0 2px 3px rgba(0,0,0,.45),inset 0 -1px 0 rgba(0,0,0,.18);cursor:-webkit-grab;cursor:grab;touch-action:none}.match:after{content:"";position:absolute;right:calc(var(--L)*-.02);top:50%;width:calc(var(--L)*.2);height:calc(var(--L)*.2);transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#e0674c,var(--head));box-shadow:0 1px 2px rgba(0,0,0,.4)}.match.flip:after{right:auto;left:calc(var(--L)*-.02)}.match:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.match.lifted{cursor:-webkit-grabbing;cursor:grabbing;z-index:50;box-shadow:0 10px 16px rgba(0,0,0,.5)}.match.fixed{filter:saturate(.55) brightness(.88);cursor:not-allowed}.ghost{position:fixed;pointer-events:none;z-index:999;opacity:.95}.shelf{display:flex;flex-direction:column;gap:6px;align-items:center}.shelf .lbl{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#a9c9b8}.shelf .row{display:flex;gap:10px}.prop{width:34px;height:34px;padding:0;border:0;background:none;cursor:-webkit-grab;cursor:grab;touch-action:none;border-radius:50%;transition:transform .15s}.prop:hover{transform:translateY(-2px) scale(1.08)}.prop:active{cursor:-webkit-grabbing;cursor:grabbing}.prop i,.thing{display:block;width:100%;height:100%}.thing{position:absolute;left:0;top:0;width:calc(var(--L)*.58);height:calc(var(--L)*.58);margin-left:calc(var(--L)*-.29);margin-top:calc(var(--L)*-.29);cursor:-webkit-grab;cursor:grab;touch-action:none;z-index:20;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.thing.lifted{z-index:60;cursor:-webkit-grabbing;cursor:grabbing}.coin{border-radius:50%;background:radial-gradient(circle at 34% 28%,#f8e6a6,#d8ac45 58%,#8f6520);box-shadow:inset 0 0 0 2px hsla(0,0%,100%,.28),inset 0 -2px 3px rgba(0,0,0,.35)}.berry{position:relative;border-radius:46% 46% 52% 52%/38% 38% 68% 68%;background:radial-gradient(circle at 30% 25%,hsla(0,0%,100%,.5) 0 1px,transparent 1.4px) 0 0/5px 5px,radial-gradient(circle at 38% 30%,#e2604a,#b3241c 72%)}.berry:after{content:"";position:absolute;left:50%;top:-12%;width:70%;height:34%;transform:translateX(-50%);background:radial-gradient(circle at 50% 90%,#3f8f4a,#245c2c);-webkit-clip-path:polygon(50% 100%,0 40%,18% 62%,26% 8%,50% 52%,74% 8%,82% 62%,100% 40%);clip-path:polygon(50% 100%,0 40%,18% 62%,26% 8%,50% 52%,74% 8%,82% 62%,100% 40%)}.gem{background:linear-gradient(150deg,#8fe3ff,#2f8fc4 45%,#14567f);-webkit-clip-path:polygon(50% 0,100% 36%,50% 100%,0 36%);clip-path:polygon(50% 0,100% 36%,50% 100%,0 36%);box-shadow:none;filter:none}.thing.gem{filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.tools{max-width:1040px;margin:16px auto 0;gap:16px;align-items:flex-start}.btns,.tools{display:flex;flex-wrap:wrap}.btns{gap:8px;flex:1 1 380px}button{font:inherit;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--cream-lj);cursor:pointer;background:var(--navy);border:1px solid var(--gold);border-radius:4px;padding:9px 14px;transition:background .15s,border-color .15s}button:hover{background:#1c3459}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true]{background:var(--gold);color:var(--navy);border-color:var(--gold)}button.primary{background:var(--red);border-color:var(--gold)}button.primary:hover{background:#c33b36}.status{flex:0 1 320px;background:var(--cream);border:1px solid var(--gold);color:var(--ink);border-radius:4px;padding:12px 14px;font-size:13px;line-height:1.6;box-shadow:inset 0 0 0 1px rgba(201,162,39,.28)}.status.solved{border-color:#3f6b4a;background:#edf3e6}.status b{color:var(--navy)}.status .line{display:flex;justify-content:space-between;gap:12px}.status .verdict{margin-top:8px;font-weight:700;color:#2f6b46}.hint{font-size:12.5px;line-height:1.6;color:#bfd9cb;margin:12px auto 0;max-width:1040px}.hint b{color:#f2e7d1;font-weight:600}.modal{position:fixed;inset:0;z-index:500;background:rgba(8,20,14,.72);display:none;place-items:center;padding:20px}.modal.open{display:grid}.sheet{width:min(520px,100%);background:var(--cream);border:1px solid var(--gold);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);color:var(--ink);border-radius:4px;padding:20px;box-shadow:0 24px 50px rgba(0,0,0,.6)}.sheet h2{font-family:var(--display);font-weight:700;font-size:22px;margin:0 0 4px;color:var(--navy)}.sheet p.sub{margin:0 0 16px;font-size:13px;color:var(--ink-lj)}.plist{display:flex;flex-direction:column;gap:8px}.pitem{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:var(--cream-lj);border:1px solid var(--gold);border-radius:4px;padding:10px 12px;font:inherit;font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink);cursor:pointer;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(201,162,39,.24);transition:background .15s,border-color .15s}.pitem:hover{background:#fff;border-color:var(--red)}.pitem .name{flex:1 1}.pitem .name b{display:block;font-size:14.5px;color:var(--navy)}.pitem .name span{font-size:11.5px;color:var(--ink-lj)}.pitem .lock{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--red)}.sheet .close{margin-top:16px;width:100%;text-align:center}.top{max-width:1040px;margin:0 auto 16px;padding:9px 16px;background:var(--cream);border:1px solid var(--gold);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);box-shadow:0 8px 20px rgba(0,0,0,.38);display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}.brand{text-decoration:none;display:block;line-height:0}.brand img{display:block;width:clamp(104px,14vw,146px);height:auto}.top nav{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}.top nav a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px}.top nav a:hover{border-bottom-color:var(--red)}.top nav .cta{background:var(--red);color:var(--cream-lj);border-bottom-color:var(--gold);border:1px solid var(--gold);padding:7px 13px}.top nav .cta:hover{background:#c33b36;border-bottom-color:var(--gold)}button.link{background:none;border:0;padding:0;cursor:pointer;color:var(--navy);font:inherit;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}button.link:hover{color:var(--red)}main{margin:0 auto}.fot,main{max-width:1040px}.fot{margin:26px auto 0;padding-top:14px;text-align:center;border-top:1px solid rgba(201,162,39,.35)}.fot p{margin:0}.fot .lankar{display:flex;justify-content:center;gap:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#8fae9d}.fot a{color:var(--gold-lj);text-decoration:none;border-bottom:1px solid rgba(201,162,39,.5)}.fot a:hover{color:#f2e7d1}.fot .slogan{margin-top:7px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#7f9c8c}.panel{max-width:1040px;margin:20px auto 0;background:var(--cream);color:var(--ink);border:1px solid var(--gold);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:4px;padding:18px 20px;box-shadow:inset 0 0 0 1px rgba(201,162,39,.28),0 8px 20px rgba(0,0,0,.32)}.panel.narrow{max-width:520px}.panel h3{font-family:var(--display);font-weight:700;font-size:20px;margin:0 0 8px;color:var(--navy)}.panel .sub{font-size:13.5px;line-height:1.6;color:var(--ink-lj);margin:0 0 14px;max-width:62ch}.panel label{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7a5a2a;margin:10px 0 4px}.panel input,.panel textarea{width:100%;font:inherit;font-size:14px;background:var(--cream-lj);border:1px solid #c3ab77;border-radius:4px;padding:9px 11px;color:var(--ink);-webkit-user-select:text;-moz-user-select:text;user-select:text}.panel input:focus,.panel textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.panel textarea{min-height:70px;resize:vertical;margin-bottom:10px}.good{color:#2f6b46;font-size:14px}.bad{color:#9c2b26;font-size:13.5px}.btnlink{display:inline-block;background:var(--red);color:var(--cream-lj);text-decoration:none;border:1px solid var(--gold);padding:9px 15px;border-radius:4px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.btnlink:hover{background:#c33b36}.counthint{align-self:center;font-size:12.5px;color:#a9c9b8}.solutions{margin-top:14px;display:flex;flex-direction:column;gap:10px}.sol{border-left:2px solid var(--gold);padding-left:12px}.sol b{color:var(--navy);font-size:14px}.sol p{margin:3px 0;font-size:13.5px;color:var(--ink-lj)}.judge{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border:1px solid rgba(201,162,39,.55);border-radius:4px;padding:12px 14px;background:var(--cream-lj)}.judge .quote{margin:6px 0 0;font-size:13px;color:var(--ink-lj);font-style:italic}a.pitem{text-decoration:none}