@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-ext-400-normal-CRdE35mU.woff2)format("woff2"),url(/assets/manrope-cyrillic-ext-400-normal-Djnz4Wsr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2)format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-greek-400-normal-CM4qok81.woff2)format("woff2"),url(/assets/manrope-greek-400-normal-DuX9RsAR.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-vietnamese-400-normal-DHb3EETF.woff2)format("woff2"),url(/assets/manrope-vietnamese-400-normal-D7E_mLGF.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-ext-400-normal-CMDvPJRp.woff2)format("woff2"),url(/assets/manrope-latin-ext-400-normal-C-X6QNXX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-cyrillic-ext-500-normal-Dz8SjJZ9.woff2)format("woff2"),url(/assets/manrope-cyrillic-ext-500-normal-PaLk8PaH.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-cyrillic-500-normal-B1OEZity.woff2)format("woff2"),url(/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-greek-500-normal-GeMIHyWm.woff2)format("woff2"),url(/assets/manrope-greek-500-normal-DyxYGEtJ.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-vietnamese-500-normal-DCXiE_xi.woff2)format("woff2"),url(/assets/manrope-vietnamese-500-normal-DaZ8i3XM.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-ext-500-normal-dm74KBQw.woff2)format("woff2"),url(/assets/manrope-latin-ext-500-normal-EtoS1VaI.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-ext-600-normal-Dk-u7o-5.woff2)format("woff2"),url(/assets/manrope-cyrillic-ext-600-normal-DjQx9_jq.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2)format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-greek-600-normal-BoRV6lzK.woff2)format("woff2"),url(/assets/manrope-greek-600-normal-CF2i9ZRY.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-vietnamese-600-normal-C1J5PCl_.woff2)format("woff2"),url(/assets/manrope-vietnamese-600-normal-lA7a_7Ok.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-ext-600-normal-_gBojHdJ.woff2)format("woff2"),url(/assets/manrope-latin-ext-600-normal-u5Pl7hTU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-cyrillic-ext-500-normal-bcG1qx3J.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-500-normal-B5u3KHyE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-cyrillic-500-normal-medSbGbm.woff2)format("woff2"),url(/assets/spectral-cyrillic-500-normal-CNC_J6mt.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-vietnamese-500-normal-qnENts6X.woff2)format("woff2"),url(/assets/spectral-vietnamese-500-normal-BfZg6KYt.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-latin-ext-500-normal-CC9VEg_t.woff2)format("woff2"),url(/assets/spectral-latin-ext-500-normal-Bmnp8FUT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-latin-500-normal-nNjq7_Cd.woff2)format("woff2"),url(/assets/spectral-latin-500-normal-PrYyf_gG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-ext-600-normal-CvRHnPuy.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-600-normal-BVATWin6.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-600-normal-Dl75bDKp.woff2)format("woff2"),url(/assets/spectral-cyrillic-600-normal-veT-ELBO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-vietnamese-600-normal-ZNiwCzjU.woff2)format("woff2"),url(/assets/spectral-vietnamese-600-normal-esmjhrFa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-ext-600-normal-DKlDBbgb.woff2)format("woff2"),url(/assets/spectral-latin-ext-600-normal-DnKmvInL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-600-normal-DE3OxvnQ.woff2)format("woff2"),url(/assets/spectral-latin-600-normal-DXnQJnYb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4efe4;--bg-warm:#f9f5eb;--surface:#fffbf3;--ink:#2d2a24;--ink-soft:#6e6a5e;--ink-muted:#8c867a;--line:#e4ddcc;--line-strong:#d3cab4;--accent:#667853;--accent-hover:#526440;--accent-soft:#e5ecdb;--on-accent:#fbfcf6;--error-text:#9c4527;--error-bg:#fbeae1;--error-line:#ebc9b8;--font-display:"Spectral", "Georgia", serif;--font-body:"Manrope", "Avenir Next", "Segoe UI", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1100px 560px at 50% -12%, #fbf6ea 0%, var(--bg) 62%);min-height:100dvh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}button{font:inherit;color:inherit}.splash{place-items:center;min-height:100dvh;padding:24px;display:grid}.splash-inner{flex-direction:column;align-items:center;gap:24px;display:flex}.splash-wordmark{font-family:var(--font-display);letter-spacing:.01em;animation:splash-breathe 2.4s var(--ease) infinite;font-size:40px;font-weight:500}@keyframes splash-breathe{0%,to{opacity:.4}50%{opacity:1}}.splash-track{background:var(--line);border-radius:999px;width:120px;height:2px;overflow:hidden}.splash-bar{border-radius:inherit;background:var(--accent);width:40%;height:100%;animation:splash-slide 1.3s var(--ease) infinite}@keyframes splash-slide{0%{transform:translate(-110%)}to{transform:translate(350%)}}.error-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.error-screen-inner{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:420px;display:flex}.error-screen-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:30px;font-weight:500}.error-screen-text{color:var(--ink-soft);margin:0 0 8px}.auth{grid-template-rows:1fr auto;place-items:center;gap:24px;min-height:100dvh;padding:24px;display:grid}.auth-card{width:100%;max-width:372px;animation:fade-up .7s var(--ease) both;flex-direction:column;gap:20px;display:flex}.auth-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:12px;font-weight:600}.auth-title{font-family:var(--font-display);letter-spacing:.005em;margin:0;font-size:44px;font-weight:600;line-height:1.12}.auth-subtitle{color:var(--ink-soft);margin:0;font-size:16px}.auth-error{border:1px solid var(--error-line);background:var(--error-bg);color:var(--error-text);animation:fade-up .4s var(--ease) both;border-radius:12px;margin:0;padding:12px 16px;font-size:14px}.auth-mode{border:1px solid var(--line);background:var(--bg-warm);border-radius:999px;gap:4px;padding:3px;display:flex}.auth-mode-btn{color:var(--ink-soft);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:none;border-radius:999px;flex:1;padding:9px 14px;font-size:14px;font-weight:600}.auth-mode-btn:hover:not(:disabled){color:var(--ink)}.auth-mode-btn:disabled{opacity:.6;cursor:default}.auth-mode-btn.active{background:var(--accent-soft);color:var(--accent)}.pin-dots{justify-content:center;gap:14px;padding:10px 0 2px;display:flex}.pin-dot{background:var(--line);width:12px;height:12px;transition:background .18s var(--ease);border-radius:50%}.pin-dot.filled{background:var(--accent)}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.keypad-btn{border:1px solid var(--line);background:var(--surface);height:58px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .18s var(--ease), border-color .18s var(--ease), transform .1s var(--ease);border-radius:16px;font-size:22px;font-weight:600}.keypad-btn:hover:not(:disabled){background:var(--bg-warm);border-color:var(--line-strong)}.keypad-btn:active:not(:disabled){transform:scale(.96)}.keypad-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.keypad-btn:disabled{opacity:.55;cursor:default}.keypad-btn.backspace{color:var(--ink-soft);font-size:20px}.keypad-btn.clear{color:var(--ink-soft);font-size:18px;font-weight:500}.auth-foot{color:var(--ink-muted);animation:fade-in 1s var(--ease) .3s both;margin:0;font-size:13px}.field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--ink-soft);font-size:13px;font-weight:600}.field-input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;transition:border-color .25s var(--ease), box-shadow .25s var(--ease);border-radius:12px;outline:none;padding:13px 15px;font-size:15px}.field-input::placeholder{color:var(--ink-muted)}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.btn-primary{background:var(--accent);color:var(--on-accent);letter-spacing:.01em;cursor:pointer;transition:background .25s var(--ease), transform .2s var(--ease);border:none;border-radius:999px;margin-top:4px;padding:14px 20px;font-size:15px;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{color:var(--ink-soft);cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease);background:0 0;border:none;border-radius:999px;padding:6px 10px;font-size:14px;font-weight:500}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent)}.shell{max-width:760px;margin:0 auto;padding:28px 28px 72px}.topbar{border-bottom:1px solid var(--line);animation:fade-in .6s var(--ease) both;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;display:flex}.topbar-left{align-items:baseline;gap:10px;min-width:0;display:flex}.topbar-wordmark{font-family:var(--font-display);letter-spacing:.01em;color:inherit;transition:opacity .25s var(--ease);white-space:nowrap;font-size:24px;font-weight:600;text-decoration:none}.topbar-wordmark:hover{opacity:.78}.topbar-separator{color:var(--ink-muted);flex-shrink:0;font-size:18px;font-weight:400;line-height:1}.topbar-breadcrumb{font-family:var(--font-display);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:18px;font-weight:500;overflow:hidden}.topbar-right{align-items:center;gap:12px;min-width:0;display:flex}.topbar-user{overflow-wrap:anywhere;font-size:14px;font-weight:600}.topbar-identity{min-width:0;color:inherit;transition:opacity .25s var(--ease);align-items:center;gap:12px;text-decoration:none;display:flex}.topbar-identity:hover{opacity:.78}.topbar-groups{background:var(--accent-soft);color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:180px;padding:3px 10px;font-size:12px;font-weight:600;overflow:hidden}.home{padding-top:56px}.home-title{font-family:var(--font-display);letter-spacing:.005em;overflow-wrap:anywhere;animation:fade-up .7s var(--ease) both;margin:0;font-size:40px;font-weight:600;line-height:1.12}.home-sub{color:var(--ink-soft);animation:fade-up .7s var(--ease) 80ms both;margin:12px 0 40px}.dashboard{grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0;list-style:none;display:grid}.dashboard-card{animation:fade-up .7s var(--ease) both}.dashboard-card-link{background:var(--surface);border:1px solid var(--line);color:inherit;transition:border-color .25s var(--ease), box-shadow .25s var(--ease);border-radius:16px;flex-direction:column;gap:12px;padding:22px 20px;text-decoration:none;display:flex}.dashboard-card-link:hover{border-color:var(--line-strong);box-shadow:0 2px 12px #0000000a}.dashboard-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dashboard-card-name{font-family:var(--font-display);letter-spacing:.005em;margin:0;font-size:17px;font-weight:600;line-height:1.2}.dashboard-card-status{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.3}.dashboard-card-status--loading{background:var(--line);width:60%;height:14px;animation:pulse 1.5s var(--ease) infinite;border-radius:4px}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.empty{border:1px dashed var(--line-strong);text-align:center;animation:fade-up .7s var(--ease) .1s both;border-radius:16px;margin-top:24px;padding:44px 28px}.empty-title{font-family:var(--font-display);margin:0;font-size:22px;font-weight:600}.empty-text{color:var(--ink-soft);margin:8px 0 0;font-size:14px}.profile{flex-direction:column;align-items:flex-start;gap:20px;padding-top:56px;display:flex}.profile-title{font-family:var(--font-display);letter-spacing:.005em;overflow-wrap:anywhere;animation:fade-up .7s var(--ease) both;margin:0;font-size:40px;font-weight:600;line-height:1.12}.profile-sub{color:var(--ink-soft);animation:fade-up .7s var(--ease) 80ms both;margin:0}.profile-logout{animation:fade-up .7s var(--ease) .16s both;margin-top:12px}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=640px){body{font-size:15px}.shell{padding:20px 18px 56px}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.topbar-right{flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%}.topbar-wordmark{font-size:22px}.topbar-breadcrumb{font-size:16px}.home{padding-top:36px}.home-title{font-size:32px}.profile{padding-top:36px}.profile-title{font-size:32px}.home-sub{margin-bottom:28px}.dashboard{grid-template-columns:repeat(2,1fr);gap:10px}.dashboard-card-link{border-radius:14px;gap:10px;padding:18px 16px}.dashboard-card-icon{border-radius:10px;width:36px;height:36px}.dashboard-card-name{font-size:15px}.dashboard-card-status{font-size:12px}.empty{padding:32px 20px}.auth{padding:18px}.auth-title{font-size:34px}.splash{padding:18px}.splash-wordmark{font-size:32px}.btn-ghost{min-height:44px}.field-input{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin{padding-top:40px}.admin-sub{color:var(--ink-soft);animation:fade-up .7s var(--ease) 80ms both;margin:12px 0 0}.admin .auth-error{margin-top:20px}.admin-tabs{animation:fade-up .7s var(--ease) .12s both;gap:4px;margin:28px 0 20px;display:flex}.admin-tab{color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;transition:color .2s var(--ease), background .2s var(--ease);background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.admin-tab:hover{color:var(--ink)}.admin-tab.active{background:var(--accent-soft);color:var(--accent)}.admin-actions{animation:fade-up .7s var(--ease) .12s both;align-items:center;gap:10px;margin:28px 0 20px;display:flex}.admin-form{border:1px solid var(--line);background:var(--surface);animation:fade-up .5s var(--ease) both;border-radius:16px;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:28px;padding:24px;display:flex}.admin-form-row{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.admin-form .btn-primary{margin-top:0}.admin-list{margin:0;padding:0;list-style:none}.admin-row{border-top:1px solid var(--line);animation:fade-up .6s var(--ease) both;padding:22px 4px}.admin-row:last-child{border-bottom:1px solid var(--line)}.admin-row-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-row-main{min-width:0}.admin-row-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-username{font-family:var(--font-display);letter-spacing:.005em;overflow-wrap:anywhere;font-size:19px;font-weight:600}.admin-meta{color:var(--ink-muted);margin-top:6px;font-size:13px}.badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.badge-admin{background:var(--accent-soft);color:var(--accent)}.badge-groups,.badge-authmode{background:var(--bg-warm);border:1px solid var(--line);color:var(--ink-soft);text-transform:none;letter-spacing:0}.badge-authmode.badge-pin{background:var(--accent-soft);color:var(--accent);border-color:#0000}.cred-mode{border:1px solid var(--line);background:var(--bg-warm);border-radius:999px;gap:4px;margin-bottom:8px;padding:3px;display:flex}.cred-mode-btn{color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;transition:color .2s var(--ease), background .2s var(--ease);background:0 0;border:none;border-radius:999px;flex:1;padding:6px 12px;font-size:13px;font-weight:600}.cred-mode-btn:hover{color:var(--ink)}.cred-mode-btn.active{background:var(--accent-soft);color:var(--accent)}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.admin-reset{flex-direction:column;align-items:stretch;gap:10px;width:100%;display:flex}.admin-reset-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-reset-title{font-size:14px;font-weight:600}.admin-reset-current{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:flex}.admin-reset-actions{gap:8px;display:flex}.admin-reset .field-input{width:100%;padding:9px 13px;font-size:14px}.admin-notice{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent);animation:fade-up .4s var(--ease) both;border-radius:12px;margin:0;padding:12px 16px;font-size:14px}.btn-danger{color:var(--error-text)}.btn-danger:hover:not(:disabled){background:var(--error-bg);color:var(--error-text)}.admin-confirm{border:1px solid var(--error-line);background:var(--error-bg);color:var(--error-text);animation:fade-up .3s var(--ease) both;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:12px 16px;font-size:14px;display:flex}.admin-confirm strong{font-weight:600}.btn-danger-solid{background:var(--error-text);color:var(--on-accent);cursor:pointer;transition:opacity .2s var(--ease);border:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.btn-danger-solid:hover:not(:disabled){opacity:.88}.btn-danger-solid:disabled,.admin button:disabled{opacity:.5;cursor:default}.admin-members{border:1px solid var(--line);background:var(--surface);animation:fade-up .3s var(--ease) both;border-radius:12px;margin-top:14px;padding:14px 16px}.admin-members-list{margin:0;padding:0;list-style:none}.admin-member{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px;display:flex}.admin-member:last-child{border-bottom:none}.admin-member span{overflow-wrap:anywhere;font-weight:600}.admin-member-add{align-items:center;gap:8px;margin-top:12px;display:flex}.admin-member-add .member-select{flex:1;min-width:0}.admin-grants{animation:fade-up .7s var(--ease) .16s both}.admin-module{border-top:1px solid var(--line);animation:fade-up .6s var(--ease) both;padding:22px 4px}.admin-module:last-child{border-bottom:1px solid var(--line)}.admin-module-title{font-family:var(--font-display);letter-spacing:.005em;font-size:19px;font-weight:600}.admin-module-head .admin-meta{margin-top:2px}.grant-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.grant-group{font-size:14px;font-weight:600}.grant-chip-group{align-items:center;gap:6px;display:flex}.grant-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;transition:color .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.grant-chip:hover:not(:disabled){color:var(--ink);border-color:var(--ink-muted)}.grant-chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (width<=640px){.admin-grant-list{margin-top:8px}.grant-row{flex-direction:column;align-items:flex-start;gap:8px}.admin-member-add{flex-wrap:wrap}.admin-member-add .member-select,.admin-member-add .btn-ghost{min-height:44px}.admin{padding-top:28px}.admin-form{padding:20px}.admin-form-row{grid-template-columns:1fr}.admin-form .btn-primary{width:100%}.admin-actions{margin-top:22px}.admin-row{padding:20px 2px}.admin-row-top{flex-direction:column;gap:14px}.admin-row-actions{gap:8px}.admin-reset{width:100%}.admin-reset .field-input{width:100%;min-width:0;font-size:16px}.admin-reset .btn-ghost,.admin-confirm .btn-ghost,.admin-confirm .btn-danger-solid{min-height:44px}}.wish{padding-top:40px}.wish-hint{color:var(--ink-muted);animation:fade-up .5s var(--ease) both;margin:18px 0 0}.wish .auth-error{margin-top:20px}.wish-retry{margin-top:14px}.wish-title{font-family:var(--font-display);letter-spacing:.005em;overflow-wrap:anywhere;animation:fade-up .7s var(--ease) both;margin:0;font-size:40px;font-weight:600;line-height:1.12}.wish-sub{color:var(--ink-soft);animation:fade-up .7s var(--ease) 80ms both;margin:12px 0 0}.wish-public{padding-top:72px}.wish-public-head{text-align:center;max-width:560px;animation:fade-up .7s var(--ease) both;margin:0 auto 56px}.wish-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:18px;font-size:12px;font-weight:600;display:block}.wish-public .wish-title{font-size:52px;line-height:1.08}.wish-intro{color:var(--ink-soft);margin:18px 0 0;font-size:17px;line-height:1.6}.wish-foot{text-align:center;color:var(--ink-muted);animation:fade-up .7s var(--ease) .3s both;margin:64px 0 0;font-size:13px}.wish-add{animation:fade-up .7s var(--ease) .12s both;margin-top:28px}.wish-add-toggle{padding-left:24px;padding-right:24px}.wish-form{grid-template-columns:1fr 1fr;gap:14px 16px;padding:2px 0 4px;display:grid}.wish-form .field:first-child{grid-column:1/-1}.wish-form-actions{grid-column:1/-1;align-items:center;gap:10px;display:flex}.wish-sections{margin-top:44px}.wish-section{animation:fade-up .7s var(--ease) both}.wish-section+.wish-section{margin-top:48px}.wish-section-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px;padding-bottom:12px;display:flex}.wish-section-title{font-family:var(--font-display);letter-spacing:.005em;margin:0;font-size:24px;font-weight:600}.wish-section-hint{color:var(--ink-muted);margin:0;font-size:13px}.wish-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.wish-card{border:1px solid var(--line);background:var(--surface);animation:fade-up .6s var(--ease) both;border-radius:16px;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.wish-card-main{flex:1;min-width:0}.wish-card-name{font-family:var(--font-display);letter-spacing:.005em;overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:600;line-height:1.35}.wish-card-desc{color:var(--ink-soft);overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.55}.wish-card-link{color:var(--accent);transition:opacity .2s var(--ease);align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.wish-card-link:hover{opacity:.78}.wish-card-arrow{font-size:14px;line-height:1}.wish-card-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.wish-confirm{border:1px solid var(--error-line);background:var(--error-bg);color:var(--error-text);animation:fade-up .3s var(--ease) both;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;font-size:14px;display:flex}.wish-empty{border:1px dashed var(--line-strong);text-align:center;animation:fade-up .6s var(--ease) .1s both;border-radius:16px;margin-top:28px;padding:32px 24px}.wish-empty-title{font-family:var(--font-display);margin:0;font-size:19px;font-weight:600}.wish-empty-text{color:var(--ink-soft);margin:6px 0 0;font-size:14px}.wish-book{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.wish-book-btn{padding-left:20px;padding-right:20px}.wish-book-badge{border:1px solid var(--line-strong);background:var(--accent-soft);color:var(--accent-hover);white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.wish-card--form{flex-direction:column}.wish-card--form .wish-book{align-items:stretch;width:100%}.wish-cred{padding:4px 2px}.wish-cred-copy{color:var(--ink-soft);margin:0 0 12px;font-size:13px}.wish-cred-fields{grid-template-columns:1fr 1fr;gap:12px 14px;display:grid}.wish-cred-error{color:var(--error-text);margin:10px 0 0;font-size:13px}.wish-cred-actions{align-items:center;gap:10px;margin-top:14px;display:flex}.wish-cred-actions .btn-ghost{min-height:42px}.wish-card-reserved{border:1px solid var(--line-strong);background:var(--accent-soft);color:var(--accent-hover);border-radius:999px;margin:10px 0 0;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.wish-assign{flex-direction:column;gap:10px;width:100%;display:flex}.wish-assign-error{color:var(--error-text);margin:0;font-size:13px}.wish-assign-actions{align-items:center;gap:10px;display:flex}.wish button:disabled{opacity:.5;cursor:default}@media (width<=640px){.wish{padding-top:28px}.wish-public{padding-top:48px}.wish-public-head{margin-bottom:40px}.wish-public .wish-title{font-size:40px}.wish-title{font-size:32px}.wish-form{grid-template-columns:1fr;gap:12px}.wish-form .field:first-child{grid-column:auto}.wish-form-actions{width:100%}.wish-form-actions .btn-primary{flex:1}.wish-add-toggle{width:100%}.wish-sections{margin-top:32px}.wish-section+.wish-section{margin-top:36px}.wish-card{flex-direction:column;gap:10px;padding:18px}.wish-card-actions .btn-ghost{min-height:44px}.wish-card-actions{justify-content:flex-end;width:100%}.wish-book{align-items:stretch;width:100%}.wish-book .btn-primary,.wish-book .btn-ghost{justify-content:center}.wish-book-badge{align-self:flex-start}.wish-cred-fields{grid-template-columns:1fr;gap:12px}.wish-cred-actions{width:100%}.wish-cred-actions .btn-primary{flex:1}.wish-foot{margin-top:44px}}.move{padding-top:40px}.move-hint{color:var(--ink-muted);animation:fade-up .5s var(--ease) both;margin:18px 0 0}.move-public{flex-direction:column;align-items:center;min-height:100dvh;padding-top:0;display:flex}.move-public-head{text-align:center;max-width:560px;animation:fade-up .7s var(--ease) both;margin:0 auto;padding:72px 24px 40px}.move-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:18px;font-size:12px;font-weight:600;display:block}.move-title{font-family:var(--font-display);letter-spacing:.005em;overflow-wrap:anywhere;margin:0;font-size:52px;font-weight:600;line-height:1.08}.move-video-wrap{width:100%;max-width:400px;animation:fade-up .7s var(--ease) .1s both;padding:0 24px;position:relative}.move-video{border-radius:20px;width:100%;display:block}.move-sound-btn{width:40px;height:40px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .2s var(--ease);background:#fffbf3d9;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:16px;right:16px}.move-sound-btn:hover{opacity:.78}.move-location{text-align:center;max-width:480px;color:var(--ink-soft);animation:fade-up .7s var(--ease) .2s both;margin:40px 24px 0;padding:0 24px;font-size:17px;line-height:1.6}.move-foot{text-align:center;color:var(--ink-muted);animation:fade-up .7s var(--ease) .3s both;margin-top:auto;padding:48px 24px 40px;font-size:13px}.move-admin-title{font-family:var(--font-display);letter-spacing:.005em;margin:0 0 28px;font-size:28px;font-weight:600}.move-form{gap:18px;display:grid}.move-admin-video{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.move-admin-video-player{border-radius:12px;width:100%;max-width:320px}.move-file-input{display:none}.move-form-actions{padding-top:8px}.move button:disabled{opacity:.5;cursor:default}@media (width<=640px){.move{padding-top:28px}.move-public-head{padding-top:48px;padding-bottom:28px}.move-title{font-size:40px}.move-video-wrap{max-width:300px}.move-location{font-size:15px}.move-admin-video-player{max-width:240px}}.crud{padding-top:40px}.crud-sub{color:var(--ink-soft);animation:fade-up .7s var(--ease) 80ms both;margin:12px 0 0}.crud .auth-error{margin-top:20px}.crud-entities{flex-direction:column;gap:44px;margin-top:40px;display:flex}.crud-entity-head{border-top:1px solid var(--line);animation:fade-up .6s var(--ease) .1s both;justify-content:space-between;align-items:baseline;gap:16px;padding-top:22px;display:flex}.crud-entity-title{font-family:var(--font-display);letter-spacing:.005em;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:600}.crud-hint{color:var(--ink-muted);animation:fade-up .5s var(--ease) both;margin:18px 0 0}.crud-empty{border:1px dashed var(--line-strong);text-align:center;animation:fade-up .6s var(--ease) .1s both;border-radius:16px;margin-top:18px;padding:32px 24px}.crud-empty-title{font-family:var(--font-display);margin:0;font-size:19px;font-weight:600}.crud-empty-text{color:var(--ink-soft);margin:6px 0 0;font-size:14px}.crud-form{border:1px solid var(--line);background:var(--surface);animation:fade-up .5s var(--ease) both;border-radius:16px;flex-direction:column;align-items:flex-start;gap:18px;margin-top:20px;padding:24px;display:flex}.crud-form-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.crud-field-textarea{grid-column:1/-1}.crud-check{min-height:48px;color:var(--ink-soft);cursor:pointer;align-self:end;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.crud-check input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.crud-form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.crud-form-actions .btn-primary{margin-top:0}.crud-list{margin:0;padding:0;list-style:none}.crud-row{border-top:1px solid var(--line);animation:fade-up .6s var(--ease) both;padding:22px 4px}.crud-row:last-child{border-bottom:1px solid var(--line)}.crud-row-fields{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px 24px;display:grid}.crud-cell-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600;display:block}.crud-cell-value{overflow-wrap:anywhere;margin-top:3px;font-size:15px;line-height:1.5;display:block}.crud-na{color:var(--ink-muted)}.crud-link{color:var(--accent);transition:opacity .2s var(--ease);text-decoration:none}.crud-link:hover{opacity:.78}.crud-bool{border:1px solid var(--line);background:var(--bg-warm);color:var(--ink-muted);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.crud-bool-on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.crud-row-actions{align-items:center;gap:4px;margin-top:12px;display:flex}.crud-row-meta{color:var(--ink-muted);margin-top:12px;font-size:13px}.crud-confirm{border:1px solid var(--error-line);background:var(--error-bg);color:var(--error-text);animation:fade-up .3s var(--ease) both;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:12px 16px;font-size:14px;display:flex}.crud button:disabled{opacity:.5;cursor:default}@media (width<=640px){.crud{padding-top:28px}.crud-entities{gap:36px;margin-top:28px}.crud-entity-head{padding-top:18px}.crud-form{padding:20px}.crud-form-grid{grid-template-columns:1fr}.crud-field-textarea{grid-column:auto}.crud-check{min-height:44px}.crud-form-actions,.crud-form-actions .btn-primary{width:100%}.crud-form-actions .btn-ghost{min-height:44px}.crud-row{padding:20px 2px}.crud-row-fields{grid-template-columns:1fr;gap:12px}.crud-row-actions{gap:8px}.crud-row-actions .btn-ghost{min-height:44px}}
