@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:ui-rounded,-apple-system,BlinkMacSystemFont,Inter Variable,Inter,sans-serif;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;--radius: .45rem;--background: #f5f5f4;--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted-surface: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.577 .245 27.325);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--chart-yellow: oklch(.795 .184 86.047);--header: #ffffff;--yellow: var(--chart-yellow);--yellow-strong: oklch(.681 .162 75.834);--brightness-track: #fef9c3;--brightness-fill: var(--yellow);--brightness-thumb: var(--yellow-strong);--brightness-text: #713f12;--ink: var(--foreground);--ink-soft: oklch(.269 0 0);--muted: var(--muted-foreground);--muted-soft: oklch(.708 0 0);--line: var(--border);--surface: var(--card);--surface-muted: var(--muted-surface);--surface-subtle: var(--background);--focus: var(--ring);--danger: var(--destructive);--danger-line: oklch(.885 .062 18.334);--danger-surface: oklch(.971 .013 17.38);--warning: oklch(.421 .095 57.708);--warning-line: oklch(.828 .189 84.429);--warning-surface: oklch(.987 .026 102.212);--shadow: rgb(0 0 0 / .1);background:var(--background)}*{box-sizing:border-box}html,body,#root{background:var(--background)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overscroll-behavior-y:none}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}h1,h2,.wordmark{font-family:inherit;font-weight:600}.button{min-height:44px;border:1px solid transparent;border-radius:13px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible,.input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.62}.button--primary{background:var(--primary);color:var(--primary-foreground);border-color:transparent;width:100%}.button--secondary,.button--icon{background:var(--secondary);color:var(--secondary-foreground);border-color:transparent}.button--ghost{background:transparent;color:var(--muted)}.button--icon{width:40px;min-height:40px;padding:0;border-radius:13px;flex:0 0 auto}.icon-button{width:40px;min-height:40px;padding:0;border-radius:50%}.input{width:100%;height:44px;border:1px solid transparent;border-radius:13px;background:color-mix(in oklab,var(--input) 50%,transparent);color:var(--ink);padding:0 12px}.input::placeholder{color:var(--muted-soft)}.input[aria-invalid=true]{border-color:var(--danger)}.card{background:var(--card);color:var(--card-foreground);border:0;border-radius:19px;box-shadow:0 1px 3px var(--shadow),0 1px 2px -1px var(--shadow)}.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--yellow);box-shadow:0 8px 25px #eab3083d}.brand-mark--small{width:34px;height:34px;border-radius:10px;box-shadow:none}.eyebrow{color:#8a6d00;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.auth-layout{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:7vw;align-items:center;padding:max(clamp(32px,6vw,92px),env(safe-area-inset-top)) max(clamp(32px,6vw,92px),env(safe-area-inset-right)) max(clamp(32px,6vw,92px),env(safe-area-inset-bottom)) max(clamp(32px,6vw,92px),env(safe-area-inset-left));max-width:1240px;margin:0 auto}.auth-intro{max-width:570px}.auth-intro .brand-mark{margin-bottom:50px}.auth-intro h1{margin-top:12px;font-size:clamp(43px,5.5vw,76px);line-height:.98;letter-spacing:-.055em;max-width:600px}.auth-copy{margin-top:24px;max-width:480px;color:var(--muted);font-size:18px;line-height:1.65}.auth-card{padding:32px}.card-heading{margin-bottom:26px}.card-heading h2{font-size:25px;font-weight:600;letter-spacing:-.025em}.card-heading p{color:var(--muted);margin-top:7px}.google-button{width:100%}.separator{display:flex;align-items:center;gap:12px;color:var(--muted-soft);font-size:12px;margin:22px 0}.separator:before,.separator:after{content:"";height:1px;flex:1;background:var(--line)}.field{display:grid;gap:7px;margin-bottom:16px;color:var(--ink-soft);font-size:14px;font-weight:600}.field-error{color:var(--danger);font-size:12px;font-weight:500}.alert{border:1px solid var(--danger-line);background:var(--danger-surface);color:var(--danger);border-radius:13px;padding:11px 12px;margin-bottom:16px;display:flex;gap:8px;align-items:flex-start;font-size:14px}.auth-switch{display:flex;justify-content:center;gap:5px;margin-top:20px;color:var(--muted);font-size:14px}.auth-switch button{border:0;padding:0;background:transparent;color:#725a00;font-weight:700;cursor:pointer}.auth-switch button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.auth-switch button:disabled{cursor:wait;opacity:.62}.centered-layout{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.message-card{width:min(100%,480px);padding:36px;text-align:center}.message-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin:0 auto 22px;color:#3f3500;background:#fef08a}.message-card h1{font-size:29px;margin:10px 0 12px;letter-spacing:-.035em}.message-card>p:not(.eyebrow){color:var(--muted);line-height:1.6;margin-bottom:26px}.message-card .button{width:auto}.load-error{text-align:center}.load-error h1{font-size:26px}.load-error p{color:var(--muted);margin-top:8px}.spinner{width:26px;height:26px;border:3px solid #e7e5e4;border-top-color:var(--yellow-strong);border-radius:50%;animation:spin .75s linear infinite}.app-shell{min-height:100vh;min-height:100dvh;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);background:var(--background)}.app-header{min-height:calc(70px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) clamp(20px,4vw,64px) 0;border-bottom:1px solid var(--line);background:var(--header)}.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:18px}.account-actions{display:flex;align-items:center;gap:12px}.account-email{color:var(--muted);font-size:14px}.dashboard{width:min(100% - 40px,940px);margin:0 auto;padding:70px 0 calc(70px + env(safe-area-inset-bottom))}.offline-banner{margin-bottom:24px;border:1px solid var(--warning-line);border-radius:13px;padding:12px 14px;color:var(--warning);background:var(--warning-surface);font-size:14px;font-weight:600}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.dashboard-heading h1{margin-top:8px;font-size:clamp(34px,5vw,50px);letter-spacing:-.045em}.dashboard-heading p:not(.eyebrow){color:var(--muted);margin-top:10px}.connection-card{padding:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px}.section-heading h2{margin-top:6px;font-size:22px;letter-spacing:-.02em}.connection-list{border-top:1px solid var(--line)}.connection-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 0}.connection-item+.connection-item{border-top:1px solid var(--line)}.connection-icon{width:38px;height:38px;border:1px solid var(--line);border-radius:13px;display:grid;place-items:center;color:var(--muted);background:var(--surface-subtle)}.connection-copy{display:grid;gap:3px}.connection-copy>span{font-weight:600}.connection-copy small{color:var(--muted);font-size:13px}.status-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:13px;padding:6px 11px;font-size:12px;font-weight:500;line-height:1.1;text-transform:capitalize}.status-badge--green{color:#14532d;background:#dcfce7}.status-badge--neutral{color:#44403c;background:#e7e5e4}.status-badge--amber{color:#713f12;background:#fef3c7}.status-badge--red{color:#7f1d1d;background:#fee2e2}.status-badge--violet{color:#4c1d95;background:#ede9fe}.lights-card{margin-top:24px;padding:28px}.lights-heading{gap:24px}.lights-unavailable{min-height:112px;display:grid;place-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:14px;text-align:center}.light-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.light-row{display:grid;grid-template-columns:auto minmax(140px,1fr) minmax(300px,1.35fr) auto;align-items:center;gap:15px;padding:18px 0}.light-row+.light-row{border-top:1px solid var(--line)}.light-row--disabled{opacity:.5}.light-row--off>:not(.power-button){opacity:.5}.light-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;color:var(--muted-soft);background:var(--surface-subtle)}.light-icon--on{border-color:#fde68a;color:#725a00;background:#fef9c3}.light-copy{min-width:0;display:grid;gap:3px}.light-copy>span{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.light-copy small{color:var(--muted);font-size:13px}.power-button{grid-column:4;grid-row:1;width:40px;min-height:40px}.power-button--on{border-color:#fde68a;color:#725a00;background:#fef9c3}.brightness{grid-column:3;grid-row:1;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.brightness--unavailable{grid-template-columns:1fr}.brightness-control{grid-column:3;grid-row:1;min-width:0}.brightness-input-row{min-width:0}.brightness-scrubber{position:relative;min-width:0;height:40px;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:0;border-radius:13px;padding:0 12px;color:var(--brightness-text);background:var(--brightness-track);font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer;isolation:isolate}.brightness-scrubber-fill{position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--scrubber-value);background:var(--brightness-fill);transition:width .1s ease-out}.brightness-scrubber-label,.brightness-scrubber output{position:relative;pointer-events:none}.brightness-scrubber-thumb{position:absolute;top:9px;bottom:9px;left:clamp(2px,var(--scrubber-value),calc(100% - 2px));width:2px;border-radius:2px;background:var(--brightness-thumb);transform:translate(-1px);transition:left .1s ease-out;pointer-events:none}.brightness-scrubber--immediate .brightness-scrubber-fill,.brightness-scrubber--immediate .brightness-scrubber-thumb{transition-duration:0ms}.brightness-scrubber input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.brightness-scrubber:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.brightness-scrubber:has(input:disabled){cursor:not-allowed;opacity:.55}.brightness-scrubber input[type=range]:disabled{cursor:not-allowed}.light-command-error{grid-column:2 / -1;color:var(--danger);font-size:12px}.members-card{margin-top:24px;padding:28px}.members-heading{gap:24px}.members-heading p:not(.eyebrow){color:var(--muted);margin-top:7px;font-size:14px}.member-count{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:12px;font-weight:700}.members-loading{min-height:136px;display:grid;place-items:center;border-top:1px solid var(--line)}.members-error{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);color:var(--danger);font-size:14px}.members-empty{border-top:1px solid var(--line);padding:32px 0 8px;color:var(--muted);text-align:center}.member-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.member-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(220px,1.45fr) minmax(120px,auto);align-items:center;gap:24px;padding:20px 0}.member-row+.member-row{border-top:1px solid var(--line)}.member-identity{min-width:0;display:flex;align-items:center;gap:12px}.member-avatar{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:var(--surface-subtle)}.member-identity>div{min-width:0;display:grid;gap:3px}.member-email{overflow:hidden;color:var(--ink);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.member-role{color:var(--muted);font-size:12px}.member-access{min-width:0;display:grid;justify-items:start;gap:8px}.member-history-empty{color:var(--muted);font-size:12px}.member-action{display:grid;justify-items:end;gap:6px}.member-action .button{min-height:38px;padding:0 12px;font-size:13px}.member-action--revoke{color:var(--danger);border-color:var(--danger-line)}.member-action-error{color:var(--danger);font-size:11px}.card:has(>:is(.connection-list,.light-list,.member-list):last-child){padding-bottom:0}.tooltip-content{z-index:50;max-width:min(260px,calc(100vw - 24px));border-radius:8px;padding:6px 9px;color:var(--primary-foreground);background:var(--primary);box-shadow:0 4px 12px var(--shadow);font-size:12px;font-weight:500;line-height:1.35;pointer-events:none}@media (hover: hover) and (pointer: fine){.button--primary:hover:not(:disabled){opacity:.9}.button--secondary:hover:not(:disabled),.button--icon:hover:not(:disabled),.button--ghost:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}.power-button--on:hover:not(:disabled){border-color:#fde68a;color:#725a00;background:#fef9c3}.auth-switch button:hover:not(:disabled){text-decoration:underline}.member-action--revoke:hover:not(:disabled){background:var(--danger-surface)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){:root{--background: #0f0f0f;--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted-surface: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / .1);--input: oklch(1 0 0 / .15);--ring: oklch(.556 0 0);--header: #252525;--ink: var(--foreground);--ink-soft: oklch(.922 0 0);--muted: var(--muted-foreground);--muted-soft: oklch(.556 0 0);--line: var(--border);--surface: var(--card);--surface-muted: var(--muted-surface);--surface-subtle: var(--background);--focus: var(--ring);--danger: var(--destructive);--danger-line: oklch(.396 .141 25.723);--danger-surface: oklch(.258 .092 26.042);--warning: oklch(.905 .182 98.111);--warning-line: oklch(.554 .135 66.442);--warning-surface: oklch(.286 .066 53.813);--shadow: rgb(0 0 0 / .1)}.brand-mark{color:#fff}.eyebrow,.auth-switch button{color:#fde68a}.message-icon,.light-icon--on,.power-button--on{color:#fef08a;background:#422006;border-color:#854d0e}.spinner{border-color:#44403c;border-top-color:#fde047}.status-badge--green{color:#bbf7d0;background:#14532d}.status-badge--neutral{color:#d6d3d1;background:#44403c}.status-badge--amber{color:#fde68a;background:#713f12}.status-badge--red{color:#fecaca;background:#7f1d1d}.status-badge--violet{color:#ddd6fe;background:#4c1d95}}@media (prefers-color-scheme: dark) and (hover: hover) and (pointer: fine){.power-button--on:hover:not(:disabled){color:#fef08a;background:#422006;border-color:#854d0e}}@media (max-width: 760px){.auth-layout{grid-template-columns:1fr;gap:16px;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));align-content:start}.auth-intro{display:flex;align-items:center;gap:14px}.auth-intro .brand-mark{flex:0 0 auto;margin-bottom:0}.auth-intro h1{margin-top:0;font-size:clamp(26px,8vw,32px);line-height:1;letter-spacing:-.04em}.auth-card{padding:16px}.card-heading{margin-bottom:16px}.separator{margin:14px 0}.field{margin-bottom:12px}.auth-switch{margin-top:16px}.account-email{display:none}.app-header{position:sticky;z-index:20;top:0;min-height:calc(60px + env(safe-area-inset-top));padding-right:12px;padding-left:12px}.dashboard{width:min(100% - 24px,940px);padding:28px 0 calc(28px + env(safe-area-inset-bottom))}.dashboard-heading{align-items:flex-start;flex-direction:column;margin-bottom:16px}.connection-card{padding:0;overflow:hidden}.connection-card>.section-heading{padding:12px}.section-heading{padding-bottom:12px}.connection-item{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:10px 12px}.connection-icon{width:36px;height:36px}.connection-copy{min-width:0;gap:1px}.connection-copy>span,.connection-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-item .status-badge{grid-column:3;justify-self:end}.lights-card{margin-top:16px;padding:12px 0 0;overflow:hidden}.lights-heading,.lights-unavailable{padding-right:12px;padding-left:12px}.light-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 10px;padding:10px 12px}.light-icon{display:none}.light-copy{grid-column:1;grid-row:1}.power-button{grid-column:3;grid-row:1;width:44px;min-height:44px}.brightness-control{grid-column:1 / -1;grid-row:2;width:100%}.brightness--unavailable{grid-column:2;grid-row:1;width:auto;white-space:nowrap}.brightness-scrubber{height:44px}.brightness{text-align:left}.light-command-error{grid-column:1 / -1;grid-row:3}.members-card{margin-top:16px;padding:0;overflow:hidden}.members-card>.section-heading{padding:12px}.members-loading,.members-error,.members-empty{padding-right:12px;padding-left:12px}.member-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:10px 12px}.member-identity{gap:8px}.member-avatar{width:34px;height:34px}.member-access{grid-column:1;gap:5px}.member-action{grid-column:2;grid-row:1 / span 2}.member-action .button{min-height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
