@import "https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=IBM+Plex+Sans+KR:wght@300;400;500;600&display=swap";:root{color:#1c2321;font-synthesis:none;background:#fafaf7;font-family:IBM Plex Sans KR,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}.loading{color:#8a918d;place-content:center;justify-items:center;gap:12px;min-height:100vh;font-size:13px;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{background:radial-gradient(circle at 50% 25%,#f1f2ec,#fafaf7 58%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#ffffffe0;border:1px solid #e3e5df;border-radius:12px;width:min(390px,100%);padding:34px;box-shadow:0 20px 60px #1c232112}.auth-card h1{text-align:center;margin:4px 0 8px;font:700 28px Gowun Batang,serif}.auth-card>p{color:#5c6663;text-align:center;margin:0 0 25px;font-size:13px;line-height:1.65}.brand-seed{color:#52713f;text-align:center;text-shadow:16px -12px #b4842b;font-size:27px}.auth-card label{color:#5c6663;gap:6px;margin:13px 0;font-size:12px;display:grid}.auth-card input{color:#1c2321;background:#fff;border:1px solid #e3e5df;border-radius:5px;outline:none;padding:10px 11px}.auth-card input:focus{border-color:#2f4a7c;box-shadow:0 0 0 3px #2f4a7c14}.primary{color:#fff;cursor:pointer;background:#2f4a7c;border:0;border-radius:5px;width:100%;margin-top:8px;padding:10px}.primary:disabled{opacity:.55;cursor:wait}.text-button{color:#2f4a7c;cursor:pointer;background:0 0;border:0;margin:14px auto 0;font-size:12px;display:block}.planner-shell{--paper:#fafaf7;--paper2:#f1f2ec;--ink:#1c2321;--ink2:#5c6663;--ink3:#9ba19d;--rule:#e3e5df;--stamp:#2f4a7c;--alert:#9e3b4e;background:var(--paper);min-height:100vh;padding:26px 22px 60px}.planner-wrap{max-width:820px;margin:0 auto}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.topbar h1{letter-spacing:-.02em;margin:0;font:700 24px Gowun Batang,serif}.topbar p{color:var(--ink3);letter-spacing:.03em;margin:3px 0 0;font-size:11.5px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.top-actions button{color:var(--ink3);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:6px 9px;font-size:11.5px;display:flex}.top-actions button:hover{background:var(--paper2);color:var(--ink2)}.top-actions button.active{background:var(--ink);color:#fff}.composer{border:1px solid var(--rule);background:#fff;border-radius:5px;align-items:center;gap:9px;padding:10px 12px;display:flex}.composer:focus-within{border-color:var(--stamp)}.composer input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.composer input::placeholder{color:var(--ink3)}.target{color:#fff;cursor:pointer;border:0;border-radius:99px;flex:none;padding:3px 8px;font-size:10.5px}.send{background:var(--stamp);color:#fff;cursor:pointer;border:0;border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.send:disabled{background:var(--ink3);cursor:default}.link-button{border:0;border-bottom:1px dotted var(--stamp);color:var(--stamp);font-size:inherit;cursor:pointer;background:0 0;padding:0}.import-box{border:1px solid var(--rule);color:var(--ink2);background:#fff;border-radius:5px;gap:6px;margin-top:10px;padding:11px 12px;font-size:12.5px;display:grid}.import-box b{color:var(--ink);font-size:12.5px}.import-box>div{gap:6px;display:flex}.primary-ghost{border-color:var(--stamp);color:var(--stamp)}.hint{flex-wrap:wrap;gap:10px;margin:6px 2px 0;display:flex}.hint button{border:0;border-bottom:1px dotted var(--stamp);color:var(--stamp);cursor:pointer;background:0 0;padding:0;font-size:11px}.notice{background:var(--paper2);color:var(--ink2);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:7px 11px;font-size:12px;display:flex}.notice.bad{color:var(--alert);background:#fbeef0}.notice button{color:inherit;cursor:pointer;background:0 0;border:0}.filters{flex-wrap:wrap;gap:5px;margin-top:13px;display:flex}.filter-chip,.manage-chip{border:1px solid var(--rule);min-height:27px;color:var(--ink2);background:#fff;border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;display:inline-flex}.filter-chip{cursor:pointer}.filter-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-chip i,.manage-chip i,.archive-box i{border-radius:50%;flex:none;width:7px;height:7px}.manage-chip input{border:0;border-bottom:1px dotted var(--ink3);width:100px;color:var(--ink2);background:0 0;outline:0;font-size:11.5px}.manage-chip input:focus{border-bottom-color:var(--stamp);color:var(--ink)}.manage-chip button{color:var(--ink3);cursor:pointer;background:0 0;border:0;place-items:center;padding:1px;display:grid}.manage-chip button:hover{color:var(--alert)}.manage-chip.add input{width:112px}.archive-box{border:1px solid var(--rule);background:var(--paper2);border-radius:5px;margin-top:10px;padding:9px 11px}.archive-box h3{border-bottom:1px solid var(--rule);color:var(--ink2);align-items:center;gap:6px;margin:0 0 4px;padding-bottom:7px;font-size:11.5px;display:flex}.archive-box>div{align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.archive-box small{color:var(--ink3);margin-left:auto}.strip{margin:26px 0 8px}.strip-head{color:var(--ink3);letter-spacing:.06em;justify-content:space-between;margin-bottom:7px;font-size:10.5px;display:flex}.plots{gap:2px;padding:2px;display:flex;overflow-x:auto}.plot{cursor:pointer;background:0 0;border:0;flex:1 0 auto;min-width:17px;padding:0}.plot-column{background:var(--paper2);border-radius:2px;flex-direction:column-reverse;justify-content:flex-start;gap:2px;height:56px;padding:2px;display:flex}.plot.weekend .plot-column{background:#eaebe4}.plot.selected .plot-column{outline:1.5px solid var(--stamp);outline-offset:1px}.plot.current .plot-column{box-shadow:inset 0 -2px 0 var(--ink)}.plot-column i{border-radius:2px;height:7px;display:block}.plot-column small{color:var(--ink3);font-size:8px;line-height:7px}.plot-tick{height:12px;color:var(--ink3);text-align:center;margin-top:5px;font-size:9px;display:block}.plot.current .plot-tick{color:var(--ink);font-weight:600}.day-filter{border:0;border-bottom:1px dotted var(--stamp);color:var(--stamp);cursor:pointer;background:0 0;font-size:11px}.task-group{margin-top:24px}.task-group>header{border-bottom:1px solid var(--rule);align-items:center;gap:9px;padding-bottom:7px;display:flex}.task-group>header h2{margin:0;font:700 14.5px Gowun Batang,serif}.task-group>header.late h2{color:var(--alert)}.task-group>header span,.task-group>header small{color:var(--ink3);font-size:11px}.task-group>header small{margin-left:auto}.task-group>header.clickable{cursor:pointer}.task-row{border-bottom:1px solid #eff0eb;padding:9px 4px 9px 0}.task-row:hover{background:#fcfcfa}.task-main{align-items:flex-start;gap:9px;display:flex}.check{border:1.5px solid var(--ink3);color:#fafaf7;cursor:pointer;background:0 0;border-radius:3px;flex:none;place-items:center;width:15px;height:15px;margin-top:3px;padding:0;display:grid}.check.done{border-color:var(--ink);background:var(--ink)}.check.small{width:13px;height:13px}.task-title{overflow-wrap:anywhere;flex:1;min-width:0}.crossed{text-decoration:line-through;text-decoration-thickness:1px;color:var(--ink3)!important}.tag{color:#fff;cursor:pointer;border:0;border-radius:99px;flex:none;padding:2px 7px;font-size:10.5px}.deadline{min-width:46px;color:var(--ink3);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;justify-content:flex-end;align-items:center;gap:3px;padding:1px 2px;font-size:11.5px;display:inline-flex}.deadline:hover{background:var(--paper2);color:var(--stamp)}.deadline.late{color:var(--alert);font-weight:500}.deadline.now{color:var(--ink);font-weight:600}.deadline.soon{color:var(--ink2)}.icon-button{color:var(--ink3);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;padding:2px;display:grid}.icon-button:hover{background:var(--paper2);color:var(--stamp)}.icon-button.danger:hover{color:var(--alert)}.task-editor{background:var(--paper2);border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px;margin:7px 0 2px 24px;padding:8px 10px;display:flex}.task-editor input,.task-editor select,.inline-fields input{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:4px;outline:0;padding:3px 7px;font-size:12px}.task-editor .title-input{flex:170px}.ghost{border:1px solid var(--rule);color:var(--ink2);cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:inline-flex}.ghost:hover{border-color:var(--ink3);color:var(--ink)}.subtask-toggle{color:var(--ink3);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;margin:2px 0 0 24px;padding:2px 4px 2px 0;font-size:11px;display:flex}.subtasks{border-left:1px solid var(--rule);margin:4px 0 2px 24px;padding-left:11px}.subtask-row{color:var(--ink2);align-items:flex-start;gap:8px;padding:3.5px 0;font-size:13px;display:flex}.subtask-row>span:nth-child(2){flex:1}.inline-fields{gap:4px;display:flex}.add-subtask{color:var(--ink3);align-items:center;gap:6px;margin-top:5px;display:flex}.add-subtask input{border:0;border-bottom:1px solid var(--rule);color:var(--ink);background:0 0;outline:0;flex:1;padding:3px 0;font-size:13px}.empty{color:var(--ink3);text-align:center;padding:36px 0;font-size:13px}.calendar-view{margin-top:22px}.calendar-nav{justify-content:center;align-items:center;gap:16px;margin-bottom:12px;display:flex}.calendar-nav h2{margin:0;font:700 17px Gowun Batang,serif}.calendar-nav button{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:4px;width:27px;height:27px}.calendar-grid{border:1px solid var(--rule);background:var(--rule);border-radius:4px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.weekday{background:var(--paper2);color:var(--ink2);text-align:center;padding:5px 0;font-size:10.5px}.calendar-cell{background:#fff;min-height:80px;padding:4px 5px}.calendar-cell.outside{background:#fbfbf8}.calendar-cell>span{width:17px;height:17px;color:var(--ink3);place-items:center;font-size:10.5px;display:grid}.calendar-cell.today>span{background:var(--ink);color:#fff;border-radius:50%;font-weight:600}.calendar-task{color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:2px;margin:2px 0;padding:1px 4px;font-size:10px;overflow:hidden}.calendar-cell small{color:var(--ink3);font-size:9px}footer{border-top:1px solid var(--rule);color:var(--ink3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:36px;padding-top:14px;font-size:11px;display:flex}footer>span{margin-left:auto}.auth-hint{color:var(--ink3,#9ba19d)!important;margin:14px 0 0!important;font-size:11.5px!important}.filter-chip.toggle{color:var(--ink2)}.filter-chip.toggle:hover{border-color:var(--ink3);color:var(--ink)}.archive-box h3 span{color:var(--ink3);font-weight:400}.deadline.none{color:#c3c7c3}.deadline.none:hover{color:var(--stamp)}@media (width<=650px){.planner-shell{padding:19px 13px 48px}.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:12px}.top-actions button{padding:5px 7px}.task-main{gap:6px}.tag{text-overflow:ellipsis;white-space:nowrap;max-width:74px;overflow:hidden}.deadline{min-width:0}.calendar-cell{min-height:59px;padding:3px}.calendar-task{font-size:8.5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
