:root{color:#17241e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:#9da99f #e6e6dc;scrollbar-width:thin;--green:#24483a;--paper:#fcfbf6;--page:#f1f0e8;--ink:#17241e;--muted:#6c766f;--line:#d5d9cf;--signal:#d5683d;--danger:#a23e32;--focus:#b94e27;--radius:4px;background:#f1f0e8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#e6e6dc}::-webkit-scrollbar-thumb{background:#9da99f;border:2px solid #e6e6dc;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#748278}.access-shell{background-color:var(--page);background-image:linear-gradient(#24483a06 1px,#0000 1px),linear-gradient(90deg,#24483a06 1px,#0000 1px);background-size:34px 34px;place-items:center;min-height:100svh;padding:48px 24px;display:grid;position:relative;overflow:hidden}.access-frame{z-index:1;width:min(100%,480px);position:relative}.brand-row,.brand-lockup,.page-footer,.eyebrow,.primary-action,.discord-action,.identity-card,.discord-id-row,.secondary-action,.password-control{align-items:center;display:flex}.brand-row{justify-content:space-between;margin:0 0 20px}.brand-lockup{gap:11px}.brand-mark{background:var(--green);width:34px;height:34px;display:block;position:relative;overflow:hidden}.brand-mark:before{background:var(--signal);content:"";width:44px;height:6px;position:absolute;top:7px;left:-5px;transform:rotate(-32deg)}.brand-mark span{border:1px solid #fcfbf6cc;width:7px;height:7px;position:absolute;bottom:6px;right:6px}.brand-name{color:var(--green);letter-spacing:.08em;font-family:Arial Narrow,Roboto Condensed,Helvetica Neue,sans-serif;font-size:19px;font-weight:800;font-stretch:75%}.header-code,.eyebrow,.access-form label,.page-footer,.discord-id-row>span{letter-spacing:.09em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:650}.header-code{color:var(--muted);text-align:right}.header-code span{color:var(--signal);padding:0 3px}.access-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-height:390px;padding:48px 46px 42px;position:relative;overflow:hidden}.panel-rule{background:var(--green);width:100%;height:4px;position:absolute;top:0;left:0}.panel-rule span{background:var(--signal);width:64px;height:4px;display:block}.eyebrow{color:var(--muted);gap:9px;margin-bottom:22px}.status-dot{background:var(--signal);border-radius:50%;width:7px;height:7px}.status-dot.is-connected{background:var(--green)}h1{color:var(--ink);letter-spacing:-.035em;margin:0;font-family:Arial Narrow,Roboto Condensed,Helvetica Neue,sans-serif;font-size:clamp(34px,8vw,42px);font-weight:750;font-stretch:75%;line-height:1.02}.intro-copy{color:var(--muted);margin:14px 0 31px;font-size:14px;line-height:1.6}.access-form label{color:#526158;margin-bottom:9px;display:block}.password-control{border-radius:var(--radius);background:#fffefa;border:1px solid #bdc7bd;height:56px;transition:border-color .14s,box-shadow .14s}.password-control:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #d5683d47}.password-control.has-error{border-color:var(--danger)}.password-control.has-error:focus-within{box-shadow:0 0 0 2px #a23e3233}.password-control input{width:100%;min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0 15px;font-size:15px}.password-control input::placeholder{color:#8a938b;opacity:1}.password-control input:focus-visible{outline:0}.visibility-toggle{border-radius:var(--radius);color:#5f6e64;cursor:pointer;background:0 0;border:0;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.visibility-toggle:hover{color:var(--green);background:#24483a0f}.visibility-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:19px;height:19px}.form-feedback{min-height:34px;padding-top:8px}.error-copy{color:var(--danger);margin:0;font-size:12px;line-height:1.35}.primary-action,.discord-action{border:1px solid var(--green);border-radius:var(--radius);width:100%;min-height:52px;color:var(--paper);background:var(--green);cursor:pointer;justify-content:space-between;padding:0 17px;font-size:14px;font-weight:650;text-decoration:none;transition:background-color .15s,border-color .15s}.primary-action:hover:not(:disabled),.discord-action:hover{background:#18392d;border-color:#18392d}.primary-action:active:not(:disabled),.discord-action:active{background:#102b20}.primary-action:disabled{cursor:wait;opacity:.78}.arrow-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:20px;height:20px}.spinner{border:2px solid #fcfbf666;border-top-color:var(--paper);border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{min-height:290px;color:var(--muted);place-items:center;font-size:14px;display:grid}.discord-action{justify-content:flex-start;gap:13px;margin-top:37px}.discord-action span{flex:1}.discord-icon{fill:currentColor;flex:0 0 23px;width:23px;height:23px}.setup-notice,.page-message{border-left:3px solid var(--signal);color:#48564d;background:#f1f0e8;margin:29px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.page-message{border-color:var(--danger);color:#78392f}.identity-card{border:1px solid var(--line);background:#fffefa;gap:14px;margin:30px 0 20px;padding:17px}.avatar{object-fit:cover;border-radius:50%;flex:0 0 56px;width:56px;height:56px}.avatar-fallback{color:var(--paper);background:var(--green);place-items:center;font-size:22px;display:grid}.identity-name{gap:5px;min-width:0;display:grid}.identity-name strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.identity-name span{color:var(--muted);font-size:13px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}:is(.access-frame:has(.dashboard-heading),.access-frame:has(.server-detail-heading)){width:min(100%,860px)}.access-panel:has(.dashboard-heading){padding:42px 42px 34px}.access-panel:has(.server-detail-heading){padding:32px 42px 34px}.account-strip{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:54px;padding-bottom:15px;display:flex}.account-avatar{object-fit:cover;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.account-avatar-fallback{color:var(--paper);background:var(--green);font-size:16px;font-weight:700}.account-name{min-width:0;color:var(--ink);gap:3px;display:grid}.account-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.account-name small{color:var(--muted);font-size:11px}.sign-out-action{border:1px solid var(--line);border-radius:var(--radius);min-height:34px;color:var(--muted);cursor:pointer;background:0 0;margin-left:auto;padding:0 10px;font-size:11px}.sign-out-action:hover:not(:disabled){color:var(--green);background:#24483a0f}.sign-out-action:disabled{cursor:wait;opacity:.65}.dashboard-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:32px 0 20px;display:flex}.dashboard-heading .eyebrow{margin:0 0 9px}.dashboard-heading h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-family:Arial Narrow,Roboto Condensed,Helvetica Neue,sans-serif;font-size:28px}.dashboard-heading h1{font-size:clamp(34px,7vw,42px)}.dashboard-heading .intro-copy{max-width:450px;margin:8px 0 0}.refresh-action,.secondary-link{border:1px solid var(--line);border-radius:var(--radius);min-height:40px;color:var(--green);cursor:pointer;background:0 0;padding:0 12px;font-size:12px;font-weight:650;text-decoration:none}.refresh-action:hover:not(:disabled),.secondary-link:hover{background:#24483a0f}.refresh-action:disabled{cursor:wait;opacity:.65}.loading-servers{border:1px solid var(--line);min-height:96px;color:var(--muted);background:#fffefa;place-items:center;font-size:13px;display:grid}.empty-servers{color:var(--ink);background:#fffefa;border:1px dashed #bdc7bd;padding:20px}.empty-servers p{color:var(--muted);margin:8px 0 14px;font-size:13px;line-height:1.5}.secondary-link{align-items:center;display:inline-flex}.server-setup{grid-template-columns:minmax(260px,.92fr) minmax(300px,1.08fr);align-items:start;gap:20px;display:grid}.server-list{gap:8px;display:grid}.server-row{border:1px solid var(--line);width:100%;min-width:0;min-height:64px;color:var(--ink);text-align:left;cursor:pointer;background:#fffefa;align-items:center;gap:12px;padding:9px 13px;transition:border-color .14s,background-color .14s;display:flex}.server-row:hover{background:#f8f8f1;border-color:#97a99b}.server-row:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.server-avatar{object-fit:cover;border-radius:8px;flex:0 0 38px;width:38px;height:38px}.server-avatar-fallback{color:var(--paper);background:var(--green);place-items:center;font-size:16px;font-weight:700;display:grid}.server-name{flex:1;gap:4px;min-width:0;display:grid}.server-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.server-name small{color:var(--muted);font-size:10px}.server-state{color:#6e5c32;flex:none;align-items:center;gap:7px;font-size:11px;font-weight:600;display:inline-flex}.server-state .status-dot{background:var(--signal);width:6px;height:6px}.server-state.is-installed{color:var(--green)}.server-state.is-installed .status-dot{background:var(--green)}.server-row>.arrow-icon{color:#708075;flex:0 0 18px}.back-link{border:1px solid var(--line);border-radius:var(--radius);min-height:40px;color:var(--green);cursor:pointer;background:#fffefa;align-items:center;gap:8px;margin:16px 0 13px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.back-link:hover{border-color:var(--green);background:#24483a0f}.back-link span{font-size:17px;line-height:1}.server-detail-heading{align-items:center;gap:15px;margin:4px 0 25px;display:flex}.server-detail-heading .eyebrow{margin:0 0 5px}.server-detail-heading h1{overflow-wrap:anywhere;margin:0;font-size:clamp(30px,6vw,38px)}.detail-server-avatar{object-fit:cover;border-radius:11px;flex:0 0 54px;width:54px;height:54px}.detail-server-avatar-fallback{color:var(--paper);background:var(--green);place-items:center;font-size:22px;font-weight:700;display:grid}.install-panel{border:1px solid var(--line);background:#fffefa;max-width:560px;padding:22px}.install-panel h2,.notification-section-heading h2{color:var(--ink);margin:0;font-size:17px}.install-panel>p,.form-intro>p,.notification-section-heading p{color:var(--muted);margin:7px 0 17px;font-size:13px;line-height:1.5}.install-primary{margin:20px 0 12px}.install-panel .install-hint{margin-top:12px}.features-panel{border:1px solid var(--line);background:#fffefa;margin-bottom:18px;padding:16px}.features-heading h2{color:var(--ink);margin:0;font-size:17px}.features-heading p{color:var(--muted);margin:5px 0 14px;font-size:12px;line-height:1.5}.features-table{min-width:500px}.features-table th:last-child,.features-table td:last-child{text-align:center;width:100px}.features-table td code{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.feature-switch{cursor:pointer;align-items:center;width:42px;height:24px;display:inline-flex;position:relative}.feature-switch input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.switch-track{background:#e4e8e1;border:1px solid #89968d;border-radius:999px;width:42px;height:24px;transition:background-color .14s,border-color .14s;display:block;position:relative}.switch-track:after{content:"";background:#fffefa;border-radius:50%;width:16px;height:16px;transition:transform .14s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #17241e33}.feature-switch input:checked+.switch-track{border-color:var(--green);background:var(--green)}.feature-switch input:checked+.switch-track:after{transform:translate(18px)}.feature-switch input:focus-visible+.switch-track{outline:3px solid var(--focus);outline-offset:3px}.feature-switch input:disabled+.switch-track{cursor:not-allowed;opacity:.6}.features-feedback{min-height:24px;padding-top:8px}.features-actions{justify-content:flex-end;display:flex}.feature-save{width:min(100%,220px);min-height:48px;font-size:12px}.installed-label .status-dot{width:6px;height:6px}.install-action{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;min-height:34px;padding:0 8px;text-decoration:none}.install-action:hover{border-color:var(--green);background:#24483a0f}.install-action .arrow-icon{width:15px;height:15px}.calendar-form{border:1px solid var(--line);background:#fffefa;padding:16px}.form-intro{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.form-intro .section-caption{margin-bottom:4px}.form-intro>p{text-align:right;margin:0 0 19px}.section-caption{color:var(--muted);letter-spacing:.08em;margin:0 0 18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:650}.calendar-form label{color:#526158;letter-spacing:.07em;margin:0 0 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:650;display:block}.calendar-form>select,.reminder-add-row input,.reminder-add-row select{border-radius:var(--radius);min-width:0;height:42px;color:var(--ink);background:#fffefa;border:1px solid #bdc7bd}.calendar-form>select{width:100%;margin-bottom:18px;padding:0 10px}.notification-section-heading{justify-content:space-between;align-items:end;gap:16px;margin:2px 0 12px;display:flex}.notification-section-heading p{margin:4px 0 0;font-size:12px}.notification-count{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.reminder-add-row{grid-template-columns:minmax(70px,.5fr) minmax(150px,1fr) auto;gap:8px;margin-bottom:13px;display:grid}.reminder-add-row input,.reminder-add-row select{padding:0 9px}.add-reminder-button{border:1px solid var(--line);border-radius:var(--radius);min-height:42px;color:var(--green);white-space:nowrap;cursor:pointer;background:0 0;padding:0 12px;font-size:11px;font-weight:650}.add-reminder-button:hover:not(:disabled){background:#24483a0f}.add-reminder-button:disabled{cursor:not-allowed;opacity:.55}.notification-table-wrap{border:1px solid var(--line);overflow-x:auto}.notification-table{border-collapse:collapse;width:100%;min-width:440px;color:var(--ink);font-size:12px}.notification-table th,.notification-table td{text-align:left;border-bottom:1px solid #e5e7df;padding:11px 12px}.notification-table thead th{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;background:#f5f5ee;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:650}.notification-table tbody tr:last-child>*{border-bottom:0}.notification-table tbody th{font-weight:600}.notification-table td:nth-child(2){color:var(--muted)}.notification-row-action{width:75px;text-align:right!important}.notification-row-action button{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:5px 0 5px 8px;font-size:11px}.notification-row-action button:hover:not(:disabled){text-decoration:underline}.notification-row-action button:disabled{color:#8b918c;cursor:not-allowed}.notification-empty{color:var(--muted);text-align:center!important}.setup-feedback{min-height:26px;padding-top:8px}.success-copy{color:var(--green);margin:0;font-size:12px}.calendar-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.calendar-actions>*{width:100%;min-width:0;min-height:48px}.save-calendar{font-size:12px}.test-alert-action{margin:0;padding:0 10px;font-size:11px}.install-hint{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}.discord-id-row{border-top:1px solid var(--line);min-height:42px;color:var(--muted);justify-content:space-between;gap:14px}.discord-id-row code{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.secondary-action{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:48px;color:var(--green);cursor:pointer;background:0 0;justify-content:center;margin-top:25px;font-weight:600}.secondary-action:hover:not(:disabled){background:#24483a0f}.secondary-action:disabled{cursor:wait;opacity:.65}.page-footer{color:#788278;letter-spacing:.08em;gap:11px;padding:17px 2px 0;font-size:9px}.footer-divider{background:var(--signal);width:18px;height:1px}.footer-version{color:var(--green);margin-left:auto}.track-notation{opacity:.16;pointer-events:none;width:min(28vw,250px);height:min(28vw,250px);position:fixed;bottom:6vh;right:5vw}.track-stroke{border:1px solid var(--green);border-radius:46% 54% 39% 61%/55% 43% 57% 45%;display:block;position:absolute;transform:rotate(-24deg)}.track-stroke-one{inset:4% 12% 16% 2%}.track-stroke-two{inset:17% 0 1% 17%;transform:rotate(22deg)}.track-point{background:var(--signal);border-radius:50%;width:8px;height:8px;position:absolute;top:34%;left:19%}@media (width<=560px){.access-shell{padding:28px 18px}.access-panel{min-height:360px;padding:38px 27px 32px}.header-code{max-width:130px;font-size:8px;line-height:1.6}.track-notation{opacity:.1;width:42vw;height:42vw;bottom:4vh;right:-6vw}.page-footer{font-size:8px}.access-frame:has(.dashboard-heading){width:100%}.access-frame:has(.server-detail-heading){width:100%}.access-panel:has(.dashboard-heading){padding:34px 20px 26px}.access-panel:has(.server-detail-heading){padding:27px 20px 25px}.dashboard-heading{flex-direction:column;align-items:flex-start}.server-setup{grid-template-columns:minmax(0,1fr)}.install-hint{grid-column:auto}.calendar-actions{grid-template-columns:minmax(0,1fr)}.server-row{gap:9px;padding:9px}.server-row>.arrow-icon{flex-basis:16px}.server-state{gap:5px;font-size:9px}.detail-server-avatar{flex-basis:46px;width:46px;height:46px}.server-detail-heading{gap:11px}.calendar-form{padding:13px}.form-intro{flex-direction:column;align-items:flex-start;gap:4px}.form-intro>p{text-align:left;margin-bottom:15px}.reminder-add-row{grid-template-columns:minmax(60px,.45fr) minmax(0,1fr)}.add-reminder-button{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.brand-mark,.primary-action,.discord-action{forced-color-adjust:none}.primary-action,.discord-action{color:buttontext;background:buttonface;border:1px solid buttontext}.password-control{border-color:canvastext}}
