:root{--color-royal:#0047ba;--color-royal-600:#0039a6;--color-navy:#0a1e3f;--color-sky:#4a90e2;--color-sky-soft:#eaf1fb;--color-ink:#0d1117;--color-text:#1b2230;--color-muted:#5b6675;--color-faint:#8a94a3;--color-line:#e7eaef;--color-line-soft:#f0f2f6;--color-bg:#fff;--color-bg-alt:#f7f8fb;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--maxw:1120px;--gutter:clamp(1.25rem, 4vw, 3rem);--radius:14px;--radius-sm:10px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6}h1,h2,h3,h4{color:var(--color-ink);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.18}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--color-royal);color:#fff}.container{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(4.5rem,9vw,8rem)}.section--alt{background:var(--color-bg-alt);border-block:1px solid var(--color-line)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-royal);margin-bottom:1rem;font-size:.78rem;font-weight:600;display:inline-block}.section-title{font-size:clamp(1.7rem,3.5vw,2.6rem)}.section-lead{max-width:46ch;color:var(--color-muted);margin-top:1rem;font-size:1.05rem}.btn{transition:transform .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.4rem;font-size:.98rem;font-weight:600;display:inline-flex}.btn--primary{background:var(--color-royal);color:#fff;box-shadow:0 6px 20px -8px #0047ba99}.btn--primary:hover{background:var(--color-royal-600);transform:translateY(-1px)}.btn--ghost{color:var(--color-ink);border-color:var(--color-line);background:0 0}.btn--ghost:hover{border-color:var(--color-royal);color:var(--color-royal)}.btn--slim{border-radius:999px;gap:.3rem;padding:3px 11px;font-size:.74rem;font-weight:700;line-height:1.5}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.topbar-home{background:#ffffff24;border-radius:9px;place-items:center;width:34px;height:34px;margin-right:.6rem;font-size:1.05rem;text-decoration:none;transition:background .15s;display:inline-grid}.topbar-home:hover{background:#ffffff47}.gbrand{align-items:center;gap:.5rem;margin-right:.7rem;text-decoration:none;display:inline-flex}.gbrand img,.gbrand svg{filter:drop-shadow(0 3px 8px #0047ba59);width:28px;height:28px;transition:transform .45s cubic-bezier(.22,.61,.36,1);display:block}.gbrand:hover svg{transform:rotate(90deg)}.gbrand span{color:#fff;letter-spacing:-.01em;white-space:nowrap;font-size:1.02rem}.gbrand strong{font-weight:800}.gbrand em{color:#9dc3ff;font-style:normal;font-weight:500}.topbar__inner .brand--back{color:#cdd9ee;font-size:.9rem;font-weight:600}.topbar__inner .brand--back:hover{color:#fff}.topbar__inner .topbar__nav{white-space:nowrap;align-items:center;display:flex}.gnav{gap:.15rem;margin-right:.8rem;display:flex}.gnav__dd{position:relative}.gnav__btn{font:inherit;color:#cdd9ee;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.3rem .55rem;font-size:.88rem}.gnav__btn:hover{color:#fff;background:#ffffff1f}.gnav__list{z-index:90;background:#fff;border:1px solid #dfe5ee;border-radius:10px;flex-direction:column;min-width:156px;padding:.35rem;display:flex;position:absolute;top:calc(100% + 6px);left:auto;right:0;box-shadow:0 14px 34px -14px #0a1e3f59}.gnav__list[hidden]{display:none}.gnav__list a{color:#21324e;white-space:nowrap;border-radius:7px;padding:.45rem .65rem;font-size:.88rem;text-decoration:none}.gnav__list a:hover{background:#eef2fb}@media (width<=720px){.gnav,.gbrand span{display:none}}.todo-fab{cursor:pointer;color:#fff;background:#ffffff24;border:1px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;margin-left:.6rem;padding:0;font-size:1rem;display:inline-flex;position:relative}.todo-fab:hover{background:#ffffff47}.todo-fab__badge{color:#fff;background:#e14b4b;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 5px;font-size:.66rem;font-weight:800;display:flex;position:absolute;top:-6px;right:-6px}.todo-float{z-index:120;border-radius:14px;width:420px;max-width:calc(100vw - 32px);max-height:min(74vh,660px);position:fixed;top:70px;right:16px;overflow-y:auto;box-shadow:0 14px 40px #0f1e3c40}.todo{background:#fff;border:1px solid #dfe5ee;border-radius:14px;margin:0;padding:1rem 1.3rem 1.1rem}.todo__head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.todo__head h2{color:#14243f;font-size:1rem}.todo__head-actions{align-items:center;gap:.4rem;display:flex}.todo .tbtn{font:inherit;cursor:pointer;color:#5b6b84;white-space:nowrap;background:#fff;border:1px solid #dfe5ee;border-radius:8px;padding:.28rem .6rem;font-size:.76rem;font-weight:600}.todo .tbtn:hover{color:#0047ba;border-color:#0047ba}.todo .tbtn.gt-on{color:#1d7a46;border-color:#bfe3cd}.todo__cols{flex-direction:column;gap:.9rem;display:flex}.todo__col h3{color:#0047ba;margin-bottom:.35rem;font-size:.82rem}.todo__ul{flex-direction:column;margin:0 0 .4rem;padding:0;list-style:none;display:flex}.todo__ul li{color:#21324e;border-bottom:1px dashed #eceff5;align-items:center;gap:.45rem;padding:.28rem .1rem;font-size:.88rem;display:flex}.todo__ul li:last-child{border-bottom:none}.todo__ul input[type=checkbox]{accent-color:#0047ba;cursor:pointer;flex:none;width:15px;height:15px}.todo__ul .td-text{cursor:pointer;overflow-wrap:anywhere;flex:1;min-width:0}.todo__ul .td-text:hover{color:#0047ba}.todo__ul .td-done .td-text{color:#9aa7ba;text-decoration:line-through}.todo__ul .td-late{color:#c0392b;background:#fdecea;border-radius:5px;flex:none;padding:1px 6px;font-size:.68rem}.todo__ul .td-del{color:#9aa7ba;cursor:pointer;background:0 0;border:none;flex:none;padding:0 .2rem;font-size:.8rem}.todo__ul .td-del:hover{color:#c0392b}.todo__ul .td-empty{color:#9aa7ba;border:none;font-size:.82rem}.todo__ul .td-edit{font:inherit;border:1px solid #0047ba;border-radius:6px;flex:1;padding:.15rem .4rem;font-size:.88rem}.todo__addform{gap:.35rem;display:flex}.todo__addform input{font:inherit;border:1px solid #dfe5ee;border-radius:8px;flex:1;padding:.35rem .6rem;font-size:.85rem}.todo__addform input:focus{border-color:#0047ba;outline:none}.todo__summary{color:#21324e;background:#f7f9fc;border:1px solid #dfe5ee;border-radius:10px;margin-bottom:.75rem;padding:.7rem .95rem;font-size:.86rem}.todo__summary b{color:#0047ba}.todo__summary .sum-copy{float:right;font:inherit;color:#5b6b84;cursor:pointer;background:#fff;border:1px solid #dfe5ee;border-radius:6px;margin-left:.5rem;padding:.15rem .5rem;font-size:.74rem;font-weight:600}.todo__summary .sum-copy:hover{color:#0047ba;border-color:#0047ba}
