@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans KR,sans-serif;color:#262b27;background:#f4f3ee;font-synthesis:none;text-rendering:optimizeLegibility;font-smooth:always;font-optical-sizing:auto;font-weight:400;--ink: #262b27;--muted: #8d928a;--line: #e9e9e2;--green: #55755d;--green-dark: #42634c}*{box-sizing:border-box}body{min-width:360px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}.page-shell{width:min(100% - 48px,1120px);min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(61,74,63,.1)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:15px;font-weight:700;letter-spacing:-.04em;text-decoration:none}.brand-mark{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--green);color:#fff;font-size:16px}.private-badge{display:inline-flex;align-items:center;gap:7px;color:#65766a;font-size:12px}.private-badge span{color:#6e9a75;font-size:8px}.account-controls{display:flex;align-items:center;gap:14px}.signout-button{padding:6px 9px;border:1px solid #e5e8e1;border-radius:6px;background:#fff;color:#788078;font-size:11px;cursor:pointer}.signout-button:hover{border-color:#cdd8ce;color:var(--green-dark)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);padding:43px 42px 32px;border:1px solid #e9e9e2;border-radius:17px;background:#fff;box-shadow:0 16px 42px #2d3a2d0d}.auth-brand{margin-bottom:48px}.auth-card .eyebrow{margin-bottom:14px}.auth-card h1{margin:0;font-size:36px;font-weight:600;letter-spacing:-.075em;line-height:1.35}.auth-copy{margin:15px 0 24px;color:#858c84;font-size:13px;line-height:1.8}.google-button{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #dfe3dd;border-radius:8px;background:#fff;color:#343a34;font-size:13px;font-weight:600;cursor:pointer}.google-button:hover{background:#f8f9f7}.google-mark{font-family:Arial,sans-serif;color:#4285f4;font-size:16px;font-weight:700}.auth-footnote{margin:18px 0 0;color:#a0a59e;font-size:10px;line-height:1.7;text-align:center}.auth-card .error-banner{margin:0 0 14px}.planner{flex:1;display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(42px,8vw,112px);padding:96px 4px 80px}.intro{padding-top:42px}.eyebrow{margin:0 0 20px;color:#7c907f;font-size:11px;font-weight:700;letter-spacing:.2em}.intro h1{margin:0;font-size:clamp(34px,4.4vw,54px);font-weight:600;letter-spacing:-.075em;line-height:1.28}.intro-copy{margin:21px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.todo-panel{padding:29px 30px 20px;border:1px solid #e9e9e2;border-radius:16px;background:#fff;box-shadow:0 13px 35px #2d3a2d09}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.date-label{margin:0 0 5px;color:#89918a;font-size:12px}.panel-heading h2{margin:0;font-size:21px;font-weight:600;letter-spacing:-.055em}.date-controls{display:flex;align-items:center;gap:5px}.date-controls input[type=date]{width:39px;height:33px;padding:0;border:0;color:transparent;background:transparent;cursor:pointer}.date-controls input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.icon-button,.today-button{height:32px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.icon-button{width:30px;color:#787f78;font-size:22px;line-height:1}.today-button{padding:0 9px;color:#66786a;font-size:11px}.add-form{display:flex;gap:7px;margin-top:24px;padding:6px;border:1px solid #e8eae4;border-radius:9px;background:#fcfcfa}.add-form input{min-width:0;flex:1;padding:0 8px;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.add-form input::placeholder{color:#a6aaa3}.add-form select{width:62px;border:0;outline:0;background:transparent;color:#858a84;font-size:11px}.add-button,.save-button{border:0;border-radius:7px;background:var(--green);color:#fff;cursor:pointer;transition:background .15s ease}.add-button{min-width:66px;padding:8px 10px;font-size:12px}.add-button span{margin-left:4px;font-size:15px;vertical-align:-1px}.add-button:hover,.save-button:hover{background:var(--green-dark)}button:disabled{cursor:not-allowed;opacity:.55}.list-summary{display:flex;align-items:center;justify-content:space-between;margin-top:29px;padding-bottom:12px;border-bottom:1px solid #efefe9;color:#868d85;font-size:11px}.count{color:#4e7156;font-size:12px;font-weight:600}.count span{padding:0 3px;color:#b8bdb6;font-weight:400}.todo-list{display:grid;gap:1px;margin:0;padding:0;list-style:none}.todo-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:15px 1px;border-bottom:1px solid #f0f0eb}.todo-check{min-width:0;display:flex;align-items:center;gap:10px;cursor:pointer}.todo-check input{position:absolute;width:1px;height:1px;opacity:0}.checkmark{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border:1px solid #d9ddd5;border-radius:6px;color:#fff;font-size:11px;transition:all .15s ease}.todo-check input:focus-visible+.checkmark{outline:3px solid #cadbcd}.todo-check input:checked+.checkmark{border-color:var(--green);background:var(--green)}.todo-title{overflow:hidden;color:#414640;font-size:12px;line-height:1.6;text-overflow:ellipsis}.is-complete .todo-title{color:#a4a9a2;text-decoration:line-through;text-decoration-color:#c5cbc3}.todo-actions{display:flex;align-items:center;gap:10px}.priority{padding:4px 7px;border-radius:5px;background:#f3f4f0;color:#858b83;font-size:10px}.priority-high{background:#fbf0e7;color:#bc8256}.priority-low{background:#f1f3f1;color:#858d88}.text-button,.delete-button{padding:3px;border:0;background:transparent;cursor:pointer}.text-button{color:#66816b;font-size:10px}.delete-button{color:#a8ada7;font-size:17px;line-height:1}.delete-button:hover{color:#b24f4f}.feedback-editor{grid-column:1 / -1;display:grid;gap:8px;padding:10px 0 3px 28px}.feedback-editor label{color:#737c73;font-size:11px}.feedback-editor textarea{min-height:74px;resize:vertical;padding:10px;border:1px solid #e6e9e2;border-radius:7px;outline-color:#a4baa7;color:var(--ink);font-size:12px;line-height:1.6}.feedback-editor textarea::placeholder{color:#a6aaa3}.feedback-actions{display:flex;justify-content:flex-end;align-items:center;gap:13px}.save-button{padding:8px 12px;font-size:11px}.saved-feedback{grid-column:1 / -1;margin:-3px 0 0 28px;color:#879287;font-size:11px;line-height:1.7}.empty-state{min-height:172px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a1a69f;font-size:11px}.empty-icon{margin-bottom:10px;color:#9caf9e;font-size:21px}.empty-state p{margin:0 0 6px;color:#717970;font-size:12px}.empty-state span:last-child{color:#a1a69f}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid #f0d3ca;border-radius:7px;background:#fff8f5;color:#a04c3c;font-size:11px;line-height:1.5}.error-banner button{flex:0 0 auto;padding:4px 7px;border:1px solid #e7bcb1;border-radius:5px;background:#fff;color:#954333;font-size:10px;cursor:pointer}.privacy-note{margin:17px 0 0;color:#a2a79f;font-size:10px;line-height:1.6}.footer{display:flex;justify-content:space-between;gap:15px;padding:21px 4px 25px;border-top:1px solid rgba(61,74,63,.1);color:#999f98;font-size:10px}.footer span:last-child{letter-spacing:.12em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media(max-width:760px){.page-shell{width:min(100% - 32px,560px)}.planner{grid-template-columns:1fr;gap:28px;padding:52px 0 48px}.intro{padding-top:0}.intro h1{font-size:38px}.intro-copy{margin-top:13px}.todo-panel{padding:23px 19px 18px}}@media(max-width:500px){.page-shell{width:min(100% - 24px,440px)}.topbar{min-height:65px}.panel-heading{align-items:flex-start;flex-direction:column}.date-controls{align-self:flex-end;margin-top:-38px}.todo-item{grid-template-columns:1fr;gap:7px}.todo-actions{padding-left:28px}.saved-feedback,.feedback-editor{margin-left:0;padding-left:28px}.footer{font-size:9px}.auth-card{padding:34px 25px 25px}.auth-brand{margin-bottom:38px}.account-controls{gap:7px}.private-badge{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
