:root{color:#241b1b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff9f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button,a.small-link,.header-links a,.footer-note a{color:#4e3030;cursor:pointer;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:.72rem 1rem;text-decoration:none;display:inline-flex;box-shadow:0 10px 25px #5c3a3a1f}button:active,a:active{transform:translateY(1px)}.primary-button{color:#fff;background:linear-gradient(135deg,#ed6f86,#f7a066);font-weight:750}.app-shell{width:min(100%,520px);min-height:100vh;padding:max(1.1rem, env(safe-area-inset-top)) 1rem 2rem;background:radial-gradient(circle at 0 0,#ffbecabf,#0000 36rem),linear-gradient(#fff3f0 0%,#fffaf6 45%,#f9efe8 100%);margin:0 auto}.hero{padding:1.25rem 0 1rem}.eyebrow{color:#a24c5f;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:850}h1,h2{margin:0;line-height:1.02}h1{letter-spacing:-.07em;font-size:clamp(2.35rem,10vw,4rem)}h2{letter-spacing:-.04em;font-size:clamp(1.45rem,5.5vw,2rem)}p{line-height:1.55}.hero p:not(.eyebrow),.today-card p,.editor-header p,.preview-header p{color:#6e5555}.today-card,.puzzle-card,.editor-panel,.editor-preview,.device-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #6e414117;border-radius:28px;box-shadow:0 24px 80px #6e41411f}.today-card{justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 0 1rem;padding:1.1rem;display:flex}.today-card p{margin-bottom:0}.puzzle-card{padding:.85rem;overflow:hidden}.puzzle-meta,.footer-note,.device-card-header,.header-links,.preview-switcher{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.puzzle-meta{color:#6d5757;margin:0 0 .75rem;font-size:.9rem}.pill{color:#8f3f52;background:#ffe2e6;border-radius:999px;padding:.35rem .7rem;font-weight:800}.mode-toggle{min-height:36px;box-shadow:none;color:#8f3f52;white-space:nowrap;background:#fff7f8;border:1px solid #a24c5f2e;padding:.45rem .7rem;font-size:.82rem;font-weight:850}.mode-toggle[aria-pressed=true]{background:#ffe2e6}.scan-stage{background:#f3e8df;border-radius:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #4c373714}.scan-image{object-fit:contain;width:100%;min-height:420px;display:block}.scan-placeholder{color:#806363;text-align:center;background:linear-gradient(#ffffffbd,#ffffffbd),repeating-linear-gradient(0deg,#0000 0 42px,#96737329 42px 43px),repeating-linear-gradient(90deg,#0000 0 42px,#96737329 42px 43px),#f8efe8;place-items:center;min-height:min(112vw,620px);padding:2rem;display:grid}.scan-placeholder span{font-size:1.5rem;font-weight:850}.scan-placeholder small{max-width:15rem}.answer-grid{background:#241b1bb3;border:2px solid #241b1bb3;gap:1px;display:grid;position:absolute}.scan-stage-with-image .answer-grid{background:0 0;border:0;gap:0}.answer-grid-editor{outline-offset:4px;outline:3px solid #ed6f86b3}.puzzle-cell{border:0;border-radius:0;min-width:0;min-height:0}.input-cell{color:#241b1b;text-align:center;text-transform:uppercase;width:100%;height:100%;box-shadow:none;background:#ffffffeb;padding:0;font-size:clamp(.8rem,4vw,1.35rem);font-weight:850}.scan-stage-with-image .input-cell{background:#ffffffb8;border:1px solid #241b1b47}.input-cell:focus{z-index:1;outline:3px solid #ed6f86;position:relative}.blocked-cell{background:#1c1616b8}.scan-stage-with-image .blocked-cell{pointer-events:none;background:0 0}.correct-cell{background:#dff6dc}.wrong-cell{background:#ffd9dd}.progress-row{background:#f2dedb;border-radius:999px;height:.55rem;margin:.9rem 0;overflow:hidden}.progress-row span{border-radius:inherit;background:linear-gradient(90deg,#ed6f86,#f7a066);height:100%;transition:width .18s;display:block}.puzzle-actions,.editor-actions{grid-template-columns:1fr;gap:.65rem;display:grid}.result-note{color:#6c5322;background:#fff4d7;border-radius:18px;margin:.9rem 0 0;padding:.85rem}.success-note{color:#275e31;background:#dff6dc}.footer-note{color:#806666;margin:1rem 0 0;font-size:.88rem}.editor-shell,.preview-shell{min-height:100vh;padding:1rem}.editor-shell{background:radial-gradient(circle at 100% 0,#ffd69dbf,#0000 34rem),#fff9ef}.editor-header,.preview-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;width:min(100%,1220px);margin:0 auto 1rem;display:flex}.editor-header h1,.preview-header h1{font-size:clamp(2rem,7vw,3.6rem)}.header-links,.preview-switcher{flex-wrap:wrap}.editor-grid{grid-template-columns:minmax(0,430px) minmax(0,1fr);gap:1rem;width:min(100%,1220px);margin:0 auto;display:grid}.editor-panel,.editor-preview{padding:1rem}.editor-panel{gap:.9rem;display:grid}.workflow-note{color:#604747;background:#fff2dc;border-radius:22px;padding:1rem}.workflow-note h2{font-size:1.2rem}.workflow-note p{margin-bottom:0}label,fieldset{color:#604747;border:0;gap:.4rem;margin:0;padding:0;font-size:.9rem;font-weight:750;display:grid}legend{color:#604747;margin:0 0 .45rem;font-weight:850}input,textarea{color:#241b1b;background:#ffffffe0;border:1px solid #60474733;border-radius:16px;width:100%;padding:.78rem .85rem}textarea{resize:vertical}.solution-textarea{letter-spacing:.08em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.45}.two-column-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.hint{color:#806666;margin:-.4rem 0 0;font-size:.86rem}.preview-help{color:#806666;margin:.5rem 0 1rem;font-size:.9rem}.overlay-control-card{background:#fff7f0;border-radius:22px;margin:0 0 .9rem;padding:.9rem}.preview-toolbar{background:#fff7f0;border-radius:22px;gap:.7rem;margin:0 0 .65rem;padding:.9rem;display:grid}.preview-toolbar label{color:#604747}.preview-toolbar input[type=range]{padding:0}.preview-zoom-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.preview-zoom-actions button{min-height:38px;box-shadow:none}.calibration-viewport{touch-action:pan-x pan-y;background:#ffffff80;border:1px solid #60474729;border-radius:24px;max-height:min(76vh,980px);padding:.45rem;overflow:auto}.calibration-zoom{min-width:330px;transform:scale(var(--preview-zoom));transform-origin:0 0}.hint code{background:#f5dfdb;border-radius:7px;padding:.08rem .28rem}.sticky-preview{position:sticky;top:1rem}.preview-shell{color:#f8efe8;background:radial-gradient(circle at 0 0,#ed6f8647,#0000 34rem),#101421}.preview-header{color:#fff}.preview-header p{color:#cbd0db}.device-grid{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:center;gap:1.25rem;width:min(100%,1220px);margin:0 auto;display:grid}.device-card{background:#ffffff14;border-color:#ffffff1f;padding:1rem}.device-card-header{margin:0 0 .8rem}.device-card h2{color:#fff;font-size:1.15rem}.device-card span{color:#cbd0db;font-size:.85rem}.device-shell{width:calc(var(--device-width) * var(--device-scale));height:calc(var(--device-height) * var(--device-scale));background:#fff;border:12px solid #0a0d14;border-radius:34px;overflow:hidden;box-shadow:0 30px 80px #00000059}.device-shell iframe{width:var(--device-width);height:var(--device-height);transform:scale(var(--device-scale));transform-origin:0 0;border:0}@media (width>=420px){.puzzle-actions{grid-template-columns:1fr 1fr 1fr}}@media (width<=900px){.editor-grid,.device-grid{grid-template-columns:1fr}.device-card{overflow-x:auto}}@media (width<=520px){.today-card,.footer-note{flex-direction:column;align-items:stretch}.editor-shell,.preview-shell{padding:.8rem}}
