:root{color-scheme:dark;--wall-a: #1a1433;--wall-b: #0b1022;--text: #f4f5fb;--muted: rgba(235, 238, 255, .64);--faint: rgba(235, 238, 255, .4);--glass: rgba(255, 255, 255, .07);--glass-strong: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .13);--line: rgba(255, 255, 255, .08);--sheet: #141a2d;--accent: #8d9bff;--ok: #34d399;--danger: #ff7a7a;--radius: 14px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--wall-b);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(60rem 40rem at 12% -10%,rgba(124,92,255,.45),transparent 60%),radial-gradient(48rem 38rem at 110% 35%,rgba(0,190,170,.28),transparent 60%),radial-gradient(40rem 30rem at 25% 115%,rgba(255,140,90,.22),transparent 60%),linear-gradient(170deg,var(--wall-a),var(--wall-b))}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid #fff;outline-offset:2px}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;padding:1px 5px;border-radius:5px;background:var(--glass-strong)}.splash{min-height:100vh;min-height:100dvh;display:grid;place-items:center}.splash .logo{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{transform:scale(.94);opacity:.7}}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 20px calc(env(safe-area-inset-bottom) + 24px)}.login{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:14px}.login .logo{filter:drop-shadow(0 14px 24px rgba(0,0,0,.45));margin-bottom:6px}.login-title{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em}.login-sub{margin:-8px 0 10px;color:var(--muted)}.field-group{width:100%;overflow:hidden;border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:border-color .15s}.field-group:focus-within{border-color:#8d9bffb3}.field{display:block;width:100%;padding:14px 16px;border:0;outline:none;background:transparent;font-size:16px}.field::placeholder{color:var(--faint)}.field-group .field+.field{border-top:1px solid var(--line)}.field-boxed{border:1px solid var(--glass-border);border-radius:12px;background:var(--glass)}.field-boxed:focus{border-color:#8d9bffb3}.stack{display:flex;flex-direction:column;gap:12px}.form-error,.form-ok{margin:0;font-size:14px;text-align:center}.form-error{color:var(--danger)}.form-ok{color:var(--ok)}.hint{margin:8px 16px 0;font-size:13px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 18px;border:1px solid transparent;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .12s,opacity .12s,background-color .12s}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#0b0e1f}.btn-secondary{background:var(--glass-strong);border-color:var(--glass-border)}.btn-danger{background:#ff7a7a1f;border-color:#ff7a7a4d;color:var(--danger)}.btn-auto{width:auto;flex-shrink:0}.btn-link{padding:8px 4px;border:0;background:none;color:var(--accent);font-size:17px;cursor:pointer}.icon-btn{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:var(--glass-strong);color:var(--muted);font-size:13px;cursor:pointer}.home{min-height:100vh;min-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom) + 32px)}.home-header{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 36px) 24px 26px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.home-hello{min-width:0}.home-date{margin:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.home-greeting{margin:4px 0 0;font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}.avatar{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--c, var(--accent));box-shadow:0 0 0 2px #ffffff2e;color:#0b0e1f;font-size:15px;font-weight:700;text-decoration:none}.avatar-sm{width:36px;height:36px;font-size:13px;box-shadow:none}.avatar-lg{width:56px;height:56px;font-size:20px}.grid{max-width:560px;margin:0 auto;padding:4px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 6px}@media (min-width: 640px){.grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 10px}}.tile{min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--text);text-decoration:none;outline:none}.tile-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:15px;font-size:31px;line-height:1;background:var(--c, #5b6475);background:linear-gradient(155deg,color-mix(in srgb,var(--c, #5b6475) 72%,#fff) 0%,var(--c, #5b6475) 48%,color-mix(in srgb,var(--c, #5b6475) 78%,#000) 100%);box-shadow:0 10px 20px -8px #0009,inset 0 1px #ffffff59,inset 0 -1px #0000002e;transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s}.tile-icon svg{width:34px;height:34px;color:#fff}.tile-icon-system{--c: #8e8e93}.tile-icon-sm{flex-shrink:0;width:36px;height:36px;border-radius:9px;font-size:19px;box-shadow:none}.tile-label{max-width:100%;overflow:hidden;font-size:12px;font-weight:500;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.55)}@media (hover: hover){.tile:hover .tile-icon{transform:translateY(-2px)}}.tile:active .tile-icon{transform:scale(.9);filter:brightness(.85)}.tile:focus-visible .tile-icon{outline:2px solid #fff;outline-offset:3px}.tile.launching .tile-icon{transform:scale(1.14);filter:brightness(1.1)}.toast{width:calc(100% - 32px);max-width:528px;margin:0 auto 20px;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:14px}.toast span{flex:1}.empty{padding:48px 24px;text-align:center}.empty-icon{margin-bottom:10px;font-size:44px}.empty-title{margin:0;font-size:18px;font-weight:600}.empty-sub{margin:6px 0 0;color:var(--muted)}.page{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 10px) 16px calc(env(safe-area-inset-bottom) + 40px)}.page-bar{height:48px;display:flex;align-items:center;justify-content:space-between}.back{display:inline-flex;align-items:center;gap:6px;padding:8px 4px;color:var(--accent);font-size:17px;text-decoration:none}.page-title{margin:6px 4px 18px;font-size:32px;font-weight:700;letter-spacing:-.02em}.section-title{display:flex;align-items:center;gap:8px;margin:26px 16px 8px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.count{font-size:12px;color:var(--faint)}.group{overflow:hidden;border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;border:0;background:none;text-align:left}.row+.row{border-top:1px solid var(--line)}.row-button{cursor:pointer;transition:background-color .12s}.row-button:hover{background:#ffffff0a}.row-button:active{background:#ffffff14}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600}.row-sub{overflow:hidden;font-size:13px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.chevron{flex-shrink:0;color:var(--faint)}.badge{padding:2px 7px;border-radius:999px;background:var(--glass-strong);color:var(--muted);font-size:11px;font-weight:600}.badge-accent{background:#8d9bff2e;color:var(--accent)}.badge-off{background:#ff7a7a24;color:var(--danger)}.profile{display:flex;align-items:center;gap:14px;padding:16px}.profile-name{font-size:18px;font-weight:700}.profile-sub{font-size:14px;color:var(--muted)}.inline-form{display:flex;gap:8px}.inline-form .field{flex:1;min-width:0}.switch{position:relative;flex-shrink:0;width:51px;height:31px}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;margin:0;opacity:0;cursor:pointer}.switch input:disabled{cursor:default}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#ffffff2e;transition:background-color .2s}.switch span:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0000004d;transition:transform .2s}.switch input:checked+span{background:var(--ok)}.switch input:checked+span:after{transform:translate(20px)}.switch input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.switch input:disabled+span{opacity:.45}.segmented{align-self:flex-start;display:inline-flex;margin-top:6px;padding:2px;border-radius:9px;background:#ffffff14}.segmented button{padding:5px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.segmented button[aria-pressed=true]{background:#ffffffeb;color:#111526}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#04060e8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade .18s ease}.sheet{width:100%;max-width:520px;max-height:92vh;max-height:92dvh;overflow-y:auto;padding:8px 16px calc(env(safe-area-inset-bottom) + 20px);border:1px solid var(--glass-border);border-bottom:0;border-radius:22px 22px 0 0;background:var(--sheet);animation:rise .24s cubic-bezier(.2,.8,.2,1)}@media (min-width: 640px){.sheet-backdrop{align-items:center}.sheet{border-bottom:1px solid var(--glass-border);border-radius:22px}}.sheet-grip{width:36px;height:5px;margin:4px auto 10px;border-radius:3px;background:#fff3}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 4px 14px}.sheet-head h2{margin:0;overflow:hidden;font-size:20px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sheet .section-title,.sheet .btn-danger{margin-top:20px}.sheet .form-ok,.sheet .form-error{margin-top:8px}@keyframes rise{0%{transform:translateY(24px);opacity:0}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
