*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}.vh-full{height:100vh;height:100dvh}.vh-min{min-height:100vh;min-height:100dvh}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-h: 0px}:root{--t-blue: #F0592A;--t-blueHover: #DB4A1B;--t-blueTint: #FCEBE3;--t-text: #1F1F1D;--t-text2: #64635E;--t-muted: #74736E;--t-faint: #8E8D87;--t-page: #FAFAF7;--t-surface: #FFFFFF;--t-subtle: #F4F3F0;--t-hoverRow: #F7F6F3;--t-headerBg: rgba(250, 250, 247, .9);--t-cardBorder: #ECEBE7;--t-hair1: #F3F2EE;--t-hair2: #ECEBE7;--t-dangerText: #dc2626;--t-dangerBorder: #fecaca;--t-dangerBg: #fee2e2;--t-cardShadow: 0 1px 3px rgba(20,20,20,.05);--t-hoverShadow: 0 6px 20px rgba(20,20,20,.09);--t-modalShadow: 0 20px 60px rgba(20,20,20,.22);--t-fieldHover: #EFEEEA;--t-fieldFocusBg: #FFFFFF;--t-labelColor: #4B4A45;--t-placeholder: #93928C;--t-fieldPlaceholder: #93928C;--t-scrollThumb: #E0DFDA;--t-cardLiftBorder: #DEDDD8;--t-navHover: rgba(0,0,0,.045)}:root[data-theme=dark]{--t-blue: #FF6A3D;--t-blueHover: #FF835A;--t-blueTint: #3A2419;--t-text: #F3EFE9;--t-text2: #B7B2A8;--t-muted: #98938A;--t-faint: #7A756C;--t-page: #17140F;--t-surface: #211C16;--t-subtle: #2A251E;--t-hoverRow: #2C271F;--t-headerBg: rgba(23, 20, 15, .9);--t-cardBorder: #353027;--t-hair1: #2A251E;--t-hair2: #353027;--t-dangerText: #f87171;--t-dangerBorder: #7f1d1d;--t-dangerBg: #3a1f1c;--t-cardShadow: 0 1px 3px rgba(0,0,0,.45);--t-hoverShadow: 0 8px 24px rgba(0,0,0,.55);--t-modalShadow: 0 20px 60px rgba(0,0,0,.65);--t-fieldHover: #322C24;--t-fieldFocusBg: #2A251E;--t-labelColor: #C4BFB5;--t-placeholder: #6B675F;--t-fieldPlaceholder: #6B675F;--t-scrollThumb: #3C362D;--t-cardLiftBorder: #454036;--t-navHover: rgba(255,255,255,.06)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--t-text);background:var(--t-page);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;color:inherit}input,textarea,select{font-family:inherit;font-size:13px;color:var(--t-text)}a{color:var(--t-blue)}::placeholder{color:var(--t-placeholder)}.field{width:100%;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:var(--t-subtle);color:var(--t-text);font-size:13px;outline:none;transition:background-color .15s,border-color .15s,box-shadow .15s}.field::placeholder{color:var(--t-fieldPlaceholder)}.field:hover{background:var(--t-fieldHover)}.field:focus{background:var(--t-fieldFocusBg);border-color:var(--t-blue);box-shadow:0 0 0 3px #f0592a26}.label{display:block;font-size:12px;font-weight:600;letter-spacing:.1px;color:var(--t-labelColor);margin:0 0 6px}.mono{font-family:SF Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word}:focus-visible{outline:2px solid var(--t-blue);outline-offset:1px}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--t-scrollThumb);border-radius:6px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .45s cubic-bezier(.16,1,.3,1) both}.card-lift{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.row-hover{transition:background-color .13s ease}.task-del{transition:color .13s ease,opacity .13s ease}.nav-item{transition:background-color .13s ease,color .13s ease}.nav-active{background:var(--t-surface);box-shadow:var(--t-cardShadow)}@media (hover: hover){.card-lift:hover{transform:translateY(-2px);box-shadow:var(--t-hoverShadow);border-color:var(--t-cardLiftBorder)!important}.row-hover:hover{background-color:var(--t-hoverRow)}.task-del:hover{color:var(--t-dangerText);opacity:1}.nav-item:not(.nav-active):hover{background-color:var(--t-navHover)}}.row-hover:active,.card-lift:active{background-color:var(--t-hoverRow)}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{animation:backdropIn .18s ease both;backdrop-filter:saturate(140%) blur(4px);-webkit-backdrop-filter:saturate(140%) blur(4px)}.modal-panel{animation:modalIn .26s cubic-bezier(.16,1,.3,1) both}.drawer-backdrop{animation:backdropIn .18s ease both}.palette-backdrop{animation:backdropIn .18s ease both;backdrop-filter:saturate(140%) blur(4px);-webkit-backdrop-filter:saturate(140%) blur(4px)}.palette-panel{animation:modalIn .26s cubic-bezier(.16,1,.3,1) both}.kbd-hint{display:flex}@media (prefers-reduced-transparency: reduce){.modal-backdrop,.palette-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}@keyframes splashBreathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}.splash-logo{display:block;animation:splashBreathe 1.6s ease-in-out infinite}.splash-bar{width:120px;height:3px;border-radius:999px;overflow:hidden;background:var(--t-hair2);position:relative}@keyframes splashSlide{0%{left:-40%}to{left:100%}}.splash-bar span{position:absolute;top:0;height:100%;width:40%;border-radius:999px;background:var(--t-blue);animation:splashSlide 1.1s ease-in-out infinite}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast-in{animation:toastIn .22s cubic-bezier(.16,1,.3,1) both}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141252;display:flex;align-items:flex-start;justify-content:center;padding:28px 12px;overflow-y:auto;z-index:100}.modal-panel{width:100%;max-width:var(--modal-w, 600px);background:var(--t-surface);border-radius:14px;box-shadow:var(--t-modalShadow);display:flex;flex-direction:column;max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px)}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--t-hair2);background:var(--t-surface);border-top-left-radius:14px;border-top-right-radius:14px;flex:0 0 auto}.modal-body{padding:18px 20px;overflow-y:auto;flex:1 1 auto;-webkit-overflow-scrolling:touch}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--t-hair2);background:var(--t-surface);border-bottom-left-radius:14px;border-bottom-right-radius:14px;flex:0 0 auto}.modal-close{background:none;border:none;color:var(--t-muted);line-height:1;cursor:pointer;width:36px;height:36px;margin:-6px -8px -6px 0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1 / -1}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:stretch;background:var(--t-headerBg);border-top:1px solid var(--t-cardBorder);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);padding-bottom:var(--safe-bottom)}.tabbar button{flex:1 1 0;min-width:0;height:56px;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--t-muted);padding:4px 2px;letter-spacing:.1px}.tabbar button.on{color:var(--t-blue)}.tabbar button svg{width:22px;height:22px}.tabbar button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}input[type=date].field{display:block;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:40px}input[type=date].field::-webkit-date-and-time-value{text-align:left}@media (max-width: 768px){.field,input,select,textarea{font-size:16px}.field{padding:11px 12px;min-height:44px}textarea.field{min-height:0}.mono.field{font-size:15px}.modal-backdrop{padding:0;align-items:stretch;overflow:hidden}.modal-panel{max-width:none;border-radius:0;max-height:none;height:100vh;height:100dvh;box-shadow:none}.modal-head{border-radius:0;padding:calc(12px + var(--safe-top)) 16px 12px}.modal-body{padding:16px}.modal-foot{border-radius:0;padding:12px 16px calc(12px + var(--safe-bottom))}.modal-foot>button{min-height:44px}.form-grid{grid-template-columns:1fr}.board{scroll-snap-type:x mandatory;scroll-padding:0 16px}.board>*{scroll-snap-align:start}.kbd-hint{display:none}}@media (prefers-reduced-transparency: reduce){.tabbar{backdrop-filter:none;-webkit-backdrop-filter:none}}.menu-pop{position:fixed;z-index:300;min-width:160px;background:var(--t-surface);border:1px solid var(--t-cardBorder);border-radius:12px;box-shadow:var(--t-hoverShadow);padding:6px;animation:modalIn .16s cubic-bezier(.16,1,.3,1) both}
