:root{color-scheme:dark;--ink:#e4ece1;--muted:#99b4a8;--mint:#b9e6bf;--copper:#e4ae7d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 15%,#22443c 0,transparent 55%),#102b2b;color:var(--ink);font:16px/1.6 ui-sans-serif,system-ui,-apple-system,sans-serif}main{max-width:1040px;margin:auto;padding:30px 38px}header,.worktop,.sectionhead,.toolbar,.legend{display:flex;align-items:center;justify-content:space-between;gap:16px}header{padding-bottom:26px;border-bottom:1px solid #52706355}.brand{font-size:12px;letter-spacing:3px;color:var(--mint);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #6c918155;background:#ffffff06;border-radius:9px;padding:10px 17px;transition:background .18s,transform .18s}button:hover{background:#e5f7d914}button:focus-visible,a:focus-visible{outline:3px solid #f5d390;outline-offset:4px}button:disabled{opacity:.35;cursor:default}button[hidden],[hidden]{display:none!important}.intro{padding:46px 0 30px;max-width:680px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--mint);margin:0 0 8px}h1{font:500 clamp(34px,5vw,55px)/1.12 Georgia,serif;letter-spacing:-1.7px;margin:10px 0 22px}h1 span{display:block;color:var(--copper);font-style:italic}.lede{color:#acc4b7;max-width:590px;margin:0}.workspace{border:1px solid #7b9c8150;border-radius:19px;overflow:hidden;background:linear-gradient(145deg,#25453e99,#0d2424);box-shadow:0 24px 60px #0002}.worktop{padding:24px 28px}h2{font:400 25px/1.3 Georgia,serif;margin:0}.stats{display:flex;gap:20px;font-size:12px;color:var(--muted)}.stats b{display:block;font:25px/1.2 Georgia,serif;color:var(--ink)}.machine{position:relative;padding:34px 16px 26px;min-height:260px;background:radial-gradient(ellipse at 50% 45%,#4b725743,transparent 65%);isolation:isolate}.machine:after{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#bad1ae22 1px,transparent 1px);background-size:20px 20px}.halo{position:absolute;width:200px;height:200px;border:1px solid #9bbe8620;border-radius:50%;left:calc(50% - 100px);top:20px;box-shadow:0 0 0 35px #9bbe8605,0 0 0 70px #9bbe8604;z-index:-1}.rail,.tray{position:absolute;left:5%;right:5%;height:9px;background:linear-gradient(#9da58c,#4c675b);box-shadow:0 3px 6px #0006;border-radius:6px;top:76px;z-index:-1}.rail span,.tray span{position:absolute;font-size:8px;letter-spacing:2px;color:#a1b39b;right:0;top:-22px}.tray{top:210px;height:2px;background:#81917a44;box-shadow:none}.tray span{top:12px;font-size:7px}#rings{display:flex;justify-content:space-around;align-items:flex-start;height:190px;gap:2px}.ring{border:0;border-radius:10px;background:transparent;padding:0;flex:1;max-width:115px;position:relative;min-width:0}.ring:hover{background:#b9e6bf0b}.ring svg{display:block;width:100%;height:148px;overflow:visible;transition:transform .32s}.ring .loop{stroke:#e5b88a;filter:drop-shadow(0 3px 3px #0009)}.ring.released svg{transform:translateY(63px)}.ring.released .loop{stroke:#809e8b}.ring .dot{fill:#576f61}.ring.available .dot{fill:#c4f2b0;filter:drop-shadow(0 0 4px #cbfabc)}.ring .number{font-size:15px;fill:#e9ddba;font-family:Georgia,serif}.ring .state{display:block;font-size:9px;letter-spacing:.7px;position:absolute;top:164px;left:0;right:0;color:#a5bdac}.ring:not(.released) .state{top:150px}.ring.nudged{background:#d9bd6530;outline:1px solid #e5c687}.ring.nudged .state{color:#ffdf99}.legend{padding:15px 28px 0;font-size:11px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:6px}#message{padding:0 28px;min-height:48px;color:#d3dfcc;font-size:14px;margin:18px 0 8px}.toolbar{justify-content:flex-start;flex-wrap:wrap;padding:0 28px 22px;gap:9px}.toolbar button{font-size:12px}#next{background:#c9e4bd;color:#14352b}#hint{margin-left:auto;color:#e8c7a2}.progress{height:3px;background:#0a2223}#progressbar{height:100%;background:linear-gradient(90deg,#8fc8ac,#e7bd88);transition:width .3s}#record{margin:0;padding:12px 28px;font-size:11px;color:var(--muted)}#instructions{padding:26px 30px;background:#193b34;border:1px solid #6d907455;border-radius:14px;margin:18px 0}#instructions h2{margin:10px 0}li{margin-bottom:8px}.small{font-size:12px;color:var(--muted)}a{color:#dfc29f}.studies{margin-top:32px}.sectionhead{margin-bottom:16px}.sectionhead h2{font-size:23px}.sectionhead span{font-size:12px;color:var(--muted)}#levels{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.level{text-align:left;padding:15px;font-size:11px;min-width:0}.level b{font:18px Georgia,serif;display:block;color:#dfc6a3}.level span{display:block;margin-top:5px;color:var(--muted)}.level.active{border-color:#bad3aa;background:#b9dfaa0c}.level.solved b:after{content:' ◈';color:#e3af72}footer{text-align:center;color:#78978a;font-size:11px;padding:36px 0 10px}footer a{color:#a5bda6}@media(max-width:600px){main{padding:18px 16px}.intro{padding:30px 0 25px}.worktop{padding:20px}.stats{gap:13px}.machine{padding:34px 8px 26px;min-height:255px}.ring .state{font-size:7px}.legend{padding:12px 20px 0;font-size:10px;gap:6px}#message{padding:0 20px;min-height:66px}.toolbar{padding:0 20px 20px;gap:7px}.toolbar button{padding:9px 11px;font-size:11px}#hint{margin-left:0}#levels{grid-template-columns:repeat(2,1fr)}h2{font-size:22px}#record{padding:12px 20px}.ring .number{font-size:18px}.ring svg{height:140px}#instructions{padding:24px 20px}ol{padding-left:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}