:root{color-scheme:light;--bg:#f7f8fc;--ink:#162c53;--muted:#8391a9;--line:#dce3ef;--blue:#174c9c;--blue2:#235ba9;--soft:#e8edf6;--board:#f1f4f9;--bubble:#dce3ee;--yellow:#f4c84e;--shadow:#203b6412}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#dfe5ee;color:var(--ink);font-family:'DM Sans',sans-serif}body.dark{color-scheme:dark;--bg:#101e36;--ink:#eff4ff;--muted:#879ab8;--line:#293d5c;--blue:#7daeff;--blue2:#326dc3;--soft:#233750;--board:#152640;--bubble:#334965;--yellow:#f4c84e;--shadow:#0003;background:#091321}.app{height:100dvh;max-height:920px;width:min(100%,460px);margin:auto;background:var(--bg);padding:max(16px,env(safe-area-inset-top)) 22px max(15px,env(safe-area-inset-bottom));display:flex;flex-direction:column;box-shadow:0 0 40px var(--shadow);overflow:hidden}header{display:flex;justify-content:space-between;align-items:center;flex:none}.brand{display:flex;align-items:center;gap:8px}.brand-mark{font-size:35px;line-height:1;color:var(--blue)}.brand strong{font:900 25px/1 Heebo,sans-serif;display:block}.brand small{font-size:7px;letter-spacing:1.2px;font-weight:700;color:var(--muted)}.header-actions{display:flex;gap:8px}.icon-button,.close{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;font-size:17px;cursor:pointer}.daily{display:flex;align-items:end;justify-content:space-between;margin-top:clamp(20px,4vh,38px);flex:none}.eyebrow,.section-label,.board-head,.plate-label,.bottom-note,.progress-label{font-size:9px;letter-spacing:1.15px;font-weight:700;color:var(--muted)}.eyebrow{color:var(--blue)}.eyebrow span{color:#e6b62b;margin-left:5px}h1{font-size:clamp(21px,5.8vw,27px);letter-spacing:-1.2px;margin:6px 0 0;line-height:1.1}h1 span,h2 span{color:#e5b936}.date{text-align:right;color:var(--muted);font-size:9px;white-space:nowrap}.date strong{display:block;color:var(--blue);margin-top:5px;font-size:12px}.progress-row{display:flex;gap:13px;align-items:center;margin-top:clamp(17px,3vh,28px);padding:0 0 15px;border-bottom:1px solid var(--line);flex:none}.found-button,.ladder-button{border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer}.found-button{display:flex;gap:8px;align-items:center;text-align:left;white-space:nowrap}.found-icon{width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--blue);display:grid;place-items:center;font-size:18px}.found-button b{font-size:16px}.dim{color:var(--muted)}.found-button small{display:block;color:var(--muted);font-size:7px;letter-spacing:1px;font-weight:700}.chevron{color:var(--muted);font-size:11px}.progress-wrap{flex:1}.progress-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.7px;margin-bottom:7px}.progress{height:5px;background:var(--soft);border-radius:5px;overflow:hidden}.progress div{height:100%;background:var(--blue2);border-radius:5px;transition:width .3s}.ladder-button{font-size:19px;color:var(--blue)}.ladder-button span{display:block;font-size:7px;color:var(--muted);letter-spacing:.8px;font-weight:700}.play{display:flex;flex-direction:column;min-height:0;flex:1}.section-label{display:flex;justify-content:space-between;margin-top:clamp(15px,2.4vh,24px);font-size:8px}.section-label span+span{opacity:.7}.operators{display:flex;justify-content:center;gap:clamp(10px,3vw,18px);margin:11px 0 clamp(12px,2vh,20px)}.operators button{width:clamp(42px,6vh,52px);height:clamp(42px,6vh,52px);border-radius:14px;border:1px solid var(--line);background:var(--soft);color:var(--blue);font-size:25px;font-weight:500;cursor:pointer;transition:.15s}.operators button.selected{background:var(--blue2);color:white;border-color:var(--blue2);box-shadow:0 4px 10px #1f55a23b}.board-head{display:flex;align-items:center;justify-content:space-between;font-size:8px;margin-bottom:9px}.board-head button{font-family:inherit;background:none;border:0;color:var(--muted);font-size:17px;cursor:pointer}.board-head button span{font-size:8px;letter-spacing:1px;vertical-align:2px}.board{position:relative;flex:1;min-height:100px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--board);touch-action:none}.board-grid{position:absolute;inset:0;background-image:radial-gradient(var(--line) .8px,transparent .8px);background-size:18px 18px;opacity:.7;pointer-events:none}.board-tip{position:absolute;top:12px;left:12px;right:12px;text-align:center;color:var(--muted);font-size:10px;pointer-events:none}.bubble{position:absolute;transform:translate(-50%,-50%);min-width:49px;min-height:49px;max-width:85%;padding:9px 13px;border:1px solid var(--line);border-radius:14px;background:var(--bubble);color:var(--ink);font:700 19px 'DM Sans',sans-serif;box-shadow:0 3px 8px var(--shadow);cursor:grab;touch-action:none;user-select:none;white-space:nowrap;z-index:1}.bubble.long{font-size:clamp(10px,3vw,15px);white-space:normal;overflow-wrap:anywhere}.bubble.selected,.bubble.drop-target{outline:2px solid var(--blue);outline-offset:3px}.bubble.dragging{cursor:grabbing;z-index:5;box-shadow:0 8px 20px #19396533;opacity:.9}.target-wrap{position:absolute;right:14px;bottom:12px;display:flex;gap:7px;align-items:center;pointer-events:none}.target-wrap span{font-size:8px;font-weight:700;letter-spacing:1px;color:var(--muted)}.target{border:1.5px dashed var(--blue);border-radius:11px;padding:7px 12px;color:var(--blue);font-size:21px;font-weight:700}.plate-area{flex:none;padding-top:clamp(12px,2vh,20px)}.plate-label,.bottom-note{display:flex;justify-content:space-between;align-items:center;font-size:8px}.plate-label b,.bottom-note b{color:var(--blue);font-size:13px}.plate{height:clamp(56px,8.5vh,75px);margin-top:8px;border:3px solid #1d2d43;border-radius:7px;background:var(--yellow);display:flex;align-items:center;overflow:hidden;box-shadow:inset 0 0 0 2px #eabf45}.plate-blue{height:100%;width:44px;background:#1751a1;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:11px}.plate-blue span{font-size:18px}.plate #plate-number{flex:1;text-align:center;color:#172434;font:800 clamp(28px,8vw,39px)/1 Arial,sans-serif;letter-spacing:3px}.bottom-note{margin-top:9px;font-size:7px}.bottom-note span:last-child{text-align:right}dialog{width:min(calc(100% - 36px),400px);max-height:80dvh;border:0;border-radius:18px;padding:26px;background:var(--bg);color:var(--ink);box-shadow:0 20px 80px #061a3c55}dialog::backdrop{background:#081c3ab8}.dialog-top{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:29px;letter-spacing:-1px;line-height:1.1;margin:20px 0 12px}dialog h2 em{font-family:Georgia,serif;color:var(--blue);font-weight:400}dialog p,dialog li{font-size:13px;line-height:1.6;color:var(--muted)}dialog ol{padding-left:20px}dialog li{padding:4px}.primary{border:0;background:var(--blue2);color:white;padding:13px 18px;border-radius:10px;margin-top:12px;font-weight:700;cursor:pointer}.dialog-list{max-height:40vh;overflow:auto;margin-top:18px}.discovery,.ladder-row{padding:12px 2px;border-bottom:1px solid var(--line);font-size:13px}.empty{color:var(--muted);font-size:13px;padding:15px 0}.ladder-row{display:flex;align-items:center;gap:12px}.ladder-row .rank{color:var(--muted);font-size:10px}.ladder-row .avatar{border-radius:50%;background:var(--soft);width:30px;height:30px;display:grid;place-items:center;color:var(--blue)}.ladder-row div{flex:1}.ladder-row small{display:block;color:var(--muted);margin-top:3px}.ladder-row b{color:var(--blue)}#toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);background:#173a75;color:white;padding:12px 17px;border-radius:9px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:9;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-height:650px){.app{padding-top:10px;padding-bottom:8px}.daily{margin-top:10px}.progress-row{margin-top:10px;padding-bottom:8px}.section-label{margin-top:8px}.operators{margin:7px 0}.operators button{width:38px;height:38px}.plate-area{padding-top:7px}.bottom-note{margin-top:4px}.plate{height:50px}.brand strong{font-size:22px}.brand-mark{font-size:29px}}
/* Hebrew and the object-based board */
body{font-family:Heebo,Arial,sans-serif}.brand{flex-direction:row}.brand strong{font-family:Heebo,sans-serif}.brand small{font-size:9px;letter-spacing:0}.daily{margin-top:clamp(12px,2vh,20px);justify-content:space-between;color:var(--muted);font-size:11px}.daily strong{color:var(--blue);font-size:12px;direction:ltr}.progress-row{margin-top:12px}.progress-label,.found-button small,.ladder-button span,.bottom-note,.board-head{letter-spacing:0;font-size:10px}.progress{direction:ltr}.operators{direction:ltr;margin:clamp(14px,2.3vh,22px) 0 8px}.operators button{touch-action:none;cursor:grab}.operators button:active{cursor:grabbing}.board-head{justify-content:flex-start;margin-bottom:5px}.board-head button{font-family:Heebo,sans-serif}.board-head button span{font-size:10px;letter-spacing:0}.board{direction:ltr}.bubble{font-family:Heebo,Arial,sans-serif;direction:ltr;touch-action:none}.bubble .value{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:10px;line-height:1.3;font-weight:600;color:var(--muted);white-space:nowrap;pointer-events:none}.bubble .pending{color:var(--blue);font-weight:800}.bubble.drop-target{outline:2px solid var(--blue);outline-offset:3px}.target-wrap{right:12px;bottom:25%;direction:rtl}.target-wrap span{font-size:10px;letter-spacing:0}.bottom-note{font-size:9px}.plate-area{padding-top:12px}.plate{margin-top:0}.dialog-top{direction:rtl}.eyebrow{font-size:11px;letter-spacing:0}dialog h2 em{font-family:Heebo,sans-serif;font-weight:500}dialog ol{padding-left:0;padding-right:20px}dialog p,dialog li{font-size:14px}.discovery{direction:ltr;text-align:right}.ladder-row .rank{direction:ltr}.operator-ghost{position:fixed;z-index:30;pointer-events:none;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--blue2);color:white;font-size:26px;box-shadow:0 6px 18px #173a7555}.op-drop{outline:2px solid var(--yellow);outline-offset:3px}@media(max-height:650px){.daily{margin-top:6px}.operators{margin:7px 0}.plate-area{padding-top:7px}}
.found-button{text-align:right}.target{direction:ltr}
/* Keep expressions readable and place undo beside reset. */
.bubble.long{font-size:18px;line-height:1.3}.board-head{justify-content:space-between}.board-head button:disabled{opacity:.35;cursor:default}
/* Align the target with the initial row of digits. */
.target-wrap{right:2px;bottom:15%;transform:translateY(50%);direction:ltr;gap:4px}.target-wrap span{font-size:21px;color:var(--blue);font-weight:600}.target{padding:7px 6px}.bubble.numeric{min-width:clamp(32px,11vw,40px);padding:8px}
.brand-mark{width:36px;height:36px;flex:none}
.celebrating .board,.celebrating .operators{pointer-events:none}.celebration-expression,.celebration-digit{position:fixed;z-index:100;pointer-events:none;direction:ltr;display:grid;place-items:center;background:var(--bubble);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 16px var(--shadow);font:700 18px/1.3 Heebo,Arial,sans-serif}.celebration-expression{max-width:min(80vw,350px);padding:9px 13px;text-align:center;overflow-wrap:anywhere}.celebration-digit{min-width:clamp(32px,11vw,40px);height:49px;padding:8px}
.account{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:8px 0;color:#687384;font-size:12px}.account button{border:1px solid #d7dfea;background:transparent;color:inherit;border-radius:999px;padding:7px 13px;font:inherit;font-weight:700;cursor:pointer}.account button:hover{border-color:#75849a}.dark .account{color:#c0c8d7}.dark .account button{border-color:#566174}
