:root{color-scheme:light;--paper:#fff8ec;--ink:#263238;--blue:#3a73c9;--coral:#f06449;--line:#e5d8c7;--panel:#fffdf8;--muted:#657178;font-family:ui-rounded,"Noto Sans KR",system-ui,-apple-system,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,a,input{font:inherit}button,a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--blue);outline-offset:3px}a{text-decoration:none}.topbar{height:72px;padding:0 clamp(16px,4vw,42px);display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:#fffaf1}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--blue);color:white;font-size:23px}.review-pill{margin-left:auto;font-size:14px;color:#7a5b24;background:#fff0c9;padding:8px 12px;border-radius:999px}.review-pill span{font-size:9px;color:#d79424;margin-right:5px}.parent-link{min-height:44px;padding:8px 16px;border:1px solid #b7c6d2;border-radius:14px;background:white;font-weight:700}.home-view,.works-view{width:min(100% - 32px,920px);margin:0 auto;padding:32px 0 48px}.welcome{min-height:220px;border-radius:28px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;background:#e9f1ff;overflow:hidden}.eyebrow{margin:0 0 8px;color:#375d91;font-weight:750;letter-spacing:.02em}.welcome h1{font-size:clamp(30px,5vw,46px);line-height:1.2;margin:0}.welcome-copy{font-size:17px;color:#44545d;margin:16px 0 0}.welcome-art{display:flex;gap:8px;align-items:center;transform:rotate(-8deg);font-size:clamp(40px,8vw,76px)}.welcome-art span:nth-child(2){transform:translateY(-20px) rotate(10deg)}.start-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.start-card{min-height:142px;padding:18px;display:flex;align-items:center;gap:16px;text-align:left;border:2px solid transparent;border-radius:23px;background:white;box-shadow:0 4px 0 #e9dece}.start-card:hover{border-color:#8aaee7;transform:translateY(-1px)}.start-card strong,.start-card small{display:block}.start-card strong{font-size:19px}.start-card small{margin-top:7px;color:var(--muted);font-size:15px}.card-icon,.template-thumb{width:82px;height:82px;flex:none;display:grid;place-items:center;border-radius:20px;background:#eef5ff}.card-icon{font-size:42px;color:var(--blue)}.template-thumb{overflow:hidden;background:#fff}.template-thumb img{width:100%;height:100%;object-fit:cover}.card-arrow{margin-left:auto;color:var(--blue);font-size:25px}.recent-section{margin-top:36px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{font-size:21px;margin:0}.section-title a{font-weight:700;color:var(--blue)}.recent-list{display:flex;gap:12px;overflow:auto;padding:14px 2px}.recent-item{min-width:180px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px}.recent-item strong,.recent-item small{display:block}.recent-item small{color:var(--muted);margin-top:5px}.home-note{text-align:center;color:var(--muted);font-size:14px;margin:36px 0 0}.editor-view{min-height:calc(100vh - 72px);display:flex;flex-direction:column}.editor-head{min-height:66px;padding:8px clamp(12px,3vw,32px);display:flex;align-items:center;gap:16px;background:#fffdf8;border-bottom:1px solid var(--line)}.back-link{display:flex;align-items:center;gap:6px;font-weight:700;color:#344c5c;min-height:44px}.back-link:first-letter{font-size:22px}.history-tools{display:flex;gap:8px;margin-left:auto}.icon-button{width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:white;font-size:25px}.icon-button:disabled{opacity:.4;cursor:not-allowed}.save-status{font-size:14px;color:#53636b;min-width:120px}.canvas-area{flex:1;min-height:280px;padding:16px;display:grid;place-items:center}.canvas-shell{position:relative;width:min(100%,min(58vh,600px));aspect-ratio:1;background:white;border:1px solid #e2d7c8;border-radius:14px;box-shadow:0 8px 24px #4e40301b;overflow:hidden;touch-action:none}.canvas-shell canvas,.canvas-shell #stamp-layer{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.canvas-shell canvas{outline-offset:-5px}.canvas-shell #lineart{pointer-events:none}.canvas-shell #strokes{pointer-events:none}.canvas-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#8e9ba0;pointer-events:none}.canvas-empty span{font-size:38px}.canvas-empty p{margin:4px;font-weight:650}.editor-controls{padding:12px clamp(10px,3vw,30px) max(12px,env(safe-area-inset-bottom));background:#fffdf8;border-top:1px solid var(--line)}.tool-tray{display:flex;justify-content:center;gap:10px}.tool-button{min-width:82px;min-height:58px;border:2px solid #e5ded4;border-radius:17px;background:white;display:grid;place-items:center;gap:0;font-size:14px;font-weight:700}.tool-button>span:first-child{font-size:20px}.tool-button.selected{border-color:var(--blue);background:#eaf1ff;box-shadow:inset 0 0 0 1px var(--blue)}.palette-row{min-height:62px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:9px}.control-label,.size-row>label{font-weight:750;font-size:15px}.palette{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}.swatch{width:44px;height:44px;flex:none;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #aab3b4;position:relative}.swatch[aria-pressed="true"]{box-shadow:0 0 0 3px var(--blue)}.swatch[aria-pressed="true"]::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:#13252d;text-shadow:0 0 3px white}.custom-color{position:relative;width:38px;height:38px;border-radius:50%;border:2px dashed #7e8c91;display:grid;place-items:center;font-size:22px;overflow:hidden;background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red);color:#fff}.custom-color input{position:absolute;inset:-8px;width:54px;height:54px;opacity:0;cursor:pointer}.size-row{display:flex;justify-content:center;align-items:center;gap:12px;min-height:46px}.size-options{display:flex;gap:6px}.size-options button{min-height:44px;min-width:74px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:white}.size-options button.selected{border:2px solid var(--blue);background:#edf3ff;font-weight:800}.key-help{font-size:13px;color:var(--muted);margin-left:8px}.mobile-sticker-row{display:none}.works-view{min-height:70vh}.page-head{display:flex;align-items:center;gap:28px}.page-head h1{font-size:28px}.works-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.work-card{border:1px solid var(--line);border-radius:18px;background:white;overflow:hidden}.work-open{display:block;width:100%;border:0;background:transparent;text-align:left;padding:0}.work-preview{aspect-ratio:1;background:#fff8ec;display:grid;place-items:center;font-size:50px}.work-meta{padding:12px}.work-meta small{color:var(--muted)}.work-actions{display:flex;gap:8px;padding:0 12px 12px}.work-actions button{min-height:44px;padding:7px 11px;background:#f2f5f9;border:0;border-radius:12px;font-weight:700}.empty-copy{padding:48px 12px;text-align:center;color:var(--muted)}.modal{border:0;border-radius:24px;padding:0;width:min(94vw,480px);max-height:min(90vh,760px);background:transparent;color:var(--ink)}.modal::backdrop{background:#1c2930a6}.modal-card{position:relative;padding:30px;background:var(--panel);border-radius:24px;box-shadow:0 18px 70px #17242c40}.modal-card h2{font-size:25px;margin:6px 0 10px}.modal-card p{line-height:1.55}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;width:44px;height:44px;border-radius:12px}.gate-check,.confirm-check{display:grid;gap:9px;font-weight:750;margin:20px 0}.gate-check input,.confirm-check input{height:52px;padding:10px 14px;border:2px solid #c2d0d6;border-radius:12px;font-size:20px}.gate-warning{font-size:13px;color:#63727a}.primary-button,.danger-button,.modal-actions button,.parent-actions button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 16px;border:0;border-radius:13px;background:var(--blue);color:white;font-weight:800}.danger-button{background:#a63d36}.parent-actions{display:grid;gap:10px}.parent-actions button{width:100%}.parent-actions button:first-child{background:var(--blue)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-actions button,.modal-actions a{border:1px solid var(--line);background:white;color:var(--ink)}.modal-actions .danger-button{background:#a63d36;color:white;border:0}.sticker-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sticker-picker button{height:74px;border:1px solid var(--line);border-radius:16px;background:white;font-size:38px}.toast{position:fixed;z-index:5;left:50%;bottom:24px;transform:translate(-50%,20px);background:#263238;color:white;padding:12px 18px;border-radius:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 24px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:700px){.topbar{height:62px}.brand{font-size:18px}.review-pill{font-size:12px;padding:7px 9px}.home-view,.works-view{padding-top:18px}.welcome{min-height:190px;padding:22px 20px}.welcome-art{flex-direction:column;gap:0;font-size:42px}.welcome-art span:nth-child(2){transform:none}.start-cards{grid-template-columns:1fr;gap:12px;margin-top:14px}.start-card{min-height:112px;padding:13px}.card-icon,.template-thumb{width:70px;height:70px}.editor-view{min-height:calc(100dvh - 62px)}.editor-head{min-height:56px;padding:6px 10px;gap:9px}.history-tools{margin-left:auto}.icon-button{width:44px;height:44px}.save-status{min-width:0;font-size:12px}.canvas-area{min-height:180px;padding:9px;flex:1}.canvas-shell{width:min(100%,calc(100dvh - 390px));min-width:min(100%,280px);max-height:100%;}.editor-controls{padding:7px 8px max(8px,env(safe-area-inset-bottom))}.tool-tray{gap:6px}.tool-button{flex:1;min-width:56px;min-height:54px;border-radius:14px;font-size:13px}.palette-row{gap:6px;min-height:54px;flex-wrap:wrap}.control-label{width:100%;text-align:center;font-size:13px}.palette{gap:7px}.swatch{width:44px;height:44px}.size-row{gap:8px;flex-wrap:wrap}.size-options button{min-width:67px}.key-help{display:none}.mobile-sticker-row{display:flex;gap:8px;padding:4px 10px max(8px,env(safe-area-inset-bottom));background:#fffdf8}.mobile-sticker-row button{flex:1;min-height:48px;border:1px solid var(--line);border-radius:13px;background:white;font-weight:750}.mobile-sticker-row button:last-child{background:var(--blue);color:white}.page-head{gap:14px}.page-head h1{font-size:24px}}@media(max-width:380px){.welcome h1{font-size:29px}.welcome-copy{font-size:15px}.review-pill{display:none}.card-arrow{font-size:21px}.tool-button{min-width:53px;font-size:12px}.palette-row{column-gap:7px}.swatch{width:44px;height:44px}.custom-color{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(forced-colors:active){.tool-button.selected,.size-options button.selected{outline:2px solid Highlight;border-color:Highlight}.swatch{forced-color-adjust:none}}
/* Keep the blank-canvas instruction readable on the white drawing surface. */
.canvas-empty{color:var(--muted)}
/* A calm, art-first template shelf keeps the blank canvas and guided choices equally easy to find. */
.start-section{margin-top:30px}
.start-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}
.start-section-head h2{margin:0;font-size:clamp(22px,3vw,28px);line-height:1.25}
.start-section-head .eyebrow{margin-bottom:5px}
.review-count{flex:none;padding:8px 12px;border:1px solid #e7cf99;border-radius:999px;background:#fff3d6;color:#74571e;font-size:14px;font-weight:750}
.blank-start-card{width:100%;min-height:112px;padding:16px 20px;display:flex;align-items:center;gap:16px;text-align:left;border:1px solid #bad7c0;border-radius:22px;background:#e6f2e8;box-shadow:0 3px 0 #d2e4d4}
.blank-start-card:hover{border-color:#74a980;background:#deeddf}
.blank-start-card strong,.blank-start-card small{display:block}
.blank-start-card strong{font-size:19px}
.blank-start-card small{margin-top:5px;color:#536d57;font-size:15px}
.blank-start-icon{width:62px;height:62px;flex:none;display:grid;place-items:center;border-radius:18px;background:#fff;color:#34734a;font-size:38px}
.blank-start-card .card-arrow{color:#34734a}
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:15px}
.template-choice{min-width:0;min-height:144px;padding:12px;display:flex;align-items:center;gap:14px;text-align:left;border:1px solid #e0d8cc;border-radius:21px;background:#fff;box-shadow:0 3px 0 #e9dece;transition:transform .16s,border-color .16s,box-shadow .16s}
.template-choice:hover{transform:translateY(-2px);border-color:#9ab6df;box-shadow:0 5px 0 #dce5f1}
.template-thumb{width:112px;height:112px;flex:none;overflow:hidden;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#fffaf0,#eef4ff)}
.template-thumb img{width:100%;height:100%;padding:5px;object-fit:contain}
.template-copy{min-width:0;display:grid;gap:5px}
.template-copy strong{font-size:18px;line-height:1.3}
.template-kind{justify-self:start;padding:4px 8px;border-radius:999px;background:#f1f4f8;color:#4f6072;font-size:14px;font-weight:750}
.template-copy small{color:#58656b;font-size:14px;line-height:1.45}
.template-choice .card-arrow{font-size:22px}
.template-loading{grid-column:1/-1;margin:0;padding:22px;border-radius:16px;background:#fff;color:var(--muted);text-align:center}
.work-preview img{width:100%;height:100%;object-fit:contain;padding:10px;background:#fff}
@media(max-width:700px){.start-section{margin-top:23px}.start-section-head{align-items:start}.review-count{font-size:12px;padding:7px 9px}.blank-start-card{min-height:100px;padding:12px}.blank-start-icon{width:56px;height:56px}.template-grid{grid-template-columns:1fr;gap:11px}.template-choice{min-height:112px;padding:10px;gap:12px}.template-thumb{width:88px;height:88px}.template-copy small{font-size:14px}}
@media(max-width:380px){.start-section-head h2{font-size:21px}.review-count{padding:6px 8px;font-size:11px}.template-thumb{width:76px;height:76px}.template-copy strong{font-size:16px}.template-kind,.template-copy small{font-size:14px}}
/* Keep editor symbols consistent across device emoji fonts; each stamp has a visible Korean name. */
.tool-glyph{width:26px;height:26px;display:grid;place-items:center}
.tool-glyph>svg,.tool-glyph .sticker-art{width:26px;height:26px;display:block}
.welcome-sticker{width:70px;height:70px;display:block}
.welcome-sticker .sticker-art{width:100%;height:100%;display:block}
.placed-sticker{position:absolute;width:44px;height:44px;display:grid;place-items:center;transform:translate(-50%,-50%);pointer-events:none}
.placed-sticker .sticker-art{width:100%;height:100%;display:block}
.sticker-picker button{height:auto;min-height:96px;padding:9px 6px;display:grid;place-items:center;align-content:center;gap:5px;font-size:inherit;font-weight:750;color:var(--ink)}
.sticker-picker button[aria-pressed="true"]{border:2px solid var(--blue);background:#edf3ff;box-shadow:inset 0 0 0 1px var(--blue)}
.sticker-choice-icon{width:46px;height:46px;display:block}
.sticker-choice-icon .sticker-art{width:100%;height:100%;display:block}
.sticker-choice-label{font-size:14px;line-height:1.2}
@media(max-width:700px){.welcome-sticker{width:58px;height:58px}.sticker-picker button{min-height:92px}}
