:root{--ink:#16181d;--paper:#f5f4f0;--card:#ffffff;--line:#dedcd4;--accent:#f0ad1d;--accent-deep:#7a5800;--accent-soft:#fbf3dc;--paper-deep:#efede7;--good:#2e7d4f;--warn:#b45309;--danger:#b3261e;--muted:#494d57;--radius:16px;--shadow:0 1px 2px rgba(22,24,29,0.06),0 8px 28px rgba(22,24,29,0.07)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;line-height:1.6;word-break:keep-all}body:before{content:"";display:block;height:6px;background:repeating-linear-gradient(-75deg,var(--ink) 0 11px,var(--accent) 11px 22px)}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px 16px;transition:transform .08s ease,box-shadow .08s ease,border-color .15s ease}button.primary{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}button.accent{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:800}button.ghost{background:transparent}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:12px;padding:10px 14px;width:100%;background:var(--card);color:var(--ink)}textarea{resize:vertical;min-height:72px}.wrap{max-width:980px;margin:0 auto;padding:20px 16px 80px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.row{gap:10px;align-items:center;flex-wrap:wrap}.row,.stack{display:flex}.stack{flex-direction:column;gap:12px}.muted{color:var(--muted);font-size:.92em}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 12px;font-size:.85em;font-weight:700;border:1px solid var(--line);background:#fff}.badge.ai{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.badge.danger{background:#fdecea;border-color:var(--danger);color:var(--danger)}.badge.good{background:#e9f5ee;border-color:var(--good);color:var(--good)}.sc{display:inline-block;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:11px;letter-spacing:.18em;color:var(--accent-deep)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.02em}.brand em{font-style:normal;color:var(--accent-deep)}.kid{font-size:18px}.kid h1{font-size:1.5em;margin:.2em 0}.kid h2{font-size:1.25em}.kid button{min-height:48px;border-radius:14px;border-width:2px;box-shadow:0 3px 0 var(--line)}.kid button:active{transform:translateY(3px);box-shadow:0 0 0 var(--line)}.kid button.accent{box-shadow:0 3px 0 var(--accent-deep)}.kid button.accent:active{box-shadow:0 0 0 var(--accent-deep)}.kid button.primary{box-shadow:0 3px 0 #000}.kid button.primary:active{box-shadow:0 0 0 #000}.kid button.ghost{box-shadow:none;border-width:1px;min-height:40px}.empty-hero{text-align:center;padding:42px 20px 34px;border:2px dashed var(--accent);background:var(--accent-soft);cursor:pointer;position:relative;overflow:hidden;transition:transform .12s ease}.empty-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:10px;background:repeating-linear-gradient(-75deg,var(--ink) 0 12px,var(--accent) 12px 24px)}.empty-hero:hover{transform:translateY(-2px)}.empty-hero .big{font-size:54px;line-height:1;margin-bottom:10px}.project-card{cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease;border:2px solid var(--line);box-shadow:0 2px 0 var(--line)}.project-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 16px rgba(240,173,29,.25)}.project-card .go{font-size:1.5em;color:var(--accent);font-weight:800}.cliff{background:var(--accent-soft);border:1px dashed var(--accent);border-radius:12px;padding:10px 14px;font-weight:600}.stages{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px;align-items:center}.stage{padding:7px 13px;border-radius:999px;border:1.5px solid var(--line);font-size:.78em;background:#fff;color:var(--muted);white-space:nowrap;transition:transform .15s ease}.stage .sc{font-size:10px;margin-right:5px}.stage.done{background:var(--accent-soft);color:var(--accent-deep)}.stage.done,.stage.on{border-color:var(--accent)}.stage.on{background:var(--accent);font-weight:800;transform:scale(1.07)}.stage.on,.stage.on .sc{color:var(--ink)}.stage-sep{color:var(--line);font-weight:800}.chat{display:flex;flex-direction:column;gap:10px}.msg-row{display:flex;gap:8px;align-items:flex-end}.avatar{width:36px;height:36px;border-radius:12px;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center}.bubble{max-width:85%;padding:12px 16px;border-radius:18px;white-space:pre-wrap}.bubble.kid{align-self:flex-end;background:var(--accent);color:var(--ink);font-weight:600;border-bottom-right-radius:4px}.bubble.coach{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.urgent{border:2px solid var(--danger)}.bubble.held{background:var(--accent-soft);border:2px solid var(--accent);color:var(--ink);box-shadow:0 2px 10px rgba(240,173,29,.3);position:relative;overflow:hidden;padding-top:20px;animation:pop .25s ease}.bubble.held:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(-75deg,var(--ink) 0 9px,var(--accent) 9px 18px);opacity:.9}@keyframes pop{0%{transform:scale(.92);opacity:.6}to{transform:scale(1);opacity:1}}.dots i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-left:4px;animation:blink 1.2s infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.decision-card{background:#fff;border-radius:10px;padding:10px 14px;border:1px solid var(--line);border-left:4px solid var(--accent);display:flex;gap:10px;align-items:flex-start}.medal{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:800;font-size:.75em;flex:none;margin-top:2px}.medal,.overlay{align-items:center;justify-content:center}.overlay{position:fixed;inset:0;background:rgba(22,24,29,.55);display:flex;padding:16px;z-index:50}.modal{background:var(--card);border-radius:var(--radius);padding:22px;max-width:520px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow)}.parent{font-size:15px}.parent .card{border-radius:10px}.parent table{width:100%;border-collapse:collapse;font-size:.92em}.parent td,.parent th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.parent th{background:var(--paper-deep)}.parent td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-num{font-size:2.6em;font-weight:800;line-height:1.1;letter-spacing:-.02em}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0;align-items:center}.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tab-divider{width:1px;align-self:stretch;background:var(--line);margin:4px}.table-scroll{overflow-x:auto}.slate-doc{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}.slate-doc .slate-clap{height:12px;background:repeating-linear-gradient(-75deg,var(--ink) 0 12px,var(--accent) 12px 24px)}.slate-doc pre{margin:0}.slate-doc pre,pre.spec{padding:14px;white-space:pre-wrap;font-family:inherit;font-size:.95em;background:var(--paper-deep)}.receipt,pre.spec{border:1px solid var(--line);border-radius:12px}.receipt{background:var(--card);overflow:hidden;box-shadow:var(--shadow)}.receipt .r-clap{height:8px;background:repeating-linear-gradient(-75deg,var(--ink) 0 12px,var(--accent) 12px 24px)}.receipt .r-body{padding:20px;display:flex;flex-direction:column;gap:12px}.receipt .r-head{text-align:center;font-weight:800;letter-spacing:.2em;font-size:.95em}.receipt .r-sub{text-align:center;color:var(--muted);font-size:.85em;margin-top:-8px}.receipt .r-line{border:none;border-top:1px dashed var(--line);margin:2px 0}.receipt td,.receipt th{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.l-tag{font-size:11.5px;letter-spacing:.12em;color:var(--accent-deep);border:1px solid;border-radius:99px;padding:2px 9px;white-space:nowrap}.alert{border:2px solid var(--danger);background:#fdecea;border-radius:var(--radius);padding:14px 18px}.alert strong{font-size:1.08em}.alert a{color:var(--danger);font-weight:800}.card-clap{height:8px;margin:-18px -18px 14px;border-radius:10px 10px 0 0;background:repeating-linear-gradient(-75deg,var(--ink) 0 14px,var(--accent) 14px 28px)}.pin-input{font-size:1.3em!important;letter-spacing:.35em;text-align:center}@media (max-width:560px){.kid{font-size:17px}.stages{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}.stage{flex:none}.chat{max-height:46vh;overflow-y:auto}}@media (max-width:700px){.parent .cardify thead{display:none}.parent .cardify tr{display:block;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:8px 10px}.parent .cardify td{display:block;border:none;padding:2px 0}.parent .cardify td:empty{display:none}.parent .cardify td:before{content:attr(data-label);display:inline-block;min-width:92px;color:var(--muted);font-size:.85em}}@media print{.alert,.no-print,.tabs,body:before,button,header{display:none!important}.card,.receipt{border:none;box-shadow:none}body{background:#fff}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.link-btn{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:7px 15px;background:var(--card);color:var(--ink);text-decoration:none;font-size:.85em;font-weight:700;transition:border-color .15s ease,box-shadow .15s ease,transform .08s ease;box-shadow:0 2px 0 var(--line)}.link-btn:hover{border-color:var(--accent);box-shadow:0 2px 0 var(--accent-deep)}.link-btn:active{transform:translateY(2px);box-shadow:none}