:root{color-scheme:light;font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--ui-border: rgba(47, 47, 47, .1);--ui-text: #2f2f2f;--ui-muted: #6b6b6b;--ui-appBg: #faf7f5;--ui-surface: #ffffff;--ui-primary: #e88c9a;--ui-primary-ink: #934654;--ui-secondary: #bfa2db;--ui-secondary-ink: #6d5487;--ui-primaryText: #ffffff;--ui-success: #7fbf9b;--ui-warning: #d6a24f;--ui-danger: #c55d63;--ui-accent: var(--ui-secondary);--ui-focus: rgba(191, 162, 219, .35);--ui-shadow: 0 1px 2px rgba(17, 24, 39, .04), 0 16px 40px rgba(17, 24, 39, .06);--app-max-width: 1100px;--app-pad: clamp(12px, 4vw, 24px);--bottom-nav-space: 104px;--topbar-height: 64px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(900px 540px at 12% 6%,rgba(232,140,154,.14) 0%,transparent 55%),radial-gradient(900px 540px at 88% 10%,rgba(191,162,219,.16) 0%,transparent 55%),var(--ui-appBg);color:var(--ui-text);overflow-y:auto;-webkit-text-size-adjust:100%;touch-action:manipulation;min-height:100vh}@supports (min-height: 100dvh){body{min-height:100dvh}}img,video,canvas{max-width:100%;height:auto}h1,h2,h3,.ui-headline{font-family:Plus Jakarta Sans,Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.02em}.ui-text-muted{color:var(--ui-muted)}.app-shell{min-height:100vh;padding:calc(var(--app-pad) + var(--topbar-height) + env(safe-area-inset-top)) var(--app-pad) calc(var(--bottom-nav-space) + var(--app-pad) + env(safe-area-inset-bottom))}@supports (min-height: 100dvh){.app-shell{min-height:100dvh}}.app-container{width:100%;max-width:var(--app-max-width);margin:0 auto;display:grid;gap:18px}.app-topbar{position:fixed;top:0;left:0;right:0;z-index:40;height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) var(--app-pad) 10px;background:linear-gradient(180deg,#faf7f51a,#faf7f5eb 38%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-topbar__inner{width:100%;max-width:var(--app-max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.app-topbar__brand{display:flex;align-items:center;gap:10px;min-width:0}.app-topbar__logo{width:40px;height:40px;border-radius:999px;background:#e88c9a2e;border:1px solid rgba(232,140,154,.35)}.app-topbar__name{font-weight:800;color:var(--ui-primary-ink);font-size:16px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar__page{color:var(--ui-muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.app-iconbtn{width:44px;height:44px;border-radius:14px;border:1px solid rgba(47,47,47,.08);background:#fffc;cursor:pointer;display:grid;place-items:center;transition:transform .14s ease,opacity .14s ease,background-color .14s ease}.app-iconbtn:active{transform:scale(.98);opacity:.92}.ui-card{border:1px solid rgba(0,0,0,.02);background:var(--ui-surface);border-radius:16px;padding:20px;box-shadow:var(--ui-shadow)}.ui-field{display:grid;gap:6px}.ui-field__label,.ui-field__hint{font-size:12px;color:var(--ui-muted)}.ui-field__error{font-size:12px;color:var(--ui-danger)}.ui-input{height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(47,47,47,.1);outline:none;font-size:14px;background:var(--ui-surface)}.ui-input:focus{border-color:#bfa2dbd9;box-shadow:0 0 0 4px var(--ui-focus)}.ui-btn{height:44px;padding:0 14px;border-radius:14px;border:1px solid transparent;cursor:pointer;font-weight:600;letter-spacing:.1px;transition:transform .14s ease,opacity .14s ease,background-color .14s ease,border-color .14s ease}.ui-btn:disabled{opacity:.6;cursor:not-allowed}.ui-btn:active:not(:disabled){transform:scale(.98);opacity:.92}.ui-btn--secondary:hover:not(:disabled){background:#f9fafb}.ui-btn--ghost:hover:not(:disabled){background:#1118270a}.ui-btn--full{width:100%}.ui-btn--primary{background:var(--ui-primary);color:var(--ui-primaryText)}.ui-btn--primary:hover:not(:disabled){background:#dd7f8e}.ui-btn--secondary{background:var(--ui-surface);color:var(--ui-text);border-color:#bfa2db73}.ui-btn--ghost{background:transparent;color:var(--ui-text);border-color:transparent}.ui-link{background:transparent;border:none;padding:0;cursor:pointer;color:var(--ui-secondary-ink);font-weight:600}.ui-link:disabled{opacity:.6;cursor:not-allowed}.ui-alert{border-radius:12px;padding:10px 12px;font-size:13px;border:1px solid rgba(47,47,47,.1);background:#ffffffbf}.ui-alert--error{border-color:#c55d6347;background:#c55d6314;color:#6a2d31}.ui-page{display:grid;gap:16px}.ui-page__title{margin:0;font-size:22px;font-weight:800;color:var(--ui-primary-ink)}.ui-page__subtitle{margin:6px 0 0;font-size:13px;color:var(--ui-muted)}.ui-grid-2{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 520px){.ui-grid-2{grid-template-columns:1fr}}.ui-card--accent-rose{border-left:4px solid rgba(232,140,154,.65)}.ui-card--accent-lavender{border-left:4px solid rgba(191,162,219,.65)}.ui-soft{background:#ffffffb3}.ui-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(47,47,47,.08);background:#fffc}.ui-chip--danger{border-color:#c55d6347;background:#c55d631a;color:#7b2e33}.ui-segment{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border-radius:999px;background:#1118270a;border:1px solid rgba(47,47,47,.06)}.ui-segment__btn{height:40px;border-radius:999px;border:1px solid transparent;background:transparent;cursor:pointer;font-weight:700;color:var(--ui-muted);transition:transform .14s ease,opacity .14s ease,background-color .14s ease}.ui-segment__btn[aria-selected=true]{background:#ffffffe6;color:var(--ui-primary-ink);border-color:#2f2f2f0f}.ui-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ui-tile{border-radius:16px;padding:14px;background:#11182708;border:1px solid rgba(47,47,47,.06)}.ui-tile__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--ui-muted)}.ui-tile__value{margin-top:6px;font-family:Plus Jakarta Sans,Be Vietnam Pro,system-ui;font-size:18px;font-weight:800;color:var(--ui-text)}.ui-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a57}.ui-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(640px,calc(100vw + -0px));max-height:calc(100dvh - env(safe-area-inset-top));overflow:auto;z-index:70;border-radius:22px 22px 0 0;background:var(--ui-appBg);box-shadow:0 -18px 60px #0f172a47;border:1px solid rgba(47,47,47,.08)}.ui-sheet__header{display:flex;align-items:center;gap:12px;padding:14px 16px;position:sticky;top:0;background:linear-gradient(180deg,#faf7f5eb,#faf7f5b8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(47,47,47,.06)}.ui-sheet__title{font-size:16px;font-weight:800;color:var(--ui-primary-ink)}.ui-sheet__content{padding:16px;display:grid;gap:14px}.ui-sheet__footer{position:sticky;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#faf7f5b8,#faf7f5eb);border-top:1px solid rgba(47,47,47,.06)}.auth-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;padding:48px 16px;background:radial-gradient(900px 540px at 12% 6%,rgba(232,140,154,.16) 0%,transparent 55%),radial-gradient(900px 540px at 88% 10%,rgba(191,162,219,.18) 0%,transparent 55%),var(--ui-appBg)}@supports (min-height: 100dvh){.auth-shell{min-height:100dvh}}.auth-shell__header{max-width:420px;margin:0 auto 18px}.auth-shell__brand{font-weight:650;font-size:18px;letter-spacing:.2px}.auth-shell__tag{margin-top:4px;color:#6b7280;font-size:13px}.auth-card{width:100%;max-width:420px;margin:0 auto}.auth-card__top{margin-bottom:14px}.auth-card__title{margin:0;font-size:20px;letter-spacing:-.2px}.auth-card__subtitle{margin:6px 0 0;color:#6b7280;font-size:13px}.auth-sep{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:14px 0}.auth-sep__line{height:1px;background:#e5e7eb}.auth-sep__text{font-size:12px;color:#9ca3af}.auth-form{display:grid;gap:12px}.auth-card__footer{margin-top:14px;text-align:center}
