@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.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}:root{color-scheme:dark;--ink-950: #08090c;--ink-900: #0e1015;--ink-800: #171a22;--ink-700: #242836;--mist-100: #edece7;--mist-300: #b9b7ae;--mist-500: #85837b;--gold-300: #e6bb63;--gold-400: #d9a441;--danger-400: #e0655f;--bg: var(--ink-950);--bg-raised: var(--ink-900);--bg-hover: rgb(237 236 231 / .06);--glass: rgb(237 236 231 / .03);--glass-strong: rgb(237 236 231 / .055);--border: var(--ink-700);--border-strong: var(--ink-700);--text: var(--mist-100);--text-muted: var(--mist-300);--text-dim: var(--mist-500);--accent: var(--gold-400);--accent-strong: var(--gold-300);--ok: var(--gold-300);--warn: var(--gold-400);--bad: var(--danger-400);--accent-rgb: 217 164 65;--bad-rgb: 224 101 95;--hairline: rgb(237 236 231 / .05);--radius: 16px;--radius-sm: 10px;--content-w: 1080px;--shadow-card: 0 8px 32px rgb(0 0 0 / .35);--glow-accent: 0 0 24px rgb(var(--accent-rgb) / .28);--ease-out: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{color-scheme:light;--ink-950: #faf9f5;--ink-900: #f1efe8;--ink-800: #e7e3d8;--ink-700: #d6d1c2;--mist-100: #16181d;--mist-300: #494c55;--mist-500: #757880;--gold-300: #8f5f06;--gold-400: #a5750f;--danger-400: #b2362f;--bg-hover: rgb(22 24 29 / .05);--glass: rgb(22 24 29 / .025);--glass-strong: rgb(22 24 29 / .045);--accent-rgb: 165 117 15;--bad-rgb: 178 54 47;--hairline: rgb(22 24 29 / .06);--shadow-card: 0 8px 32px rgb(22 24 29 / .08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Montserrat Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body:before,body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}body:before{background-image:repeating-linear-gradient(135deg,var(--hairline) 0 1px,transparent 1px 14px);mask-image:linear-gradient(180deg,black 0%,black 45%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,black 0%,black 45%,transparent 100%)}body:after{inset:-10%;background:radial-gradient(900px 620px at 50% -10%,rgb(var(--accent-rgb) / .1),transparent 72%),radial-gradient(700px 520px at 92% 88%,rgb(var(--accent-rgb) / .05),transparent 72%);animation:glow-drift 26s ease-in-out infinite alternate}@keyframes glow-drift{to{transform:translate3d(0,-30px,0) scale(1.06)}}@media(prefers-reduced-motion:reduce){body:after{animation:none}}h1{font-size:1.9rem;font-weight:700;letter-spacing:-.025em;margin:0;line-height:1.2}h3{font-size:1.02rem;font-weight:650;letter-spacing:-.01em;margin:0}h4{font-size:.78rem;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted)}p{margin:.35rem 0}a{color:var(--accent-strong)}.muted{color:var(--text-muted)}.small{font-size:.8rem}.lede{color:var(--text-muted);margin-top:.35rem;max-width:56ch}.grad-text{color:var(--accent-strong)}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1.5rem;padding:0 1.4rem;height:64px;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;color:var(--text);transition:color .3s ease}.brand:hover{opacity:.82}.topnav{display:flex;gap:4px;flex:1}.nav-link{position:relative;display:block;padding:.48rem .95rem;border-radius:999px;color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .18s ease}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);font-weight:600}.nav-pill{position:absolute;inset:0;border-radius:999px;background:rgb(var(--accent-rgb) / .1);border:1px solid rgb(var(--accent-rgb) / .35)}.nav-label{position:relative;z-index:1}.topbar-foot{display:flex;align-items:center;gap:.6rem;min-width:0}.account{position:relative;flex:none}.account-trigger{display:flex;align-items:center;gap:.5rem;max-width:220px;padding:.3rem .6rem .3rem .3rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.account-trigger:hover,.account-trigger.open{color:var(--text);border-color:rgb(var(--accent-rgb) / .5);background:rgb(var(--accent-rgb) / .06)}.account-avatar{display:grid;place-items:center;height:1.75rem;width:1.75rem;flex:none;overflow:hidden;border-radius:999px;background:rgb(var(--accent-rgb) / .14);color:var(--accent-strong);font-size:.75rem;font-weight:600;line-height:1}.account-avatar img{height:100%;width:100%;object-fit:cover}.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.account-caret{height:.85rem;width:.85rem;flex:none;opacity:.7}.account-menu{position:absolute;top:calc(100% + .55rem);right:0;z-index:20;min-width:13rem;overflow:hidden;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 94%,var(--text) 6%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px #00000059;transform-origin:top right}.account-menu-head{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.account-menu-name{color:var(--text);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-username{color:var(--text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-items{padding:.35rem}.account-item{display:block;width:100%;padding:.5rem .6rem;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;font-size:.85rem;text-align:left;text-decoration:none;cursor:pointer;transition:background .16s ease,color .16s ease}.account-item:hover,.account-item:focus-visible{background:rgb(var(--accent-rgb) / .12)}.account-item-quiet{color:var(--text-muted)}.account-item-quiet:hover,.account-item-quiet:focus-visible{color:var(--text)}.theme-toggle{display:flex;align-items:center;justify-content:center;height:2.25rem;width:2.25rem;flex:none;padding:0;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .3s ease,border-color .3s ease}.theme-toggle:hover{color:var(--accent-strong);border-color:rgb(var(--accent-rgb) / .5)}.theme-toggle svg{width:1rem;height:1rem}.icon-moon{display:none}:root[data-theme=light] .icon-sun{display:none}:root[data-theme=light] .icon-moon{display:block}.logo-swap{display:inline-flex;flex:none}.logo-swap img{display:block;height:auto}.logo-swap .logo-light{display:none}:root[data-theme=light] .logo-swap .logo-light{display:block}:root[data-theme=light] .logo-swap .logo-dark{display:none}.content{flex:1;padding:2.25rem 1.4rem 3rem;width:100%}.page{display:flex;flex-direction:column;gap:1.4rem;max-width:var(--content-w);margin:0 auto}.page-head{display:flex;flex-direction:column;gap:.6rem}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-weight:550;cursor:pointer;align-self:flex-start;text-decoration:none;transition:border-color .3s var(--ease-out),color .3s var(--ease-out),background .3s var(--ease-out)}.btn:hover:not(:disabled){border-color:rgb(var(--accent-rgb) / .5);color:var(--accent-strong)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{position:relative;overflow:hidden;isolation:isolate;color:#08090c;border-color:transparent;background-image:linear-gradient(160deg,#e6bb63,#d9a441 60%,#c08f2e);box-shadow:inset 0 1px #ffffff59,0 0 0 1px #e6bb6373,0 0 28px #d9a44159;outline:1px solid rgb(230 187 99 / 0);animation:cta-ring 5s ease-out infinite;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),filter .3s var(--ease-out)}.btn-primary:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--cta-angle),transparent 0deg 290deg,rgb(255 244 214 / .95) 325deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:cta-border-spin 5s linear infinite}.btn-primary:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgb(255 255 255 / .45),transparent);transform:translate(-150%) skew(-18deg);animation:cta-sheen 5s ease-in-out infinite}.btn-primary:hover:not(:disabled){border-color:transparent;color:#08090c;filter:brightness(1.07);box-shadow:inset 0 1px #ffffff73,0 0 0 1px #e6bb63bf,0 0 48px #d9a4418c}.btn-primary:focus-visible{animation:none;outline:2px solid var(--gold-300);outline-offset:3px}.btn-primary:before,.btn-primary:after{z-index:-1}@property --cta-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes cta-border-spin{to{--cta-angle: 360deg}}@keyframes cta-sheen{0%,62%{transform:translate(-150%) skew(-18deg)}to{transform:translate(400%) skew(-18deg)}}@keyframes cta-ring{0%,55%{outline-color:#e6bb6300;outline-offset:2px}60%{outline-color:#e6bb638c;outline-offset:2px}to{outline-color:#e6bb6300;outline-offset:14px}}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){border-color:transparent;color:var(--accent-strong)}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-muted)}input,textarea{font:inherit;color:var(--text);background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;font:inherit;text-align:left;color:var(--text);background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--text-dim) 60%,transparent)}.select-trigger:focus-visible{outline:none;border-color:var(--accent);background:var(--glass-strong);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .22)}.select-trigger:disabled{opacity:.55;cursor:not-allowed}.select-trigger.input-invalid{border-color:var(--bad)}.select-trigger.input-invalid:focus-visible{border-color:var(--bad);box-shadow:0 0 0 3px rgb(var(--bad-rgb) / .22)}.select-placeholder{color:var(--text-dim);opacity:.75}.select-caret{flex:none;color:var(--text-dim)}.select-field,.date-field{position:relative;display:block}@supports (-moz-appearance: none){*{scrollbar-width:thin;scrollbar-color:var(--text-dim) transparent}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}.select-list{position:absolute;z-index:40;top:calc(100% + .35rem);left:0;right:0;max-height:15rem;overflow-y:auto;margin:0;padding:.3rem;list-style:none;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.select-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;border-radius:calc(var(--radius-sm) - 4px);color:var(--text-muted);font-size:.9rem;cursor:pointer}.select-option.is-active{background:var(--bg-hover);color:var(--text)}.select-option.is-selected{color:var(--accent-strong)}.date-panel{position:absolute;z-index:40;top:calc(100% + .35rem);left:0;width:max-content;padding:.75rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}@media(max-width:560px){.date-panel{left:auto;right:0}}.date-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.date-month{font-size:.9rem;font-weight:600;color:var(--text)}.date-nav{display:flex;padding:.3rem;border:0;background:none;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer}.date-nav:hover{color:var(--accent-strong);background:var(--bg-hover)}.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,2.25rem);gap:2px}.date-weekdays{margin-bottom:.25rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.date-weekdays span{text-align:center}.date-cell{height:2.25rem;display:flex;align-items:center;justify-content:center;font:inherit;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--text-muted);background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.date-cell.is-empty{cursor:default}.date-cell:hover:not(:disabled):not(.is-empty){background:var(--bg-hover);color:var(--text)}.date-cell:focus-visible{outline:none;border-color:var(--accent);color:var(--text)}.date-cell.is-today{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.date-cell.is-selected{background:rgb(var(--accent-rgb) / .16);border-color:rgb(var(--accent-rgb) / .5);color:var(--accent-strong);font-weight:600}.date-cell:disabled{opacity:.3;cursor:not-allowed}.date-time-row{display:flex;align-items:flex-start;gap:.5rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.date-time-label{font-size:.78rem;color:var(--text-muted)}.date-done{margin-left:auto;padding:.35rem .6rem;font-size:.8rem}.time-field{display:flex;gap:.35rem;flex:1}.time-col{display:flex;flex-direction:column;gap:2px;max-height:9.5rem;overflow-y:auto;padding:.2rem .1rem .2rem .2rem;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm)}.time-option{flex:none;padding:.3rem .6rem;font:inherit;font-size:.82rem;font-variant-numeric:tabular-nums;text-align:center;color:var(--text-muted);background:none;border:1px solid transparent;border-radius:calc(var(--radius-sm) - 4px);cursor:pointer}.time-option:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.time-option:focus-visible{outline:none;border-color:var(--accent);color:var(--text)}.time-option.is-selected{background:rgb(var(--accent-rgb) / .16);border-color:rgb(var(--accent-rgb) / .5);color:var(--accent-strong);font-weight:600}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-muted)}input::placeholder,textarea::placeholder{color:var(--text-dim);opacity:.75}input:hover,textarea:hover{border-color:color-mix(in srgb,var(--text-dim) 60%,transparent)}input:focus,textarea:focus{outline:none;border-color:var(--accent);background:var(--glass-strong);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .22)}textarea{resize:vertical}.form-error{color:var(--bad);font-size:.85rem}input.input-invalid,textarea.input-invalid{border-color:var(--bad)}input.input-invalid:focus,textarea.input-invalid:focus{border-color:var(--bad);box-shadow:0 0 0 3px rgb(var(--bad-rgb) / .22)}.password-field{position:relative;display:flex}.password-field input{flex:1;padding-right:2.75rem}.password-field .password-reveal{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;padding:0 .75rem;border:0;background:none;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s ease}.password-field .password-reveal:hover{color:var(--accent-strong)}.password-field .password-reveal:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;color:var(--accent-strong)}.field-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.char-count{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.form-saved{color:var(--accent-strong);font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem}.profile-form{display:flex;flex-direction:column;gap:1rem;background:linear-gradient(180deg,var(--glass-strong),var(--glass));border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.6rem;box-shadow:var(--shadow-card)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:560px){.form-row{grid-template-columns:1fr}}.form-sections{display:flex;flex-direction:column;gap:1.4rem}.form-section{display:flex;flex-direction:column;gap:1rem}.links-section{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--border);padding-top:1.15rem}.links-section h4,.links-section p{margin:0}.form-foot{display:flex;align-items:center;gap:1rem}.form-foot .form-error,.form-foot .form-saved{margin:0}.photo-section{display:flex;flex-direction:column;gap:.75rem;border-bottom:1px solid var(--border);padding-bottom:1.4rem}.photo-section h4{margin:0}.photo-row{display:flex;align-items:center;gap:1.4rem}.avatar{width:96px;height:96px;border-radius:50%;padding:2px;background:linear-gradient(160deg,var(--gold-300),var(--gold-400) 60%,var(--ink-700));box-shadow:var(--glow-accent);flex:none;overflow:hidden}.avatar img,.avatar .avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--bg-raised)}.avatar .avatar-fallback{font-size:2rem;font-weight:700;color:var(--text-muted)}.photo-actions{display:flex;flex-direction:column;gap:.5rem;min-width:0}.photo-actions p{margin:0}.photo-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.spinner{width:.9em;height:.9em;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.badges{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.badge{display:inline-block;padding:.18rem .7rem;border-radius:999px;font-size:.75rem;font-weight:550;letter-spacing:.02em;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;background:var(--glass)}.badge-role{color:var(--accent-strong);border-color:rgb(var(--accent-rgb) / .45);background:rgb(var(--accent-rgb) / .1)}.panel{background:linear-gradient(180deg,var(--glass-strong),var(--glass));border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.4rem;box-shadow:var(--shadow-card);transition:border-color .3s var(--ease-out)}.panel:hover{border-color:color-mix(in srgb,var(--border) 60%,var(--accent))}.panel-soon{border-style:dashed;color:var(--text-muted);box-shadow:none;background:var(--glass)}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem}.events-actions{margin-bottom:1.25rem}.event-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.event-card{background:linear-gradient(180deg,var(--glass-strong),var(--glass));border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.35rem;transition:border-color .3s var(--ease-out)}.event-card:hover{border-color:color-mix(in srgb,var(--border) 60%,var(--accent))}.event-card h3{margin:.15rem 0 0}.event-card p{margin:0}.event-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.event-when{font-size:.82rem;color:var(--accent-strong);font-variant-numeric:tabular-nums}.event-chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{font-size:.7rem;letter-spacing:.02em;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);background:var(--glass);white-space:nowrap}.chip-curated{color:var(--accent-strong);border-color:color-mix(in srgb,var(--border) 40%,var(--accent))}.chip-host{color:var(--text);border-color:color-mix(in srgb,var(--border) 55%,var(--accent))}.room-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.room-card{background:linear-gradient(180deg,var(--glass-strong),var(--glass));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:border-color .3s var(--ease-out)}.room-card:hover{border-color:color-mix(in srgb,var(--border) 60%,var(--accent))}.room-card-button{display:flex;flex-direction:column;gap:.35rem;width:100%;padding:1.1rem 1.3rem;background:none;border:0;border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer}.room-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.room-chips{display:flex;gap:.4rem;flex-wrap:wrap}.room-card-title{font-size:1.05rem;font-weight:600}.chip-event{color:var(--accent-strong);border-color:color-mix(in srgb,var(--border) 40%,var(--accent))}.room-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem}.room-title-block{margin:1rem 0 .5rem;display:flex;flex-direction:column;gap:.25rem}.room-title-block h2,.room-title-block p{margin:0}.socket-status{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.socket-open{color:var(--accent-strong)}.socket-connecting,.socket-closed{color:var(--text-muted)}.notice{margin:.75rem 0 0;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm, 10px);background:var(--glass);color:var(--text-muted);font-size:.85rem}.message-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.8rem}.message{display:flex;flex-direction:column;gap:.2rem}.message-head{display:flex;align-items:baseline;gap:.5rem}.message-sender{font-weight:600;font-size:.9rem}.message-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.composer{display:flex;gap:.6rem;margin-top:1.2rem}.composer input{flex:1}.composer input:disabled{opacity:.55;cursor:not-allowed}.checkbox-row{flex-direction:row;align-items:flex-start;gap:.6rem;cursor:pointer}.checkbox-row input[type=checkbox]{margin-top:.15rem;width:1rem;height:1rem;accent-color:var(--accent);flex:none;cursor:pointer}.checkbox-row>span{display:flex;flex-direction:column;gap:.2rem}.trust-card{display:flex;gap:.9rem;align-items:flex-start}.trust-card h3{display:flex;align-items:center;gap:.55rem}.status-dot{position:relative;width:9px;height:9px;border-radius:50%;flex:none}.status-dot-ok{background:var(--ok);box-shadow:0 0 14px rgb(var(--accent-rgb) / .8)}.status-dot-warn{background:var(--warn)}.status-dot-warn:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--warn);animation:pulse-ring 2.2s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.9);opacity:0}}@media(prefers-reduced-motion:reduce){.status-dot-warn:after{animation:none;opacity:0}}.prompt-card{display:flex;flex-direction:column;gap:.6rem}.skeleton{display:flex;flex-direction:column;gap:.6rem;padding:.5rem 0;width:min(420px,90vw)}.skeleton-line{height:.9rem;border-radius:6px;background:linear-gradient(90deg,var(--glass-strong) 25%,var(--bg-hover) 50%,var(--glass-strong) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton-line:nth-child(2n){width:85%}.skeleton-line:nth-child(3n){width:65%}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.state-box{background:var(--glass);border:1px dashed var(--border);border-radius:var(--radius);padding:1.75rem;max-width:460px;display:flex;flex-direction:column;gap:.4rem}.state-error{border-color:var(--bad);border-style:solid}.login-card{background:linear-gradient(180deg,var(--glass-strong),var(--glass));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);border-radius:20px;padding:2rem 1.9rem;width:min(400px,100%);display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-card)}.login-card .btn{align-self:stretch}.login-brand{display:flex;justify-content:center;color:var(--text)}.theme-toggle-floating{position:fixed;top:1.25rem;right:1.25rem;z-index:10}@media(prefers-reduced-motion:reduce){.btn-primary,.btn-primary:before,.btn-primary:after{animation:none}}.chip-ok{color:var(--ok);border-color:color-mix(in srgb,var(--border) 45%,var(--ok))}.chip-warn{color:var(--warn);border-color:color-mix(in srgb,var(--border) 45%,var(--warn))}.chip-wait{color:var(--muted)}.chip-muted{color:var(--muted);opacity:.75}.chip-pending{color:var(--muted)}.chip-accepted{color:var(--ok);border-color:color-mix(in srgb,var(--border) 45%,var(--ok))}.chip-declined{color:var(--muted);opacity:.75}.btn-small{padding:.4rem .75rem;font-size:.85rem}.btn-danger{color:var(--bad);border-color:color-mix(in srgb,var(--border) 45%,var(--bad))}.btn-danger:not(:disabled):hover{background:rgb(var(--bad-rgb) / .08)}.register-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.35rem}.tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.9rem}.tabs-sub{margin-top:-.4rem}.tab{padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font:inherit;font-size:.9rem;cursor:pointer}.tab.active{color:var(--text);border-color:color-mix(in srgb,var(--border) 45%,var(--accent));background:color-mix(in srgb,var(--surface) 80%,var(--accent))}.conn-list,.door-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.conn-row{display:flex;gap:.9rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.conn-avatar{width:44px;height:44px;border-radius:999px;object-fit:cover;flex:0 0 auto}.conn-avatar-fallback{display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 70%,var(--accent));color:var(--text);font-size:.9rem;font-weight:600}.conn-body{flex:1 1 auto;display:grid;gap:.35rem}.conn-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.conn-head h3{margin:0;font-size:1rem}.conn-message{margin:0;font-size:.92rem;color:var(--muted)}.conn-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.sync-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.55rem .85rem;margin-bottom:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.9rem}.sync-dot{width:8px;height:8px;border-radius:999px;background:var(--ok);flex:0 0 auto}.sync-bar-offline{border-color:color-mix(in srgb,var(--border) 45%,var(--warn))}.sync-bar-offline .sync-dot{background:var(--warn)}.door-row{display:flex;gap:.9rem;align-items:flex-start;justify-content:space-between;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.door-row-done{opacity:.72}.door-body{display:grid;gap:.35rem;min-width:0}.door-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.door-head h3{margin:0;font-size:1rem}.door-chips{display:flex;gap:.35rem;flex-wrap:wrap}.door-actions{display:flex;gap:.5rem;align-items:center;flex:0 0 auto}.door-queue{margin-top:1rem;padding:.75rem 1rem;border:1px dashed var(--border);border-radius:var(--radius)}.door-queue ul{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.2rem}.data-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.85rem 0;border-top:1px solid var(--border)}.data-row>div{display:grid;gap:.2rem}.data-row-danger{border-top-color:color-mix(in srgb,var(--border) 55%,var(--bad))}.data-erase-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.data-erase-controls input{max-width:12rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.city-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--glass)}.city-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-top:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.city-row:first-child{border-top:none}.city-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.city-name{font-weight:600}.city-count{font-size:.85rem}.btn-ghost.is-on{background:color-mix(in srgb,var(--accent-strong) 16%,transparent);border-color:color-mix(in srgb,var(--accent-strong) 40%,transparent);color:var(--accent-strong)}.note{font-size:.85rem;max-width:56ch}
