:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#edf5f2;background:#061f2c;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% 8%,#16465880,transparent 60%);min-height:100vh}button,select{font:inherit}button,select,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px}button:disabled{cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #ffe7a4;outline-offset:5px}main{max-width:1040px;margin:auto;padding:28px 36px 20px;position:relative}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:24px;color:#fff4e8;text-decoration:none}.brand-icon{color:#ff9bad;font-size:36px}.band{font-size:13px;color:#b6d2d8;display:flex;align-items:center;gap:12px}select{background:#103443;border:1px solid #4b717b;padding:10px 12px;border-radius:12px;min-height:44px;color:#f4f8f6}.intro{text-align:center;padding:30px 0 26px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:750;color:#a5d8d5}.intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,4.4vw,48px);letter-spacing:-1.4px;margin:14px 0}.intro>p:last-child{color:#c1d6da;font-size:15px;line-height:1.7;margin-bottom:0}nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 auto 18px}.step{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #38606b;border-radius:12px;background:#0b2b39;color:#b9d0d4;padding:10px 5px;font-size:12px}.step>span:first-child{font-size:15px;font-weight:700}.step.current{background:#254551;border-color:#ff9caf;color:#fff0ec}.step.done{color:#a0e6cf}.board{border:1px solid #416571;border-radius:24px;padding:23px 32px 16px;background:linear-gradient(150deg,#153d4be6,#092937f5);box-shadow:0 24px 80px #0003}.board-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.counters{display:flex;gap:16px;color:#c0d3d7;font-size:12px}.meters{display:flex;justify-content:center;gap:70px;margin:24px 0 15px}.meter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:170px}.meter>span{font-size:10px;font-weight:750;letter-spacing:2px;color:#b7ced2}.meter strong{font-size:57px;line-height:1.2;font-weight:500;font-variant-numeric:tabular-nums}.meter small{font-size:11px;color:#b7ced2;text-align:center;max-width:240px}.pearl strong{background:radial-gradient(circle at 35% 25%,#fff,#eee9de 60%,#bed5d8);color:#244453;border-radius:50%;width:92px;height:92px;display:grid;place-items:center;box-shadow:0 0 38px #fff3;font-size:42px}.lamp-row{display:flex;justify-content:center;gap:clamp(4px,2vw,22px);padding:26px 0 10px}.lamp{width:100px;border:0;background:transparent;color:#d8e9eb;padding:8px 3px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:5px}.bulb{display:grid;place-items:center;width:65px;height:78px;border-radius:35px 35px 17px 17px;background:linear-gradient(120deg,#345763,#183f4d);border:2px solid #78919a;color:#adc2c8;font-size:43px;transition:background .18s,box-shadow .18s}.lamp-base{display:block;width:48px;height:9px;background:#7a969e;border-radius:3px 3px 8px 8px;margin-top:-4px}.lamp strong{font-size:26px;margin-top:7px}.lamp-state{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#b6cdd2}.lamp.lit .bulb{background:linear-gradient(130deg,#ffd3c4,#ff8ca5 80%);border-color:#ffdcd2;color:#623848;box-shadow:0 0 32px #ff8ea655}.lamp.lit .lamp-state{color:#ffb7c5}.lamp.hinted{outline:2px dashed #ffe7a4;outline-offset:3px}.lamp:disabled{opacity:1}.rule{text-align:center;color:#b9d0d6;font-size:12px;margin:7px 0 20px}.status{font-size:14px;line-height:1.6;text-align:center;color:#ffe1db;min-height:46px;margin:5px 0 14px}.actions{display:flex;gap:12px;justify-content:center}.primary,.secondary{border-radius:12px;min-height:46px;padding:12px 23px;font-weight:700;font-size:13px;border:1px solid transparent}.primary{background:#ffb0bf;color:#342735}.primary:hover:not(:disabled){background:#ffcccf}.primary:disabled{background:#254651;color:#b3c5cb;border-color:#56717b}.secondary{background:#0b2b39;color:#e2ecec;border-color:#52727d}.keys,.hidden-note{text-align:center;font-size:11px;color:#a5bdc5;line-height:1.7;margin:19px 0 0}.hidden-note{margin-top:7px}footer{text-align:center;font-size:11px;letter-spacing:.7px;color:#a7bec4;padding:21px}.seascape{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:repeating-linear-gradient(112deg,transparent 0,transparent 170px,#a3e9e502 175px,transparent 300px)}.seascape i{position:absolute;border:1px solid #7fc7cc24;border-radius:50%;width:190px;height:190px;left:-95px;bottom:8%}.seascape i:nth-child(2){left:auto;right:-60px;width:260px;height:260px;bottom:-80px}.seascape i:nth-child(3){left:8%;width:17px;height:17px;bottom:70%}.veil{position:fixed;inset:0;background:#021a25dd;backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px;z-index:5}.success{width:min(490px,100%);text-align:center;background:#143b49;border:1px solid #74939b;border-radius:26px;padding:30px;box-shadow:0 30px 100px #0006}.success-icon{font-size:60px;color:#ffe2a5}.success h2{font-family:Georgia,serif;font-size:32px;font-weight:400}.success p{line-height:1.7;color:#d5e3e4}.success .equation{font-size:25px;color:#ffc4cf}.success button{display:block;width:100%;margin-top:12px}@media(max-width:600px){main{padding:17px 14px}.intro{padding:24px 3px 20px}.intro>p:last-child{font-size:14px}.band{gap:7px;font-size:11px}.brand{font-size:21px}nav{gap:5px}.step{flex-direction:column;gap:3px;font-size:10px}.board{padding:18px 12px;border-radius:20px}.meters{gap:24px;margin:24px 0 10px}.meter{min-width:120px}.meter small{font-size:10px;max-width:135px}.bulb{width:clamp(32px,9vw,54px);height:59px;font-size:30px}.lamp-base{width:30px}.lamp{min-width:44px;width:64px}.lamp-row{gap:2px}.lamp strong{font-size:22px}.board-top .eyebrow{font-size:9px;letter-spacing:1px}.counters{font-size:10px;gap:10px}.keys{font-size:10px}.actions{gap:7px}.primary,.secondary{padding:12px 14px;font-size:12px}.status{min-height:65px}.success{padding:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:360px){.board{padding-left:6px;padding-right:6px}}
