*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.relative{position:relative}.col-span-full{grid-column:1/-1}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-7{margin-top:1.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.h-32{height:8rem}.max-h-\[72dvh\]{max-height:72dvh}.min-h-11{min-height:2.75rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-sm{max-width:24rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-words{overflow-wrap:break-word}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border-b-2{border-bottom-width:2px}.border-ink\/10{border-color:#18251f1a}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-ink{--tw-bg-opacity:1;background-color:rgb(24 37 31/var(--tw-bg-opacity,1))}.bg-paper{--tw-bg-opacity:1;background-color:rgb(246 241 223/var(--tw-bg-opacity,1))}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.tracking-tight{letter-spacing:-.025em}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(24 37 31/var(--tw-text-opacity,1))}.text-ink\/45{color:#18251f73}.text-ink\/50{color:#18251f80}.text-ink\/55{color:#18251f8c}.text-ink\/60{color:#18251f99}.text-ink\/65{color:#18251fa6}.text-leaf{--tw-text-opacity:1;color:rgb(34 160 107/var(--tw-text-opacity,1))}.text-paper{--tw-text-opacity:1;color:rgb(246 241 223/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color:#18251f;font-synthesis:none;text-rendering:optimizelegibility;--safe-bottom:env(safe-area-inset-bottom,0px);background:#f6f1df;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f6f1df;min-width:320px}body{background:radial-gradient(circle at 5% 0,#fff8cf 0,#0000 30%),linear-gradient(#f6f1df,#edf5e8 72%,#e0efe4);min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #3b82f6}button:disabled{cursor:not-allowed;opacity:.55}.modal-open{overflow:hidden}.app-shell{min-height:100dvh}.app-main{width:min(100%,1180px);padding:18px 14px calc(98px + var(--safe-bottom));margin:0 auto}.home-layout,.page-grid,.single-page{gap:16px;min-width:0;display:grid}.single-page,.settings-page{max-width:900px;margin:0 auto}.mock-banner,.offline-banner{z-index:40;text-align:center;letter-spacing:.06em;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:6px 12px;font-size:11px;font-weight:900;display:flex;position:sticky;top:0}.mock-banner{color:#7c2d12;background:#fde68a;border-bottom:2px solid #f59e0b}.offline-banner{color:#fff;background:#18251f}.global-error{color:#991b1b;background:#fef2f2;border:2px solid #ef4444;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:14px;font-weight:800}.card{background:#fffffff0;border:2px solid #18251f;border-radius:18px;min-width:0;padding:18px;overflow:hidden;box-shadow:4px 4px #18251f}.clock-panel{background:#a7f3d0;border:2px solid #18251f;border-radius:22px;justify-content:space-between;align-items:center;min-height:176px;padding:22px 20px;display:flex;position:relative;overflow:hidden;box-shadow:6px 6px #18251f}.clock-panel:after{content:"";border:3px dashed #18251f2e;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-45px;right:-28px}.clock-row{-moz-column-gap:clamp(14px, 4vw, 40px);flex-wrap:wrap;align-items:center;gap:6px clamp(14px,4vw,40px);margin-top:4px;display:flex}.clock-date{border-left:3px solid #18251f59;padding-left:clamp(12px,3vw,28px)}.clock-date-main{letter-spacing:-.04em;color:#18251f;font-family:Arial Black,ui-monospace,monospace;font-size:clamp(24px,7vw,60px);line-height:1.05}.clock-date-sub{color:#18251fb3;margin-top:4px;font-size:clamp(15px,3.6vw,28px);font-weight:900}.eyebrow{letter-spacing:.16em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:950}.pixel-time{letter-spacing:-.09em;text-shadow:3px 3px #ffffffb3;font-family:Arial Black,ui-monospace,monospace;font-size:clamp(56px,17vw,132px);line-height:.98}.pixel-title{letter-spacing:-.06em;font-family:Arial Black,ui-monospace,monospace;font-size:clamp(38px,10vw,58px);line-height:1}.pixel-sun{z-index:1;background:#fde047;border:3px solid #18251f;place-items:center;width:92px;height:92px;display:none;position:relative;transform:rotate(5deg);box-shadow:6px 6px #18251f}.pixel-sun span{font-size:45px}.icon-button,.primary-icon-button{border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .15s,background .15s;display:inline-flex}.icon-button{color:#18251f;background:#fff;border:1px solid #18251f29}.icon-button:hover{background:#f0fdf4}.icon-button:active,.primary-icon-button:active,.primary-button:active{transform:translate(1px,2px)}.icon-button.subtle{color:#18251f8c;background:0 0;border:0;width:40px;height:40px}.icon-button.danger,.text-button.danger{color:#dc2626}.primary-icon-button{color:#fff;background:#22a06b;border:2px solid #18251f;box-shadow:2px 2px #18251f}.small-button{background:#fff;border:1px solid #18251f2e;border-radius:10px;min-height:40px;padding:0 12px;font-size:13px;font-weight:900}.text-button{color:#16784f;background:0 0;border:0;align-items:center;gap:2px;min-height:44px;font-size:13px;font-weight:900;display:inline-flex}.primary-button,.secondary-button,.google-button{border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:900;display:inline-flex}.primary-button{color:#fff;background:#22a06b;border:2px solid #18251f;box-shadow:3px 3px #18251f}.secondary-button{color:#18251f;background:#fff;border:2px solid #18251f;box-shadow:2px 2px #18251f}.google-button{background:#fff;border:2px solid #18251f;width:100%;box-shadow:4px 4px #18251f}.google-button span{color:#fff;background:#4285f4;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.weather-strip{color:inherit;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:0 -18px;padding:2px 18px 10px;text-decoration:none;display:grid}.weather-strip:focus-visible{outline-offset:3px;border-radius:14px;outline:3px solid #3b82f6}.weather-day{text-align:center;background:#f9faf7;border:1px solid #18251f26;border-radius:14px;min-width:0;padding:11px 6px;transition:transform .15s,background .15s}.weather-strip:hover .weather-day{background:#f1f8ef}.weather-strip:hover .weather-day.today{background:#fff3a8}.weather-strip:active .weather-day{transform:translateY(1px)}.weather-day.today{background:#fff7bf;border:2px solid #18251f;box-shadow:2px 2px #18251f}.weather-detail-link{color:#16784f;text-underline-offset:3px;align-items:center;gap:5px;min-height:34px;margin-top:2px;font-size:12px;font-weight:900;text-decoration:underline;display:inline-flex}.state-message{color:#18251fad;background:#f4f4ed;border-radius:12px;padding:14px;font-size:13px;font-weight:700;line-height:1.55}.state-message.error{color:#991b1b;background:#fef2f2}.empty-state{color:#18251f85;text-align:center;border:2px dashed #18251f29;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:96px;font-size:13px;font-weight:800;display:flex}.empty-state span{font-size:27px}.schedule-row{background:#f7f8f3;border-radius:14px;align-items:center;gap:12px;min-height:72px;padding:10px 12px;display:flex}.schedule-time{color:#16784f;flex:0 0 50px;width:50px;font-family:ui-monospace,monospace;font-size:13px;font-weight:950}.owner-badge{--owner-color:#64748b;background:color-mix(in srgb, var(--owner-color) 14%, white);color:#18251f;border-radius:999px;align-items:center;gap:5px;min-height:23px;padding:2px 8px;font-size:10px;font-weight:900;display:inline-flex}.owner-dot{background:var(--owner-color);border-radius:50%;width:7px;height:7px}.source-badge{color:#1a73e8;background:#e8f0fe;border-radius:999px;align-items:center;min-height:23px;padding:2px 8px;font-size:10px;font-weight:900;display:inline-flex}.filter-row{scrollbar-width:none;gap:7px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row button{background:#fff;border:1px solid #18251f26;border-radius:999px;align-items:center;gap:6px;min-width:max-content;min-height:40px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.filter-row button span{border-radius:50%;width:8px;height:8px}.filter-row button.active{background:#dcfce7;border:2px solid #18251f}.calendar-grid{border-top:1px solid #18251f21;border-left:1px solid #18251f21;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday{color:#18251fa6;text-align:center;background:#edf7ea;border-bottom:1px solid #18251f21;border-right:1px solid #18251f21;padding:8px 1px;font-size:11px;font-weight:950}.calendar-cell{text-align:left;vertical-align:top;background:#fff;border:1px solid #18251f21;border-top:0;border-left:0;min-width:0;min-height:64px;padding:5px 3px;position:relative;overflow:hidden}.calendar-cell.outside{color:#18251f47;background:#f7f7f3}.calendar-cell.today{background:#fffbdf}.calendar-cell.today .day-number{color:#fff;background:#18251f;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.day-number{margin-bottom:3px;font-size:12px;font-weight:950;display:block}.event-marks{flex-direction:column;gap:2px;display:flex;overflow:hidden}.event-mark{color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:1px 3px;font-size:7px;font-weight:900;line-height:1.35;display:block;overflow:hidden}.more-events{color:#18251f8c;font-size:8px;font-weight:900}.calendar-cell.selected{background:#effaf0;box-shadow:inset 0 0 0 2px #22a06b}.day-events{gap:10px;margin-top:14px;display:grid}.day-events-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.day-events-today{color:#fff;vertical-align:middle;background:#18251f;border-radius:6px;margin-left:6px;padding:2px 6px;font-size:11px}.week-list{gap:8px;display:grid}.week-day{background:#fff;border:1px solid #18251f21;border-radius:14px;grid-template-columns:52px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.week-day.today{background:#fffbdf;border:2px solid #18251f;box-shadow:2px 2px #18251f}.week-day-label{flex-direction:column;align-items:center;gap:1px;padding-top:2px;display:flex}.week-day-name{color:#18251f8c;font-size:11px;font-weight:900}.week-day-num{font-family:Arial Black,ui-monospace,monospace;font-size:22px;line-height:1}.week-day-label.sun .week-day-name,.week-day-label.sun .week-day-num{color:#e11d48}.week-day-label.sat .week-day-name,.week-day-label.sat .week-day-num{color:#2563eb}.week-day-events{gap:5px;min-width:0;display:grid}.week-empty{color:#18251f59;padding:8px 0;font-size:12px;font-weight:800}.week-event{text-align:left;background:#f6f8f3;border:0;border-left:4px solid #22a06b;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:38px;padding:6px 9px;display:flex}.week-event.readonly{cursor:default}.week-event-time{color:#18251f99;flex:none;font-size:11px;font-weight:900}.week-event-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:800;overflow:hidden}.week-add{align-self:center}.supply-list{gap:8px;display:grid}.supply-item{background:#fff;border:1px solid #18251f1f;border-radius:13px;align-items:center;gap:8px;min-height:64px;padding:9px 8px 9px 12px;display:flex}.supply-main{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;padding:0;display:flex}.supply-name{text-overflow:ellipsis;white-space:nowrap;color:#18251f;max-width:100%;font-size:15px;font-weight:900;overflow:hidden}.supply-sub{color:#18251f8c;font-size:12px;font-weight:700}.supply-side{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.supply-status{color:#16784f;flex:none;font-family:ui-monospace,monospace;font-size:14px}.supply-item.soon,.supply-item.overdue{background:#fff5f5;border-color:#fca5a5}.supply-item.soon .supply-name,.supply-item.overdue .supply-name{color:#dc2626;font-size:17px}.supply-item.soon .supply-sub,.supply-item.overdue .supply-sub{color:#dc2626;font-weight:900}.supply-item.soon .supply-status,.supply-item.overdue .supply-status{color:#dc2626;font-size:16px;font-weight:900}.supply-item.overdue{border-width:2px}.nav-badge{color:#fff;background:#dc2626;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:900;line-height:1;display:grid;position:absolute;top:-6px;right:-10px}.week-event.recurring,.detail-event.recurring{background:#fdf6ff}.lunar-badge{color:#6d28d9;background:#ede9fe;border-radius:5px;flex:none;padding:1px 5px;font-size:10px;font-weight:900}.segmented.seg-4{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented.seg-4 span{gap:3px;font-size:12px}.dday-item.since{background:linear-gradient(90deg,#fff 60%,#e0f2fe)}.dday-item.since .dday-number{color:#0369a1}.detail-event{background:#fff;border:1px solid #18251f1f;border-left:5px solid #22a06b;border-radius:12px;align-items:flex-start;gap:8px;padding:13px;display:flex}.task-tabs{background:#eef1e8;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;display:grid}.task-tabs button{color:#18251f94;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:42px;font-size:12px;font-weight:900;display:flex}.task-tabs button.active{color:#18251f;background:#fff;box-shadow:0 2px 7px #18251f1a}.task-tabs button span{color:#fff;background:#22a06b;border-radius:9px;place-items:center;min-width:18px;height:18px;font-size:10px;display:grid}.quick-add{gap:7px;margin-top:12px;display:flex}.quick-add-fields{flex:1;grid-template-columns:minmax(0,1fr) 82px;min-width:0;display:grid}.quick-add input,.quick-add select{background:#fffef8;border:2px solid #18251f;min-width:0;min-height:48px;font-size:16px}.quick-add input{border-radius:12px 0 0 12px;width:100%;padding:0 13px}.quick-add select{border-left:0;border-radius:0 12px 12px 0;width:82px;padding:0 7px;font-size:12px;font-weight:900}.quick-add button{background:#fde047;border:2px solid #18251f;border-radius:12px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid;box-shadow:2px 2px #18251f}.task-row{border:1px solid #18251f1f;border-radius:12px;align-items:center;gap:7px;min-height:60px;padding:8px 7px 8px 10px;display:flex}.task-row.completed{color:#18251f78;background:#f5f6f2}.task-row.completed p{text-decoration:line-through}.task-check{background:#fff;border:2px solid #18251f;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.task-check[aria-pressed=true]{color:#fff;background:#22a06b}.inline-edit{border:1px solid #3b82f6;border-radius:7px;width:100%;min-height:36px;padding:4px 7px}.dday-grid{gap:9px;display:grid}.dday-item{background:linear-gradient(90deg,#fff 60%,#fff9d9);border:1px solid #18251f1f;border-radius:13px;align-items:center;gap:8px;min-height:70px;padding:11px 8px 11px 12px;display:flex}.dday-number{color:#db2777;flex:none;font-family:ui-monospace,monospace;font-size:19px}.bottom-nav{z-index:45;padding-bottom:var(--safe-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-top:2px solid #18251f;position:fixed;bottom:0;left:0;right:0}.nav-item{color:#18251f7a;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:66px;font-size:10px;font-weight:900;display:flex}.nav-item.is-active{color:#16784f}.nav-item.is-active svg{filter:drop-shadow(2px 2px #bbf7d0)}.modal-backdrop{z-index:70;padding:16px 10px calc(12px + var(--safe-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07120c99;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-panel{background:#fffef8;border:2px solid #18251f;border-radius:22px 22px 16px 16px;width:min(100%,560px);animation:.2s ease-out slide-up;overflow:hidden;box-shadow:6px 6px #18251f}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}}.form-stack{gap:14px;display:grid}.form-stack label,.form-stack fieldset{color:#18251fad;gap:7px;font-size:12px;font-weight:900;display:grid}.form-stack input:not([type=checkbox]):not([type=radio]),.form-stack select,.form-stack textarea,.member-setting input[type=text],.member-setting input:not([type]){color:#18251f;background:#fff;border:1px solid #18251f40;border-radius:10px;width:100%;min-width:0;min-height:46px;padding:10px 11px;font-size:16px}.form-stack textarea{resize:vertical}.form-stack .check-label{grid-template-columns:none;align-items:center;gap:9px;min-height:44px;font-size:14px;display:flex}.check-label input,.calendar-option input{accent-color:#22a06b;width:21px;height:21px}.account-row{align-items:center;gap:12px;display:flex}.avatar{background:#bfdbfe;border:2px solid #18251f;border-radius:14px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:20px;font-weight:950;display:grid;box-shadow:2px 2px #18251f}.success-label{color:#16784f;align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.calendar-option{border:1px solid #18251f1f;border-radius:10px;align-items:center;gap:9px;min-height:46px;padding:8px 10px;display:flex}.calendar-option small{color:#18251f73;font-weight:900}.calendar-swatch{border-radius:50%;flex:0 0 10px;width:10px;height:10px}.member-setting{grid-template-columns:42px minmax(0,1fr) 48px;align-items:center;gap:8px;display:grid}.member-letter{color:#fff;text-shadow:1px 1px #18251f;border:2px solid #18251f;border-radius:9px;place-items:center;width:38px;height:38px;font-weight:950;display:grid}.member-setting input{border:1px solid #18251f33;border-radius:9px;width:100%;min-width:0;min-height:44px;padding:7px 9px;font-size:16px}.member-setting input[type=color]{padding:4px}.segmented{background:#eef1e8;border-radius:12px;grid-template-columns:1fr 1fr;gap:5px;padding:4px;display:grid}.segmented input{opacity:0;position:absolute}.segmented span{border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:42px;display:flex}.segmented input:checked+span{color:#16784f;background:#fff;box-shadow:0 2px 6px #18251f1f}.install-tip{background:#f8faf4;border:1px solid #18251f1f;border-radius:12px;padding:13px}.install-tip strong{font-size:13px}.install-tip p{color:#18251f99;margin-top:5px;font-size:12px;line-height:1.5}.login-screen,.loading-screen{place-items:center;min-height:100dvh;padding:20px;display:grid}.login-card{text-align:center;background:#fffffff2;border:3px solid #18251f;border-radius:26px;width:min(100%,430px);padding:36px 24px;box-shadow:8px 8px #18251f}.logo-mark{background:#fde047;border:3px solid #18251f;border-radius:18px;place-items:center;width:72px;height:72px;margin:0 auto 18px;display:grid;transform:rotate(-4deg);box-shadow:4px 4px #18251f}.loading-screen{color:#18251fa6;align-content:center;gap:12px;font-weight:900}.loading-screen svg{color:#22a06b;width:36px;height:36px}@media (width>=640px){.app-main{padding:24px 20px calc(102px + var(--safe-bottom))}.pixel-sun{display:grid}.settings-page{grid-template-columns:1fr 1fr}.calendar-cell{min-height:86px;padding:6px}.event-mark{font-size:9px}.modal-backdrop{align-items:center}.modal-panel{border-radius:22px}}@media (width<=639px){.home-layout>.clock-panel,.home-layout>.weather-card{display:none}}@media (width<=559px){.weather-strip{scroll-snap-type:x proximity;scrollbar-width:thin;display:flex;overflow-x:auto}.weather-day{scroll-snap-align:start;flex:0 0 88px;width:88px}}@media (width>=900px){.home-layout{grid-template-columns:1.2fr .8fr;gap:22px}.clock-panel,.weather-card,.home-calendar{grid-column:1/-1}.tasks-card{grid-column:1}.dday-card{grid-column:2}.bottom-nav{border:2px solid #18251f;border-radius:18px;width:520px;padding-bottom:0;bottom:18px;left:50%;right:auto;overflow:hidden;transform:translate(-50%);box-shadow:4px 4px #18251f}.nav-item{min-height:60px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
