@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#253b33;--muted:#89908a;--green:#2c654b;--line:#e7e9e2;--paper:#f8f9f5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'Noto Sans KR',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #83bba0;outline-offset:3px}aside{width:238px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;text-decoration:none;color:var(--ink);font-size:28px;font-weight:700;align-items:center}.brand span{font-size:20px;letter-spacing:-1px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:6px}.space-label{font-size:10px;color:#9ba29b;letter-spacing:1.8px;margin:52px 12px 17px}nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;border-radius:7px;text-align:left;padding:13px 12px;margin:5px 0;font-size:16px;color:#7b857e}nav button span{font-size:13px}nav button.active{color:var(--green);background:#eaf1e9;font-weight:600}nav b{margin-left:auto;font-size:10px;padding:2px 7px;background:white;border-radius:4px}.sidebar-note{position:relative;margin:48px 8px 0;padding-top:22px;border-top:1px solid var(--line)}.sidebar-note>span{font-size:11px;font-weight:600}.sidebar-note p{font-size:11px;color:#939a93;line-height:1.9}.note-art{font-size:75px;color:#c1d0bd;line-height:1;margin:12px 0;transform:rotate(-10deg)}.sidebar-bottom{margin-top:auto}.sidebar-bottom button{display:block;border:0;background:none;font-size:11px;padding:7px;color:#68776e}.sidebar-bottom small{display:block;font-size:10px;color:#a0a59f;margin:14px 5px 0}main{margin-left:238px}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#ffffff77;font-size:11px}.breadcrumb{color:#8b938b}.breadcrumb span{margin:0 13px;color:#c2c7bf}.breadcrumb strong{font-weight:500;color:#536057}.profile{display:flex;align-items:center;gap:14px;color:#8b938b}.profile span{background:#e7edde;color:#607154;border:3px solid white;border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font-size:10px}.content{max-width:1550px;margin:auto;padding:38px 42px 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:1.4px;color:#8a978a;font-weight:600}h1{font-size:33px;font-weight:600;letter-spacing:-1.8px;margin:13px 0 10px}.intro p{font-size:12px;color:#8b948c;margin:0}.primary{border:0;background:var(--green);color:white;border-radius:7px;padding:13px 18px;font-size:12px;box-shadow:0 3px 5px #2a584910}.primary:hover{background:#214e39}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:10px;padding:23px 0;margin-bottom:36px}.stats>div{padding:0 26px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats span{display:flex;justify-content:space-between;font-size:11px;color:#7d897e}.stats i{font-style:normal;color:#9aa996}.stats strong{display:block;font-size:30px;font-weight:500;line-height:1.6;margin-top:4px}.stats small{font-size:9px;color:#a1a89f}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:28px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h2{font-size:16px;margin:0;font-weight:600;letter-spacing:-.4px}.section-top h2 span{font-size:11px;color:#9aa497;font-weight:400;margin-left:7px}select{background:transparent;border:0;color:#8a9489;font-size:10px}.toolbar{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);margin-bottom:21px}.tabs{display:flex;gap:17px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;font-size:11px;padding:0 0 13px;color:#91998e;white-space:nowrap}.tabs button.selected{border-color:var(--green);color:var(--green);font-weight:600}.search{display:flex;gap:6px;color:#a1aa9e}.search input{border:0;background:none;outline:0;width:110px;font-size:10px;height:22px;color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.card{--accent:#57865a;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;padding:21px;cursor:pointer;transition:transform .2s,box-shadow .2s;min-height:239px;position:relative}.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #243b3310}.card.orange{--accent:#be8957}.card.purple{--accent:#9182ae}.card.blue{--accent:#7095b0}.card-top{display:flex;justify-content:space-between;align-items:center}.project-icon{display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);border-radius:10px;width:37px;height:37px;font-size:20px}.badge{font-size:9px;border:1px solid var(--line);padding:3px 7px;border-radius:4px;color:#8b9486}.badge.running{color:#528768;background:#edf5ec;border-color:#e2eedf}.badge.complete{color:#7b76a0;background:#f2eff8;border-color:#e8e4f2}.card h3{font-size:14px;margin:17px 0 7px;font-weight:600}.card p{font-size:10px;color:#949c92;line-height:1.8;height:36px;overflow:hidden;margin:0 0 16px;white-space:pre-line}.progress-label{display:flex;justify-content:space-between;font-size:9px;color:#8e978c}.progress-label strong{color:var(--accent);font-weight:500}.progress{height:4px;border-radius:5px;background:#f0f1ec;margin:8px 0 17px;overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:5px}.card-bottom{border-top:1px solid #f1f2ed;padding-top:12px;display:flex;align-items:center;justify-content:space-between;color:#9da398;font-size:9px}.category{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f6f7f2;padding:3px 6px;border-radius:3px}.new-card{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #cdd6c8;background:transparent;color:#97a28f;border-radius:9px;min-height:239px;gap:12px;font-size:11px}.new-card b{font-weight:400;border:1px solid #dce3d8;border-radius:50%;width:32px;height:32px;font-size:22px}.new-card small{font-size:9px;color:#a7afa0}.focus{padding:26px 24px;background:#eaf0e3;border-radius:9px;overflow:hidden;position:relative}.focus .eyebrow{font-size:8px;color:#839176}.focus h2{font-size:25px;font-weight:500;line-height:1.6;margin:15px 0 12px;letter-spacing:-1.4px}.focus p{font-size:10px;line-height:2;color:#86937b;margin:0}.focus-line{font-size:8px;color:#829275;border-top:1px solid #dce5d4;margin-top:24px;padding-top:15px}.focus-line span{margin-right:6px}.upcoming{background:white;border:1px solid var(--line);border-radius:9px;padding:20px;margin-top:20px}.upcoming h3{font-size:12px;margin:0 0 14px;display:flex;justify-content:space-between;font-weight:500}.upcoming h3 span{color:#a7afa0}.deadline{display:flex;gap:10px;border-top:1px solid #f0f1eb;padding:13px 0;align-items:center}.date-box{width:32px;flex-shrink:0;text-align:center;border:1px solid #e8eae2;border-radius:5px;color:#7d8b74;padding:4px}.date-box small{font-size:7px;display:block}.date-box b{font-size:13px;font-weight:500}.deadline-title{font-size:10px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deadline-title small{display:block;color:#a1aa98;font-size:8px;margin-top:6px}.dday{font-size:8px;color:#a18a60;white-space:nowrap}.storage{font-size:10px;padding:24px 10px;color:#8e9a86}.storage p{font-size:9px;line-height:1.9;color:#a3ac9c}footer{display:flex;justify-content:space-between;font-size:9px;color:#abb3a4;border-top:1px solid var(--line);margin-top:36px;padding-top:19px}footer span{font-size:8px;letter-spacing:2px}dialog{border:1px solid var(--line);border-radius:14px;width:540px;max-width:calc(100% - 24px);padding:28px;color:var(--ink);box-shadow:0 30px 100px #12281c30}dialog::backdrop{background:#1d332959;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-head h2{font-size:23px;margin-top:8px}.icon-btn{background:none;border:0;padding:8px}form label{font-size:11px;display:block;margin-bottom:16px}form input,form select,form textarea{display:block;width:100%;border:1px solid #dfe4da;background:#fcfdf9;border-radius:6px;padding:10px;color:var(--ink);font-size:12px;margin-top:7px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tasks-head{display:flex;justify-content:space-between;align-items:center}.tasks-head h3{font-size:12px}.tasks-head small{font-size:9px;color:#9da794}.task-entry{display:flex;gap:8px;align-items:center}.task-entry input{margin:0}.task-entry button{background:#ecf1e6;border:0;border-radius:5px;padding:10px 14px;font-size:11px;white-space:nowrap}.task-row{display:flex;align-items:center;gap:9px;font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}.task-row input{width:15px;margin:0;accent-color:var(--green)}.task-row span{flex:1;overflow-wrap:anywhere}.task-row input:checked+span{text-decoration:line-through;color:#a4ad9c}.task-row button{border:0;background:none;color:#a3ab9c}.dialog-actions{display:flex;justify-content:space-between;margin-top:24px}.danger{border:0;background:none;color:#b17f72;font-size:10px}.empty{grid-column:1/-1;padding:45px 10px;text-align:center;color:#98a38e;font-size:12px}.task-group{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:8px;padding:18px}.task-group h3{font-size:13px;margin:0 0 10px}#toast{position:fixed;bottom:25px;left:50%;background:#253f32;color:white;border-radius:8px;padding:13px 20px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}button:disabled{opacity:.5;cursor:wait}@media(min-width:1500px){.card{min-height:265px;padding:25px}.card p{margin-bottom:25px}.workspace{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:1150px){aside{width:200px;padding:26px 15px}main{margin-left:200px}.content{padding:30px 25px}header{padding:0 25px}.workspace{grid-template-columns:1fr}.right-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px}.upcoming{margin:0}.storage{display:none}.stats>div{padding:0 16px}.stats small{font-size:8px}}@media(max-width:700px){aside{position:static;width:100%;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:25px}.brand small,.space-label,.sidebar-note,.sidebar-bottom small{display:none}.brand span{font-size:19px}nav{display:flex;gap:5px;margin-top:14px}nav button{width:auto;padding:9px;font-size:12px;gap:6px}nav button span{font-size:10px}nav b{display:none}.sidebar-bottom{display:flex;position:absolute;top:20px;right:8px}.sidebar-bottom button{font-size:9px;padding:6px}main{margin:0}header{height:50px;padding:0 20px}.profile{font-size:0}.profile span{font-size:9px;width:28px;height:28px}.content{padding:25px 18px}.intro{align-items:flex-start;gap:8px}h1{font-size:27px}.intro p{font-size:10px;max-width:220px;line-height:1.8}.intro .primary{font-size:10px;padding:10px;white-space:nowrap;margin-top:29px}.stats{grid-template-columns:1fr 1fr;padding:6px 0;row-gap:16px}.stats>div{padding:10px 20px}.stats>div:nth-child(2){border:0}.stats strong{font-size:27px}.toolbar{flex-wrap:wrap}.search{margin-bottom:10px}.cards{gap:12px}.card{padding:15px;min-height:235px}.card h3{font-size:13px}.right-panel{grid-template-columns:1fr}.focus{display:none}.workspace{gap:24px}.tabs{gap:14px}.task-entry input{min-width:0}dialog{padding:22px}}

