@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-vietnamese-700-normal-DHSNEjs8.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-700-normal-BxaLPXNn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-ext-700-normal-DuhEb1O2.woff2) format("woff2"),url(/assets/dancing-script-latin-ext-700-normal-vV212RL9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2) format("woff2"),url(/assets/dancing-script-latin-700-normal-LI5MgW9m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--bg0: #070a13;--bg1: #0c1120;--surface: rgba(148, 163, 184, .07);--surface-2: rgba(148, 163, 184, .15);--surface-3: rgba(148, 163, 184, .22);--border: rgba(148, 163, 184, .13);--border-strong: rgba(148, 163, 184, .26);--text: #eef2fa;--muted: #97a3b8;--faint: #5d6b82;--indigo: #818cf8;--cyan: #22d3ee;--violet: #a78bfa;--rose: #fb7185;--amber: #fbbf24;--mint: #34d399;--sky: #38bdf8;--grad: linear-gradient(135deg, #6366f1 0%, #8b5cf6 45%, #22d3ee 110%);--grad-soft: linear-gradient(135deg, rgba(99, 102, 241, .22), rgba(34, 211, 238, .12));--good: var(--mint);--danger: var(--rose);--warn: var(--amber);--accent: var(--indigo);--r-s: 12px;--r-m: 18px;--r-l: 24px;--shadow-1: 0 1px 2px rgba(2, 6, 16, .5), 0 10px 30px -14px rgba(2, 6, 16, .7);--shadow-glow: 0 8px 32px -10px rgba(99, 102, 241, .55);--glass-shadow: 0 10px 30px -14px rgba(2, 6, 16, .7);--input-bg: rgba(10, 15, 28, .6);--input-bg-focus: rgba(10, 15, 28, .85);--ease: cubic-bezier(.22, .9, .28, 1);--spring: cubic-bezier(.34, 1.4, .5, 1);color-scheme:dark}:root[data-theme=dawn]{--bg0: #151021;--bg1: #251733;--indigo: #a78bfa;--grad: linear-gradient(135deg, #f97316 0%, #ec4899 55%, #8b5cf6 110%);--grad-soft: linear-gradient(135deg, rgba(249, 115, 22, .2), rgba(139, 92, 246, .14));--accent: #fb923c;--shadow-glow: 0 8px 32px -10px rgba(236, 72, 153, .45);--text: #f8f6fd;--muted: rgba(243, 239, 251, .9);--faint: rgba(238, 233, 249, .68);--surface: rgba(30, 20, 50, .38);--surface-2: rgba(30, 20, 50, .52);--surface-3: rgba(30, 20, 50, .64);--border: rgba(255, 255, 255, .18);--border-strong: rgba(255, 255, 255, .32);--input-bg: rgba(18, 12, 34, .42);--input-bg-focus: rgba(18, 12, 34, .62);--text-shadow: 0 1px 2px rgba(30, 15, 50, .75), 0 2px 6px rgba(30, 15, 50, .5), 0 4px 18px rgba(30, 15, 50, .45);--icon-shadow: drop-shadow(0 1px 2px rgba(30, 15, 50, .7)) drop-shadow(0 2px 8px rgba(30, 15, 50, .45));--glass-shadow: 0 3px 10px rgba(30, 15, 50, .28), 0 14px 34px -10px rgba(30, 15, 50, .5)}:root[data-theme=dusk]{--bg0: #140e20;--bg1: #221230;--grad: linear-gradient(135deg, #ea580c 0%, #d946a2 55%, #6349d6 110%);--grad-soft: linear-gradient(135deg, rgba(234, 88, 12, .2), rgba(99, 73, 214, .14));--accent: #f472b6;--shadow-glow: 0 8px 32px -10px rgba(217, 70, 162, .45);--text: #fbf6fa;--muted: rgba(249, 240, 247, .9);--faint: rgba(246, 235, 244, .68);--surface: rgba(34, 14, 42, .38);--surface-2: rgba(34, 14, 42, .52);--surface-3: rgba(34, 14, 42, .64);--border: rgba(255, 255, 255, .18);--border-strong: rgba(255, 255, 255, .32);--input-bg: rgba(22, 10, 30, .42);--input-bg-focus: rgba(22, 10, 30, .62);--text-shadow: 0 1px 2px rgba(35, 12, 42, .75), 0 2px 6px rgba(35, 12, 42, .5), 0 4px 18px rgba(35, 12, 42, .45);--icon-shadow: drop-shadow(0 1px 2px rgba(35, 12, 42, .7)) drop-shadow(0 2px 8px rgba(35, 12, 42, .45));--glass-shadow: 0 3px 10px rgba(35, 12, 42, .28), 0 14px 34px -10px rgba(35, 12, 42, .5)}:root[data-theme=fire]{--bg0: #1c0703;--bg1: #380d04;--indigo: #fb923c;--grad: linear-gradient(135deg, #fbbf24 0%, #f97316 45%, #dc2626 110%);--grad-soft: linear-gradient(135deg, rgba(251, 191, 36, .22), rgba(220, 38, 38, .16));--accent: #fb923c;--shadow-glow: 0 8px 32px -10px rgba(249, 115, 22, .55);--text: #fff7ed;--muted: rgba(255, 241, 224, .9);--faint: rgba(255, 236, 214, .68);--surface: rgba(40, 10, 3, .44);--surface-2: rgba(40, 10, 3, .58);--surface-3: rgba(40, 10, 3, .7);--border: rgba(255, 171, 102, .24);--border-strong: rgba(255, 171, 102, .42);--input-bg: rgba(28, 7, 3, .46);--input-bg-focus: rgba(28, 7, 3, .66);--text-shadow: 0 1px 2px rgba(40, 8, 2, .8), 0 2px 6px rgba(40, 8, 2, .55), 0 4px 18px rgba(60, 12, 3, .5);--icon-shadow: drop-shadow(0 1px 2px rgba(40, 8, 2, .75)) drop-shadow(0 2px 8px rgba(40, 8, 2, .5));--glass-shadow: 0 3px 10px rgba(40, 8, 2, .3), 0 14px 34px -10px rgba(40, 8, 2, .55)}:root[data-theme=day]{--text: #f6f9fd;--muted: rgba(238, 244, 252, .9);--faint: rgba(230, 238, 249, .68);--surface: rgba(14, 26, 46, .38);--surface-2: rgba(14, 26, 46, .54);--surface-3: rgba(14, 26, 46, .66);--border: rgba(255, 255, 255, .2);--border-strong: rgba(255, 255, 255, .35);--input-bg: rgba(8, 18, 34, .38);--input-bg-focus: rgba(8, 18, 34, .58);--shadow-1: 0 1px 2px rgba(15, 30, 55, .18), 0 10px 30px -14px rgba(20, 50, 100, .4);--text-shadow: 0 1px 2px rgba(10, 25, 50, .8), 0 2px 6px rgba(10, 25, 50, .55), 0 4px 18px rgba(15, 35, 70, .5);--icon-shadow: drop-shadow(0 1px 2px rgba(10, 25, 50, .75)) drop-shadow(0 2px 8px rgba(10, 25, 50, .5));--glass-shadow: 0 3px 10px rgba(10, 25, 50, .3), 0 14px 34px -10px rgba(10, 25, 50, .55);--bg1: #8fbef1;--bg0: #cfe4fb;--shadow-glow: 0 8px 28px -10px rgba(37, 99, 235, .5)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}a,button,input,select,label,.tile,.tabbar{touch-action:manipulation}a,img{-webkit-user-drag:none}html{scrollbar-gutter:stable}html,body{margin:0;padding:0}html,body{overscroll-behavior:none}body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y}input,textarea,[contenteditable]{user-select:text;-webkit-user-select:text}body{background:var(--bg0);color:var(--text);font-family:Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;letter-spacing:-.011em;min-height:100dvh;overflow-x:hidden;text-shadow:var(--text-shadow, none);transition:background-color 2.5s ease,color 1.2s ease;font-feature-settings:"cv02","cv03","cv11"}#root{display:flex;flex-direction:column;min-height:100dvh}.card,.tile,.widget-card,.badge,.chiplet,.error,button,.btn,input,select,.tabbar{text-shadow:none}.ambient-gl{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;display:block}.logo-mark{width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:var(--shadow-glow)}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:var(--bg0);transition:opacity .6s ease}.splash.out{opacity:0;pointer-events:none}.splash-inner{display:flex;flex-direction:column;align-items:center;gap:20px}.splash-mark{width:92px;height:92px;border-radius:28px;animation:mark-in .75s var(--spring) both}@keyframes mark-in{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}.splash-name{font-family:Dancing Script,cursive;font-size:52px;font-weight:700;line-height:1.2;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.3);padding:0 14px}.splash-name .write{display:inline-block;clip-path:inset(-30% 100% -30% 0);animation:write-on 1s ease .5s forwards}@keyframes write-on{to{clip-path:inset(-30% -12% -30% 0)}}.splash.out .splash-mark,.splash.out .splash-name{animation:grow-fade .55s ease forwards}@keyframes grow-fade{to{opacity:0;transform:scale(1.4)}}.badge{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;padding:5px 11px;border-radius:99px;font-weight:650;background:#080e1a8c;color:#e9f0fae0;border:1px solid rgba(255,255,255,.14);text-shadow:none;transition:color .3s,background .3s}.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.badge.on{background:#051a1399;color:#3ee6a2;border-color:#34d39973}.badge.on .dot{animation:pulse-dot 2.4s var(--ease) infinite}.badge.off{background:#0e121c8c;color:#e2e9f4bf}@keyframes pulse-dot{0%,to{box-shadow:0 0 #34d3998c}50%{box-shadow:0 0 0 6px #34d39900}}main{flex:1;padding:calc(8px + env(safe-area-inset-top)) 18px 104px;max-width:720px;width:100%;margin:0 auto}.icon-btn.back-inline{width:36px;height:36px;min-height:36px;margin:-6px -6px -6px -8px;border-radius:50%;background:transparent;border-color:transparent;color:var(--text)}@media(min-width:900px){main{max-width:1140px}.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}.gitem{height:100%}.widget-card{position:relative;height:100%;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);padding:12px 14px;box-shadow:var(--shadow-1);overflow:hidden;display:block;transition:border-color 1.2s ease,background 1.2s ease}.widget-card.row{display:flex;align-items:center}.homegrid .tile{margin:0}button.tile{display:block;width:100%;min-height:0;text-align:left;font:inherit;color:var(--text);cursor:pointer}.homegrid.editing .gitem a,.homegrid.editing .gitem button{pointer-events:none}.homegrid.editing .gitem{cursor:grab;touch-action:pan-y}.homegrid.editing .gitem>.widget-card,.homegrid.editing .gitem>.tile{animation:wiggle .35s ease-in-out infinite alternate}.homegrid.editing .gitem:nth-child(2n)>.widget-card,.homegrid.editing .gitem:nth-child(2n)>.tile{animation-delay:-.19s}.homegrid.editing .gitem:active{cursor:grabbing}.homegrid.editing .widget-card,.homegrid.editing .tile{border-style:dashed;border-color:var(--border-strong)}@keyframes wiggle{0%{transform:rotate(-.35deg)}to{transform:rotate(.35deg)}}.react-grid-item.react-grid-placeholder{background:var(--grad-soft)!important;border:1.5px dashed color-mix(in srgb,var(--indigo) 60%,transparent);border-radius:var(--r-m);opacity:.7!important}.react-grid-item>.react-resizable-handle{z-index:3}.react-grid-item>.react-resizable-handle:after{border-color:var(--muted)!important;width:7px;height:7px}.react-grid-item.react-draggable-dragging .widget-card,.react-grid-item.react-draggable-dragging .tile{box-shadow:0 18px 44px -12px #020610b3;border-color:color-mix(in srgb,var(--indigo) 55%,transparent)}.react-grid-item{transition-duration:.25s}.mcal{text-decoration:none;color:inherit;display:flex;flex-direction:column}.mcal-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;flex:none}.mcal-grid{flex:1;align-content:space-evenly}.mcal-agenda{flex:none;overflow:hidden;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.mcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.mcal-grid .dow{font-size:9.5px;font-weight:700;color:var(--faint);text-transform:uppercase;padding-bottom:4px}.mcal-grid .d{position:relative;font-size:12px;color:var(--muted);padding:5px 0;border-radius:8px}.mcal-grid .d.out{opacity:.28}.mcal-grid .d.today{background:var(--grad);color:#fff;font-weight:700}.mcal-grid .d .evdot{position:absolute;left:50%;transform:translate(-50%);bottom:1px;width:4px;height:4px;border-radius:50%;background:var(--cyan)}.mcal-grid .d.today .evdot{background:#fff}.page{animation:page-in .34s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}h2{font-size:13px;color:var(--muted);font-weight:700;margin:24px 2px 10px;text-transform:uppercase;letter-spacing:.09em}.section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 2px 10px}.page>.section-head:first-child{margin-top:0;position:sticky;top:10px;z-index:20;min-height:62px;padding:8px 14px;margin-inline:-8px;border:1px solid transparent;border-radius:22px;background:transparent;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s var(--ease)}html[data-scrolled] .page>.section-head:first-child{background:#0d1322d1;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-color:#ffffff1a;box-shadow:var(--glass-shadow);text-shadow:none}.section-head h2.page-title{text-transform:none;letter-spacing:0;font-size:22px;font-weight:800;color:var(--text)}.section-head h2{margin:0;flex:1;min-width:120px}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.stack>*+*{margin-top:10px}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow-1);transition:transform .18s var(--ease),border-color 1.2s ease,background 1.2s ease,color 1.2s ease}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:var(--r-m) var(--r-m) 0 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);pointer-events:none}.card.press:active{transform:scale(.985)}.card.disabled{opacity:.5}.rise{animation:rise .4s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.pop-out{animation:pop-out .22s var(--ease) both}@keyframes pop-out{to{opacity:0;transform:scale(.92)}}.row{display:flex;align-items:center;gap:12px}.row .grow{flex:1 1 0;min-width:0}.title{font-weight:650;font-size:15px;overflow-wrap:anywhere;transition:color .25s}.sub{color:var(--muted);font-size:12.5px;margin-top:2px;overflow-wrap:anywhere}.strike{text-decoration:line-through;color:var(--faint)}.row>button,.row>.icon-btn,.row>.check{flex-shrink:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tile{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-l);padding:16px 15px 15px;text-decoration:none;color:var(--text);box-shadow:var(--shadow-1);transition:transform .2s var(--spring),border-color .25s,background .25s}.tile:after{content:"";position:absolute;inset:-40% -40% auto auto;width:120px;height:120px;background:radial-gradient(closest-side,color-mix(in srgb,var(--tint, var(--indigo)) 26%,transparent),transparent);opacity:0;transition:opacity .35s;pointer-events:none}@media(hover:hover){.tile:hover{transform:translateY(-3px);border-color:var(--border-strong)}.tile:hover:after{opacity:1}}.tile:active{transform:scale(.965)}.tile .title{margin-top:10px;font-size:15px}.tile .sub{margin-top:1px}.tile.locked{opacity:.45;pointer-events:none;filter:saturate(.4)}.chip{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none;color:var(--tint, var(--indigo));background:color-mix(in srgb,var(--tint, var(--indigo)) 13%,transparent);border:1px solid color-mix(in srgb,var(--tint, var(--indigo)) 22%,transparent);transition:transform .25s var(--spring)}.tile:active .chip{transform:scale(.9)}.tile .lan-tag{position:absolute;top:12px;right:12px;font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--faint);border:1px solid var(--border);border-radius:6px;padding:2px 6px}button,.btn{font:inherit;font-weight:650;font-size:14px;border:0;border-radius:13px;cursor:pointer;min-height:44px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--grad);color:#fff;box-shadow:var(--shadow-glow);transition:transform .16s var(--spring),box-shadow .25s,opacity .2s,background .25s}button:active,.btn:active{transform:scale(.955)}button:disabled{opacity:.45;cursor:default;box-shadow:none}button.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none}button.ghost:active{background:var(--surface-3)}button.danger{background:#fb718524;color:var(--rose);border:1px solid rgba(251,113,133,.3);box-shadow:none}button.small{min-height:36px;padding:6px 13px;font-size:12.5px;border-radius:10px}button.linkish{background:none;color:var(--accent);box-shadow:none;font-weight:550;min-height:40px}.icon-btn{width:44px;height:44px;min-height:44px;padding:0;flex:none;border-radius:13px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);box-shadow:none}.icon-btn:active{color:var(--text)}.icon-btn.subtle{background:transparent;border-color:transparent}.icon-btn.subtle svg,.back-inline svg{filter:var(--icon-shadow, none)}html[data-scrolled] .page>.section-head:first-child .icon-btn.subtle svg,html[data-scrolled] .page>.section-head:first-child .back-inline svg{filter:none}.icon-btn.danger-hover:active{color:var(--rose)}.check{width:44px;height:44px;min-height:44px;padding:10px;flex:none;border-radius:50%;background:transparent;box-shadow:none;border:0;cursor:pointer;color:transparent;position:relative}.check:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:9px;border:2px solid var(--border-strong);background:var(--surface);transition:background .25s var(--ease),border-color .25s,transform .2s var(--spring)}.check svg{position:absolute;top:13px;right:13px;bottom:13px;left:13px;width:18px;height:18px;z-index:1}.check .check-mark{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .28s var(--ease) .05s}.check.on{color:#fff}.check.on:before{background:var(--grad);border-color:transparent;transform:scale(1.02)}.check.on .check-mark{stroke-dashoffset:0}.check:active:before{transform:scale(.86)}input,select{font:inherit;font-size:15px;background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:13px;padding:11px 14px;width:100%;min-height:44px;transition:border-color .2s,box-shadow .2s,background .2s}input::placeholder{color:var(--faint)}input:focus,select:focus{outline:none;border-color:color-mix(in srgb,var(--indigo) 55%,transparent);box-shadow:0 0 0 3px #6366f12e;background:var(--input-bg-focus)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 19px) 55%,calc(100% - 14px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0;min-height:32px;height:32px;background:transparent;border:0;box-shadow:none;touch-action:none}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,#6366f1a6,#22d3ee80) no-repeat,var(--surface-2);background-size:var(--fill, 100%) 100%,100% 100%}input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;margin-top:-8px;background:#fff;border:0;box-shadow:0 2px 8px #02061099,0 0 0 4px #6366f140;transition:transform .15s var(--spring)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}input[type=range]:disabled{opacity:.45;pointer-events:none}input[type=color]{padding:4px;height:44px;width:56px;flex:none;cursor:pointer;border-radius:13px;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:9px}input[type=date]{width:auto;color-scheme:dark}form.inline,.form-row{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0;align-items:center}form.inline input[type=text],form.inline input[type=email],form.inline input:not([type]),.form-row input:not([type]){flex:1 1 180px;min-width:0}form.inline select,.form-row select{flex:1 1 130px;width:auto;min-width:110px}form.inline input[type=date]{flex:1 1 140px}form.inline button,.form-row button{flex:0 0 auto}label.field{display:block;margin:12px 0;font-size:13px;color:var(--muted)}label.field input,label.field select{margin-top:7px}.tabbar{position:fixed;z-index:10;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(calc(100% - 20px),700px);height:62px;display:flex;justify-content:space-around;align-items:center;background:#0d1322d1;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:var(--glass-shadow);padding:4px 6px;text-shadow:none}@media(min-width:900px){.tabbar{width:min(calc(100% - 20px),1120px)}}.tabbar a{color:#fff;text-decoration:none;font-size:10px;font-weight:650;letter-spacing:.02em;text-align:center;padding:2px 6px;min-width:54px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:color .25s var(--ease),transform .2s var(--spring)}.tabbar a:active{transform:scale(.92)}.tabbar .ticon{width:40px;height:26px;border-radius:99px;display:grid;place-items:center;transition:background .3s var(--ease),color .3s,box-shadow .3s}.tabbar .ticon svg{display:block}.tabbar a.active{color:#fff}.tabbar a.active .ticon{background:var(--grad);color:#fff;box-shadow:0 4px 16px -4px #6366f1b3}.skeleton{position:relative;overflow:hidden;background:var(--surface);border:1px solid rgba(148,163,184,.07);animation:rise .4s var(--ease) both}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(148,163,184,.09) 50%,transparent 70%);animation:shimmer 1.6s linear infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.empty{text-align:center;padding:52px 24px;color:var(--muted)}.empty-icon{width:58px;height:58px;margin:0 auto 16px;border-radius:19px;display:grid;place-items:center;background:var(--grad-soft);color:var(--indigo);border:1px solid rgba(129,140,248,.25)}.empty-title{font-weight:700;font-size:16px;color:var(--text)}.empty-sub{font-size:13px;margin-top:6px;max-width:340px;margin-inline:auto}.empty button{margin-top:18px}.center{text-align:center;padding:46px 20px;color:var(--muted)}.error{color:var(--rose);font-size:13px;margin:10px 0;background:#fb718514;border:1px solid rgba(251,113,133,.2);border-radius:var(--r-s);padding:10px 13px;display:flex;gap:8px;align-items:flex-start;animation:rise .3s var(--ease) both}.notice{color:var(--warn);font-size:13px;margin:8px 0}.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(106px,1fr));gap:7px}.photogrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;cursor:pointer;border:1px solid var(--border);transition:transform .2s var(--spring),filter .25s;animation:rise .45s var(--ease) both}.photogrid img:active{transform:scale(.94)}.photo-del{position:absolute;top:6px;right:6px;width:30px;height:30px;min-height:30px;padding:0;border-radius:50%;background:#040810b8;color:var(--rose);border:1px solid rgba(251,113,133,.4);box-shadow:none}.slideshow{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cf5;z-index:50;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:fade-in .3s ease both}.slideshow img{max-width:100%;max-height:100%;animation:slide-photo .5s var(--ease) both}@keyframes fade-in{0%{opacity:0}}@keyframes slide-photo{0%{opacity:0;transform:scale(1.03)}}.camgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.camgrid .cam{animation:rise .4s var(--ease) both}.camgrid img{width:100%;border-radius:var(--r-m);background:var(--surface-2);border:1px solid var(--border);min-height:130px;object-fit:cover;transition:opacity .4s}.login-wrap{max-width:380px;margin:9dvh auto 0;padding:0 22px;animation:rise .5s var(--ease) both}.login-hero{text-align:center;margin-bottom:26px}.login-hero .logo-mark{width:64px;height:64px;border-radius:20px;margin:0 auto 16px;animation:float 5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.login-hero h1{font-size:28px;margin:0;font-weight:800;letter-spacing:-.02em}.login-hero p{color:var(--muted);font-size:14px;margin:6px 0 0}.login-wrap form{display:flex;flex-direction:column;gap:11px}.temp-big{font-size:54px;font-weight:800;text-align:center;margin:4px 0 0;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.mode-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}.mode-row button{text-transform:capitalize}.stepper{display:flex;align-items:center;justify-content:center;gap:20px;margin:12px 0 4px}.stepper button{font-size:22px;width:52px;height:52px;border-radius:50%;padding:0;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);box-shadow:none}.stepper .val{font-size:32px;font-weight:800;min-width:76px;text-align:center}.nowplaying{text-align:center;padding:24px 16px 18px}.art-wrap{position:relative;width:190px;height:190px;margin:0 auto}.art-wrap img{width:100%;height:100%;border-radius:18px;object-fit:cover;position:relative;z-index:1;border:1px solid var(--border-strong)}.art-wrap:before{content:"";position:absolute;top:8px;right:-4px;bottom:-10px;left:-4px;background:var(--art-glow, var(--grad));filter:blur(28px);opacity:.35;border-radius:30px}.art-wrap.playing img{animation:breathe 4s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.controls{display:flex;justify-content:center;align-items:center;gap:16px;margin:18px 0 8px}.controls .icon-btn{border-radius:50%}.controls .primary{width:62px;height:62px;border-radius:50%;padding:0;background:var(--grad);color:#fff;border:0;box-shadow:var(--shadow-glow)}.eq{display:inline-flex;gap:2.5px;align-items:flex-end;height:14px}.eq i{width:3px;border-radius:2px;background:var(--mint);animation:eq 1s ease-in-out infinite}.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.45s}@keyframes eq{0%,to{height:5px}50%{height:14px}}.light-card .brightness{margin-top:12px}.swatch-ring{width:44px;height:44px;border-radius:13px;flex:none;padding:3px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;position:relative;overflow:hidden}.swatch-ring input[type=color]{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;width:auto;height:auto;opacity:0;cursor:pointer}.swatch-ring .swatch{width:100%;height:100%;border-radius:9px;pointer-events:none}.chiplet{min-height:30px;padding:4px 11px;font-size:11.5px;font-weight:650;border-radius:99px;gap:5px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none}.chiplet.off{background:transparent;color:var(--faint);border-style:dashed;border-color:#fb718566;text-decoration:line-through}.toggle{min-height:44px;min-width:74px;border-radius:99px;padding:0 16px;font-weight:700;font-size:13px;box-shadow:none;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);transition:all .3s var(--ease)}.toggle.on{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--shadow-glow)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background:var(--border);margin:14px 0;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
