:root{--accent:#e8a5a0;--accent-soft:#f4d4d0;--accent-ink:#8c4a46;--sage:#a8b5a0;--terracotta:#c89080;--ochre:#d4b07a;--plum:#9b7a8f;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--sidebar-w:232px;--sidebar-collapsed:72px;--f-display:"Fraunces", "Cormorant Garamond", Georgia, serif;--f-ui:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, monospace}html[data-theme=light]{--bg:#fff7f3;--bg-tint:#fbeee8;--surface:#fff;--surface-2:#fdf6f1;--surface-sunk:#f7eade;--border:#f0e2d8;--border-strong:#e5d2c2;--ink:#2a1f1c;--ink-2:#5a4a44;--ink-3:#8c7a70;--ink-faint:#b8a89c;--shadow-sm:0 1px 2px #50281e0a, 0 2px 8px #50281e08;--shadow-md:0 4px 16px #50281e0f, 0 1px 3px #50281e0a;--shadow-lg:0 16px 48px #50281e14, 0 4px 12px #50281e0a;--ring:0 0 0 3px #e8a5a047}html[data-theme=dark]{--bg:#1f1b1d;--bg-tint:#26201f;--surface:#2a2427;--surface-2:#322a2c;--surface-sunk:#231e20;--border:#3a3133;--border-strong:#4a3f42;--ink:#f5ece8;--ink-2:#c9bcb6;--ink-3:#9a8c85;--ink-faint:#6b5e58;--accent:#d89792;--accent-soft:#4a3436;--accent-ink:#f5cec9;--shadow-sm:0 1px 2px #0003, 0 2px 8px #00000026;--shadow-md:0 4px 16px #00000040, 0 1px 3px #0003;--shadow-lg:0 16px 48px #00000059, 0 4px 12px #00000040;--ring:0 0 0 3px #d8979259}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-size:14px;line-height:1.5;transition:background-color .4s,color .4s}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}::selection{background:var(--accent-soft);color:var(--accent-ink)}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .35s cubic-bezier(.4,0,.2,1);display:grid}.app.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar{background:var(--bg-tint);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:20px 16px;transition:padding .35s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-collapsed .sidebar{padding:20px 12px}.sidebar-logo{color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:8px 8px 24px;text-decoration:none;display:flex}.sidebar-logo-mark{background:var(--accent);color:#fff;width:36px;height:36px;font-family:var(--f-display);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;place-items:center;font-size:18px;font-style:italic;font-weight:500;display:grid}.sidebar-logo-text{font-family:var(--f-display);letter-spacing:-.01em;opacity:1;white-space:nowrap;font-size:22px;font-style:italic;font-weight:400;transition:opacity .25s}.sidebar-logo-text em{color:var(--ink-3);font-size:11px;font-style:normal;font-family:var(--f-ui);letter-spacing:.18em;text-transform:uppercase;margin-top:-2px;display:block}.sidebar-collapsed .sidebar-logo-text{opacity:0}.sidebar-section-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);opacity:1;white-space:nowrap;padding:14px 12px 8px;font-size:10px;transition:opacity .25s}.sidebar-collapsed .sidebar-section-label{opacity:0;height:20px;padding:10px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-item{border-radius:var(--r-md);color:var(--ink-2);cursor:pointer;white-space:nowrap;align-items:center;gap:12px;padding:10px 12px;transition:background-color .2s,color .2s;display:flex;position:relative}.sidebar-item:hover{background:var(--surface);color:var(--ink)}.sidebar-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.sidebar-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.sidebar-item svg{stroke-width:1.6px;flex-shrink:0;width:18px;height:18px}.sidebar-item-label{opacity:1;flex:1;font-size:13.5px;font-weight:500;transition:opacity .25s}.sidebar-collapsed .sidebar-item-label{opacity:0}.sidebar-item-count{color:var(--ink-faint);background:var(--surface-sunk);border-radius:var(--r-pill);opacity:1;padding:2px 8px;font-size:11px;transition:opacity .25s}.sidebar-collapsed .sidebar-item-count{opacity:0;display:none}.sidebar-footer{border-top:1px solid var(--border);padding-top:12px}.sidebar-collapse-btn{border-radius:var(--r-md);width:100%;color:var(--ink-3);justify-content:center;align-items:center;gap:8px;padding:8px;font-size:12px;transition:all .2s;display:flex}.sidebar-collapse-btn:hover{background:var(--surface);color:var(--ink)}.sidebar-collapse-btn svg{width:16px;height:16px;transition:transform .35s}.sidebar-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar-collapsed .sidebar-collapse-btn-label{display:none}.topbar{z-index:10;background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.2)blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:14px 32px;display:flex;position:sticky;top:0}.topbar-crumb{color:var(--ink-3);flex:1;align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.topbar-crumb-sep{color:var(--ink-faint)}.topbar-crumb-page{color:var(--ink);font-weight:500;font-family:var(--f-display);font-size:17px;font-style:italic}.topbar-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);align-items:center;gap:8px;width:260px;padding:7px 14px;transition:all .2s;display:flex}.topbar-search:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.topbar-search input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-size:13px}.topbar-search input::placeholder{color:var(--ink-faint)}.topbar-search svg{width:14px;height:14px;color:var(--ink-3);stroke-width:2px}.topbar-search-kbd{font-family:var(--f-mono);color:var(--ink-faint);background:var(--surface-sunk);border-radius:4px;padding:2px 5px;font-size:10px}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-btn{border-radius:var(--r-md);width:36px;height:36px;color:var(--ink-2);background:0 0;place-items:center;transition:all .2s;display:grid}.icon-btn:hover{background:var(--surface);color:var(--ink)}.icon-btn svg{stroke-width:1.8px;width:17px;height:17px}.avatar{background:linear-gradient(135deg, var(--accent), var(--terracotta));color:#fff;width:34px;height:34px;font-family:var(--f-display);cursor:pointer;box-shadow:var(--shadow-sm);border:2px solid var(--surface);border-radius:50%;place-items:center;font-size:14px;font-style:italic;font-weight:500;display:grid}.btn{border-radius:var(--r-md);white-space:nowrap;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background:var(--accent);color:#fff}html[data-theme=dark] .btn-accent{color:var(--bg)}.btn-accent:hover{box-shadow:var(--shadow-md);filter:brightness(1.05);transform:translateY(-1px)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover{background:var(--surface);color:var(--ink)}.btn-soft{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.btn-soft:hover{border-color:var(--border-strong);background:var(--surface-2)}.btn svg{stroke-width:2px;width:15px;height:15px}.btn-danger{color:#a75242;background:#fce8e3}.btn-danger:hover{background:#f8d4cc}.main{flex-direction:column;min-width:0;display:flex}.page{width:100%;max-width:1400px;margin:0 auto;padding:40px 48px 80px;animation:.35s fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:32px}.page-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:10px;font-size:11px;font-weight:500}html[data-theme=dark] .page-eyebrow{color:var(--accent)}.page-title{font-family:var(--f-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:44px;font-weight:300;line-height:1.05}.page-title em{color:var(--accent);font-style:italic;font-weight:400}.page-sub{color:var(--ink-3);font-size:15px;font-family:var(--f-display);margin:0;font-style:italic;font-weight:300}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:box-shadow .25s,transform .25s,border-color .25s}.card:hover{box-shadow:var(--shadow-md)}.card-pad{padding:24px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink-2);letter-spacing:.02em;font-size:12px;font-weight:500}.input,.textarea,.select{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--ink);outline:none;width:100%;padding:10px 14px;font-size:13.5px;transition:all .18s}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:var(--ring)}.textarea{resize:vertical;min-height:80px}.chip{border-radius:var(--r-pill);letter-spacing:.02em;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.chip-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.chip.travel{color:#5a7048;background:#ebf1e6}.chip.food{color:#a75242;background:#fce8e3}.chip.vlog{color:#734a6b;background:#f0e7f0}.chip.personal{color:#8c6e3a;background:#f3ead8}.chip.published{background:var(--accent-soft);color:var(--accent-ink)}.chip.draft{background:var(--surface-sunk);color:var(--ink-3)}.chip.dish{color:#a75242;background:#fce8e3}.chip.restaurant{color:#5a7048;background:#ebf1e6}.chip.review{color:#8c6e3a;background:#f3ead8}html[data-theme=dark] .chip.travel{color:#b5caa8;background:#2a3528}html[data-theme=dark] .chip.food{color:#e8a89c;background:#3a2422}html[data-theme=dark] .chip.vlog{color:#c8aec5;background:#2f2530}html[data-theme=dark] .chip.personal{color:#d4ba8a;background:#332b1f}html[data-theme=dark] .chip.dish{color:#e8a89c;background:#3a2422}html[data-theme=dark] .chip.restaurant{color:#b5caa8;background:#2a3528}html[data-theme=dark] .chip.review{color:#d4ba8a;background:#332b1f}.tweaks-panel{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:280px;padding:18px;display:none;position:fixed;bottom:20px;right:20px}.tweaks-panel.open{animation:.25s fadeInUp;display:block}.tweaks-title{font-family:var(--f-display);justify-content:space-between;align-items:center;margin:0 0 14px;font-size:17px;font-style:italic;display:flex}.tweaks-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.tweaks-row:last-child{margin-bottom:0}.tweaks-row label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.tweaks-swatches{gap:8px;display:flex}.tweaks-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .2s}.tweaks-swatch:hover{transform:scale(1.1)}.tweaks-swatch.active{border-color:var(--ink)}.tweaks-seg{background:var(--surface-sunk);border-radius:var(--r-md);gap:2px;padding:3px;display:flex}.tweaks-seg button{border-radius:calc(var(--r-md) - 3px);color:var(--ink-3);flex:1;padding:6px 10px;font-size:11.5px;font-weight:500;transition:all .18s}.tweaks-seg button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.flex-1{flex:1}.min-w-0{min-width:0}.text-dim{color:var(--ink-3)}.text-faint{color:var(--ink-faint)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hidden{display:none!important}.divider{background:var(--border);border:none;height:1px;margin:24px 0}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:12px;margin-bottom:16px;font-size:11px;font-weight:500;display:flex}.section-label:after{content:"";background:var(--border);flex:1;height:1px}.editor-wrap{max-width:720px;margin:0 auto;padding:40px 48px 80px;overflow:visible}.editor-toolbar{z-index:8;background:color-mix(in oklab, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 32px;display:flex;position:sticky;top:57px}.editor-toolbar-actions{align-items:center;gap:8px;display:flex}.editor-back-btn{color:var(--ink-2)!important}.editor-cover{border-radius:var(--r-lg);width:100%;height:260px;margin-bottom:28px;position:relative;overflow:hidden}.editor-cover-overlay{opacity:0;border-radius:var(--r-lg);background:#0000004d;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.editor-cover:hover .editor-cover-overlay{opacity:1}.editor-title{font-family:var(--f-display);letter-spacing:-.02em;width:100%;color:var(--ink);resize:none;background:0 0;border:none;outline:none;margin-bottom:12px;font-size:38px;font-weight:300;line-height:1.15}.editor-title::placeholder{color:var(--ink-faint)}.editor-body{font-family:var(--f-display);width:100%;color:var(--ink);resize:none;background:0 0;border:none;outline:none;min-height:300px;font-size:17px;font-weight:300;line-height:1.75}.editor-body::placeholder{color:var(--ink-faint)}.notion-block{padding:4px 0 4px 36px;position:relative}.notion-block:hover .block-actions{opacity:1}.block-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.block-actions button{width:16px;height:16px;color:var(--ink-faint);border-radius:4px;place-items:center;display:grid}.block-actions button:hover{background:var(--surface-sunk);color:var(--ink-3)}.block-input{width:100%;color:var(--ink);resize:none;font-family:var(--f-display);background:0 0;border:none;outline:none;line-height:1.65}.block-h1{letter-spacing:-.02em;font-size:30px;font-weight:300}.block-h2{font-size:22px;font-weight:400}.block-p{font-size:17px;font-weight:300}.block-quote{border-left:3px solid var(--accent);color:var(--ink-2);padding-left:16px;font-size:18px;font-style:italic}.block-add-btn{color:var(--ink-faint);align-items:center;gap:6px;padding:8px 0 8px 36px;font-size:12px;transition:color .15s;display:flex}.block-add-btn:hover{color:var(--ink-3)}.media-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.media-tile{aspect-ratio:1;border-radius:var(--r-md);cursor:pointer;position:relative;overflow:hidden}.media-tile-overlay{opacity:0;background:#00000080;align-items:flex-end;padding:10px;transition:opacity .2s;display:flex;position:absolute;inset:0}.media-tile:hover .media-tile-overlay{opacity:1}.media-tile.selected{outline:2px solid var(--accent);outline-offset:2px}.messages-layout{grid-template-columns:360px 1fr;height:calc(100vh - 57px);display:grid}.messages-list{border-right:1px solid var(--border);overflow-y:auto}.message-item{border-bottom:1px solid var(--border);cursor:pointer;padding:16px 20px;transition:background .15s;position:relative}.message-item:hover{background:var(--surface-2)}.message-item.active{background:var(--accent-soft)}.message-item.unread:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.messages-detail{padding:40px;overflow-y:auto}.work-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.work-card{border-radius:var(--r-lg);cursor:pointer;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow .25s,transform .25s;overflow:hidden}.work-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.work-card-swatch{aspect-ratio:4/5;position:relative}.work-card-body{padding:16px}.settings-layout{grid-template-columns:200px 1fr;gap:32px;display:grid}.settings-nav{flex-direction:column;gap:2px;padding-top:4px;display:flex}.settings-nav-item{border-radius:var(--r-md);color:var(--ink-2);cursor:pointer;padding:9px 14px;font-size:13.5px;font-weight:500;transition:all .15s}.settings-nav-item:hover{background:var(--surface);color:var(--ink)}.settings-nav-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.upload-zone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);text-align:center;color:var(--ink-3);cursor:pointer;margin-bottom:24px;padding:40px;transition:all .2s}.upload-zone:hover,.upload-zone.dragging{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.journal-table{border-collapse:collapse;width:100%}.journal-table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px;font-weight:500}.journal-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.journal-table tr:hover td{background:var(--surface-2)}.journal-table tr:last-child td{border-bottom:none}.seg-control{background:var(--surface-sunk);border-radius:var(--r-md);gap:2px;width:fit-content;padding:3px;display:flex}.seg-control button{border-radius:calc(var(--r-md) - 3px);color:var(--ink-3);padding:6px 14px;font-size:12px;font-weight:500;transition:all .18s}.seg-control button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.mobile-menu-btn,.mobile-back-btn{display:none}.stats-grid{grid-template-columns:repeat(4,1fr)}.dashboard-main{grid-template-columns:1.3fr 1fr}.work-editor-grid{grid-template-columns:1fr 300px}.media-recent-grid{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}@media (width<=900px){.app{grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar-item-label,.sidebar-item-count,.sidebar-logo-text,.sidebar-section-label,.sidebar-collapse-btn-label{opacity:0}.page{padding:24px 20px 60px}.page-title{font-size:32px}.topbar{padding:12px 20px}.topbar-search{display:none}.media-grid{grid-template-columns:repeat(2,1fr)}.media-recent-grid{grid-template-columns:repeat(3,1fr)!important}.work-grid{grid-template-columns:repeat(2,1fr)}.work-editor-grid{grid-template-columns:1fr!important}.messages-layout,.settings-layout{grid-template-columns:1fr}}@media (width<=768px){.app{display:block}.main{width:100%;min-height:100vh}body{overflow-x:hidden}.sidebar{z-index:200;width:260px;height:100vh;padding:20px 16px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .sidebar-item-label,.sidebar.mobile-open .sidebar-item-count,.sidebar.mobile-open .sidebar-logo-text,.sidebar.mobile-open .sidebar-section-label{opacity:1}.mobile-menu-btn{display:grid!important}.sidebar-collapse-btn{display:none}.topbar{gap:10px;padding:12px 16px}.topbar-search{display:none}.page{padding:20px 16px 60px}.page-title{font-size:28px}.icon-btn{width:44px;height:44px}.btn{min-height:44px}.field-input{min-height:44px;padding:11px 12px}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.dashboard-main{grid-template-columns:1fr!important}.journal-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.messages-layout{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 57px)}.messages-list.mobile-hide,.messages-detail.mobile-hide{display:none}.mobile-back-btn{margin-bottom:16px;display:inline-flex!important}.messages-detail{padding:20px 16px}.upload-zone{padding:24px 16px}.work-grid{grid-template-columns:repeat(2,1fr)}.work-editor-grid{grid-template-columns:1fr!important}.media-recent-grid{grid-template-columns:repeat(3,1fr)!important}.editor-wrap{max-width:100%;padding:24px 16px 60px}.editor-toolbar{padding:8px 16px;top:53px}.editor-toolbar .btn-ghost,.editor-toolbar .btn-accent{font-size:12px;padding:5px 10px!important}.editor-title{font-size:26px}.seg-control{width:100%;max-width:100%;overflow-x:auto}img{max-width:100%}}@media (width<=480px){.stats-grid{grid-template-columns:1fr 1fr!important}.work-grid{grid-template-columns:1fr!important}.media-grid{grid-template-columns:repeat(2,1fr)}.media-recent-grid{grid-template-columns:repeat(2,1fr)!important}.page-title{font-size:24px}.page-header-row{flex-direction:column;align-items:flex-start;gap:14px}}@media (width<=520px){.tweaks-panel{width:auto;bottom:12px;left:12px;right:12px}.topbar-tweaks-btn,.topbar-bell-btn{display:none!important}.topbar-actions .btn-label{display:none}.topbar-crumb-page{font-size:15px}.card-pad{padding:16px}.page-eyebrow{letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@media (width<=640px){.journal-table th:nth-child(4),.journal-table td:nth-child(4),.journal-table th:nth-child(5),.journal-table td:nth-child(5){display:none}.journal-table td:nth-child(2)>div{max-width:130px!important}.journal-table td,.journal-table th{padding:10px 8px}}@media (width<=480px){.login-wrap{padding:0 16px}.login-card{padding:28px 20px}}@media (width<=360px){.stats-grid{grid-template-columns:1fr!important}.page{padding:16px 12px 60px}}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{width:100%;max-width:400px;padding:40px}.login-logo{align-items:center;gap:10px;margin-bottom:28px;display:flex}.login-brand{font-family:var(--f-display);letter-spacing:-.3px;font-size:20px;font-weight:600}.login-title{font-family:var(--f-display);margin-bottom:4px;font-size:28px;font-weight:600}.login-error{color:#c0392b;border-radius:var(--r-md);background:#fdf0ef;padding:8px 12px;font-size:12.5px}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink-2);font-size:12px;font-weight:500}.field-input{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:13.5px;font-family:var(--f-sans);outline:none;padding:9px 12px;transition:border-color .15s}.field-input:focus{border-color:var(--accent)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg, var(--surface-sunk) 25%, var(--surface) 50%, var(--surface-sunk) 75%);background-size:800px 100%;animation:1.4s infinite shimmer}.api-error{text-align:center;color:var(--ink-3);padding:40px}.api-error-msg{color:#c0392b;border-radius:var(--r-md);background:#fdf0ef;margin-top:8px;padding:12px 16px;font-size:13px;display:inline-block}
