:root{--bg:#fafbf8;--surface:#fff;--text:#20382e;--muted:#6a7870;--line:#e0e5de;--green:#285c46;--mint:#e4f2e9;--peach:#fae9dd;--blue:#e8effa;--lavender:#eee9f7;--yellow:#f7f0d8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--bg);color:var(--text);margin:0;font-family:Noto Sans KR,system-ui,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:18px;padding:11px 21px;font-weight:600;transition:transform .15s,background .15s;display:inline-flex}button:hover,.button:hover{transform:translateY(-2px)}button:disabled{opacity:.45;cursor:default;transform:none}.primary{background:var(--green);color:#fff;border-color:var(--green)}:focus-visible{outline-offset:4px;outline:3px solid #36a478}.header{border-bottom:1px solid var(--line);align-items:center;gap:42px;max-width:1160px;height:96px;margin:auto;padding:0 32px;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:12px;font-size:25px;font-weight:800;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:12px;place-content:center;width:37px;height:37px;font-size:27px;line-height:1;display:grid}.header nav{gap:32px;margin-left:auto;font-size:13px;font-weight:600;display:flex}.theme-button{background:0 0;border-radius:50%;width:36px;height:36px;padding:7px;font-size:23px}.home{max-width:1160px;margin:auto;padding:0 32px}.hero{min-height:465px;padding:72px 0 68px;position:relative;overflow:hidden}.eyebrow{letter-spacing:2px;color:var(--green);font-size:10px;font-weight:700}.live-dot{background:#4b9171;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.hero h1{letter-spacing:-2.6px;margin:22px 0 18px;font-size:48px;font-weight:800;line-height:1.4}.hero h1 span{color:#52866b}.hero p{color:var(--muted);margin-bottom:26px;font-size:15px;line-height:1.85}.hero .button{padding:14px 23px;font-size:13px}.hero-note{color:var(--muted);margin-top:14px;font-size:10px}.hero-art{width:370px;height:310px;position:absolute;top:77px;right:35px}.art-grid{background:#d7eadb;border-radius:25px;grid-template-columns:repeat(2,90px);gap:9px;padding:20px;display:grid;position:absolute;top:55px;left:35px;transform:rotate(-9deg);box-shadow:0 20px 45px #2b4b3520}.art-grid span{color:#3a6046;background:#fbfff7;border-radius:10px;place-content:center;height:69px;font-size:19px;font-weight:700;display:grid}.art-sticker{color:#66512c;background:#f2daa4;border-radius:15px;padding:22px 30px;font-weight:700;line-height:1.6;position:absolute;top:12px;right:5px;transform:rotate(9deg);box-shadow:0 10px 20px #4441}.art-number{letter-spacing:6px;color:#8c6047;background:#faf1e7;border:1px solid #eadccc;border-radius:16px;padding:20px 23px;font-size:27px;position:absolute;bottom:5px;right:-8px;transform:rotate(7deg);box-shadow:0 12px 30px #4441}.art-number small{letter-spacing:0;text-align:center;margin-top:7px;font-size:10px;display:block}.spark{color:#6f9778;font-size:46px;font-style:normal;position:absolute;top:8px;left:8px}.section-heading{justify-content:space-between;align-items:end;margin:26px 0 22px;display:flex}.section-heading h2{letter-spacing:-1px;margin:6px 0 0;font-size:25px}.section-heading h2 span{color:#8ca696;margin-left:8px;font-size:13px;font-weight:500}.section-heading>p{color:var(--muted);font-size:11px}.cards{gap:20px;display:grid}.daily-cards{grid-template-columns:repeat(2,1fr)}.service-card{border:1px solid #dae3d7;border-radius:18px;padding:25px 28px 20px;transition:transform .2s}.service-card:hover,.tool-card:hover{transform:translateY(-4px)}.mint{background:var(--mint)}.peach{background:var(--peach)}.blue{background:var(--blue)}.lavender{background:var(--lavender)}.yellow{background:var(--yellow)}.card-top{justify-content:space-between;align-items:center;display:flex}.pill{background:#ffffff80;border-radius:20px;padding:4px 10px;font-size:10px}.card-symbol{margin:19px 0 14px;font-size:48px;line-height:1.3}.service-card h3,.tool-card h3{letter-spacing:-.7px;margin:0 0 7px;font-size:22px}.service-card p,.tool-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.card-bottom{border-top:1px solid #294b351a;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;font-size:11px;display:flex}.status{color:#477657}.card-bottom b{font-size:11px}#tools{margin-top:45px}.tool-cards{grid-template-columns:repeat(3,1fr)}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .2s;position:relative}.tool-icon{border-radius:12px;place-content:center;width:48px;height:48px;margin-bottom:20px;font-size:25px;display:grid}.tool-card .card-top{margin-bottom:5px;font-size:10px}.tool-card h3{font-size:18px}.tool-card p{min-height:48px}.tool-link{margin-top:23px;font-size:11px;font-weight:600;display:block}.subtle{color:var(--muted);font-size:12px}.daily-banner{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:24px;margin:48px 0 62px;padding:27px 17px;display:flex}.daily-banner>span:first-child{color:#71947c;font-size:39px}.daily-banner h2{margin:0;font-size:16px}.daily-banner p{color:var(--muted);margin:4px 0;font-size:12px}.banner-stamp{color:#789b85;letter-spacing:2px;margin-left:auto;font-size:10px;font-weight:700;transform:rotate(-8deg)}footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 30px;max-width:1160px;margin:auto;padding:32px;display:flex}footer .brand{font-size:18px}footer p{color:var(--muted);margin-right:auto;font-size:11px}.footer-dot{color:#8dab94}footer>div{gap:20px;font-size:11px;display:flex}footer small{width:100%;color:var(--muted);font-size:10px}.privacy-control{position:relative}.privacy-control[open]{max-width:260px}.privacy-control button{padding:6px;font-size:11px}.play-page{max-width:850px;margin:auto;padding:35px 24px 60px}.back{color:var(--muted);font-size:12px}.play-heading{text-align:center;margin:25px 0}.play-heading h1{letter-spacing:-1.5px;margin:8px 0;font-size:35px}.play-heading p{color:var(--muted);font-size:13px}.workbench{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 32px;box-shadow:0 12px 45px #20382e05}.workbench-top{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:25px;padding-bottom:17px;font-size:11px;display:flex}.game-label{justify-content:space-between;margin-bottom:18px;font-size:12px;display:flex}.game-label span{color:var(--muted);font-size:11px}.word-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.word-grid button{background:var(--mint);word-break:keep-all;border-color:#0000;min-height:74px;padding:8px;font-size:14px}.word-grid .selected{background:var(--green);color:#fff}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.feedback{text-align:center;min-height:24px;color:var(--muted);font-size:12px}.solved{text-align:center;background:var(--yellow);border-radius:10px;flex-direction:column;margin-bottom:9px;padding:16px;display:flex}.solved span{font-size:12px}.solved-1{background:var(--mint)}.solved-2{background:var(--blue)}.solved-3{background:var(--lavender)}.result{text-align:center;background:var(--mint);border-radius:14px;margin-top:25px;padding:25px}.result h2{margin:9px 0;font-size:24px}.result pre{white-space:pre-wrap;text-align:left;font-size:12px}.instructions{padding:25px 10px}.instructions h2,.related h2{font-size:17px}.instructions p{color:var(--muted);font-size:13px}.ad-slot{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:12px;padding:22px}.ad-slot span{letter-spacing:2px;font-size:9px}.ad-slot p{margin:5px;font-size:12px}.ad-slot small{font-size:10px}.related a{border:1px solid var(--line);border-radius:20px;margin:4px;padding:7px 13px;font-size:12px;display:inline-block}.number-display{letter-spacing:14px;text-align:center;color:#86a594;font-size:48px;font-weight:800}.center{text-align:center;color:var(--muted);font-size:13px}.number-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.number-form label{width:100%;font-size:12px}.number-form input{letter-spacing:9px;flex:1;min-width:100px;font-size:23px}.attempts{padding:0;list-style:none}.attempts li{border-bottom:1px solid var(--line);align-items:center;gap:25px;padding:12px;display:flex}.attempts li strong{letter-spacing:7px;font-size:21px}.attempts li span{margin-left:auto}.attempts li small{color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;width:100%;min-width:0;padding:12px}textarea{resize:vertical;min-height:85px}.tool-form label,.typing-label{margin-bottom:18px;font-size:13px;font-weight:600;display:block}.tool-form label input,.tool-form label textarea,.tool-form label select,.typing-label textarea{margin-top:8px}.two-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.checkbox{align-items:center;gap:10px;display:flex!important}.checkbox input{width:17px!important;margin:0!important}.metrics{background:var(--bg);border-radius:12px;justify-content:space-around;margin:15px 0;padding:25px 0;display:flex}.metrics>div{text-align:center}.metrics small{color:var(--muted);font-size:11px;display:block}.metrics strong{font-size:30px;display:block}.metrics em{margin-left:5px;font-size:12px;font-style:normal;font-weight:400}.upload{text-align:center;border:2px dashed var(--line);border-radius:14px;padding:25px;font-size:35px!important}.upload strong,.upload span{font-size:13px;display:block}.upload span{color:var(--muted);font-size:11px}.upload input{font-size:11px}.image-preview{text-align:center}.image-preview img{object-fit:contain;border-radius:10px;max-width:100%;max-height:200px}.image-preview p{color:var(--muted);font-size:11px}.typing-text{background:var(--bg);word-break:keep-all;border-radius:12px;margin-bottom:20px;padding:24px;font-size:23px;line-height:2}.correct{color:#359068}.incorrect{color:#c74843;background:#f9dddd}.typing-label textarea{font-size:18px}.prose{max-width:800px;min-height:50vh;margin:50px auto;padding:0 25px}.prose h1{font-size:32px}.prose h2{margin-top:30px;font-size:20px}.prose p{color:var(--muted)}.skip-link{background:var(--green);color:#fff;z-index:10;padding:10px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:10px}[data-theme=dark]{--bg:#17221c;--surface:#202e25;--text:#e4ebe4;--muted:#a7b4a9;--line:#35473a;--green:#47785b;--mint:#294537;--peach:#4b382e;--blue:#2e3c50;--lavender:#3d354e;--yellow:#49422c}[data-theme=dark] .pill{background:#ffffff15}[data-theme=dark] .hero-art{filter:brightness(.8)}[data-theme=dark] .status{color:#b1cfba}@media (max-width:850px){.hero-art{transform-origin:100%;right:0;transform:scale(.8)}.hero h1{font-size:40px}.header nav{gap:16px}.hero{padding-top:50px}.tool-card{padding:20px}.tool-card h3{font-size:16px}}@media (max-width:640px){.header{gap:15px;height:76px;padding:0 20px}.header .brand{font-size:22px}.header nav{gap:14px}.header nav a{font-size:11px}.header nav a:last-child{display:none}.home{padding:0 20px}.hero{min-height:650px;padding:40px 0 25px}.hero h1{font-size:38px}.hero-art{transform-origin:50%;height:300px;top:340px;right:calc(50% - 165px);transform:scale(.85)}.eyebrow{letter-spacing:1.4px;font-size:9px}.section-heading{align-items:start;gap:15px}.section-heading h2{font-size:21px}.section-heading>p{text-align:right;max-width:110px;font-size:9px}.daily-cards{grid-template-columns:1fr}.service-card{padding:23px}.card-symbol{float:right;margin:18px 10px 0;font-size:50px}.service-card h3{margin-top:24px}.card-bottom{clear:both}.tool-cards{grid-template-columns:1fr}.tool-card{min-height:160px;padding:21px 21px 21px 87px}.tool-icon{position:absolute;top:24px;left:20px}.tool-card p{min-height:0}.tool-link{margin-top:13px}.daily-banner{gap:15px;padding:23px 0}.daily-banner h2{font-size:13px}.daily-banner p{font-size:10px}.banner-stamp{display:none}footer{gap:12px;padding:25px 20px}footer>div{width:100%}.workbench{padding:20px 15px}.play-page{padding:25px 16px}.word-grid{gap:6px}.word-grid button{letter-spacing:-.5px;min-height:65px;font-size:12px}.game-label{display:block}.game-label span{margin-top:8px;display:block}.actions button{padding:10px 15px;font-size:12px}.two-fields{gap:12px}.metrics strong{font-size:25px}.typing-text{padding:16px;font-size:20px}.play-heading h1{font-size:30px}.number-form button{padding:13px}.number-display{font-size:40px}.instructions{padding:18px 4px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