[hidden]{display:none!important}.auth-gate{position:fixed;inset:0;background:#f1f4ec;z-index:100;display:grid;place-items:center;overflow:auto;padding:25px;background-image:radial-gradient(circle at 10% 20%,#dce8cf80,transparent 40%)}.auth-card{width:420px;max-width:100%;background:white;border:1px solid #e0e7d8;border-radius:16px;padding:38px;box-shadow:0 20px 70px #294c2810}.auth-brand{font-size:23px;letter-spacing:-1px;font-weight:700;margin-bottom:40px}.auth-card h1{font-size:27px}.auth-card>p{font-size:12px;line-height:1.9;color:#89947e;margin:12px 0 25px}.auth-card form .primary{width:100%;margin-top:5px}.auth-card .text-button{display:block;margin:13px auto;background:none;border:0;font-size:11px;color:#647a57}.auth-card>small{display:block;text-align:center;font-size:9px;color:#a1ac98;margin-top:25px}.auth-card #authMessage{font-size:11px;color:#7c876f;line-height:1.8;margin:15px 0;white-space:pre-line}.profile{gap:14px}.profile button{border:0;background:none;color:#87947b;font-size:10px;padding:7px}.profile #syncState{display:inline;background:none;border:0;border-radius:0;height:auto;width:auto;font-size:10px;color:#839575}.profile #syncState[data-kind="error"]{color:#b58366}.profile #userEmail{display:inline;background:none;border:0;border-radius:0;height:auto;width:auto;max-width:190px;overflow:hidden;text-overflow:ellipsis;font-size:10px}.storage{color:#8e9a86}#recoveryGate{z-index:110}@media(max-width:700px){.auth-card{padding:28px}.profile #userEmail{display:none}.profile #syncState{font-size:9px}.profile{gap:4px}header{padding:0 16px}.sidebar-bottom{max-width:175px;flex-wrap:wrap;justify-content:flex-end;top:10px}.sidebar-bottom button{padding:4px;font-size:8px}.brand{max-width:calc(100% - 170px)}}


.editor-notice{font-size:11px;line-height:1.8;color:#ad7659;white-space:pre-line}.editor-notice:empty{display:none}

.brand span{font-size:18px;letter-spacing:-.7px}.auth-brand{font-size:23px}.eyebrow,.space-label{letter-spacing:.5px}.card h3,.deadline-title,.task-group h3{overflow-wrap:anywhere}.card h3{word-break:keep-all}.project-icon{flex-shrink:0}
