:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--card:#fff;--border:#e3e6eb;--text:#1b1f27;--text-2:#5b6472;--accent:#d92d3a;--accent-text:#fff;--accent-soft:#fbe9ea;--ok:#1e7f4f;--ok-bg:#e6f4ec;--warn:#8f5b00;--warn-bg:#fff4dd;--err:#b42330;--err-bg:#fdecee;--muted-bg:#eef0f3;--shadow:0 1px 2px #1018280f;--radius:12px;--font:system-ui, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121418;--card:#1c1f26;--border:#2a2e37;--text:#e8eaed;--text-2:#9aa3b2;--accent:#f04452;--accent-text:#fff;--accent-soft:#3a1c21;--ok:#4cc38a;--ok-bg:#15301f;--warn:#e9b04a;--warn-bg:#33290f;--err:#ff7a83;--err-bg:#3a1a1e;--muted-bg:#242832;--shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121418;--card:#1c1f26;--border:#2a2e37;--text:#e8eaed;--text-2:#9aa3b2;--accent:#f04452;--accent-text:#fff;--accent-soft:#3a1c21;--ok:#4cc38a;--ok-bg:#15301f;--warn:#e9b04a;--warn-bg:#33290f;--err:#ff7a83;--err-bg:#3a1a1e;--muted-bg:#242832;--shadow:none}*,:before,:after{box-sizing:border-box}html,body{max-width:100%;margin:0;padding:0;overflow-x:hidden}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;flex-direction:column;font-size:16px;line-height:1.5;display:flex}a{color:var(--accent);cursor:pointer;text-decoration:none}a:hover{opacity:.85;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.125rem}p{margin:0}.main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:24px 16px 32px}.page-title{margin-bottom:4px}.page-subtitle{color:var(--text-2);margin-bottom:24px}.footer{text-align:center;margin-top:auto;padding:16px}.footer .small-button{color:var(--text)}.header{background:var(--card);border-bottom:1px solid var(--border)}.header-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1040px;min-height:60px;margin:0 auto;padding:12px 16px;display:flex}.brand{color:var(--text);align-items:baseline;gap:3px;font-size:1.25rem;font-weight:700;display:inline-flex}.brand:hover{opacity:1}.brand-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.header-actions{align-items:center;gap:8px;display:flex;position:relative}.greeting{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:30vw;overflow:hidden}.nav{z-index:10;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:2px;min-width:200px;max-width:calc(100vw - 32px);padding:8px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.nav-open{display:flex}.nav>a,.nav .link-button{text-align:left;border-radius:8px;width:100%;padding:8px;display:block}.nav>a:hover,.nav .link-button:hover{opacity:1;background:var(--muted-bg)}.button{min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-weight:600;transition:opacity .15s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--accent);color:var(--accent-text)}.button-secondary{background:var(--card);color:var(--text);border-color:var(--border)}.button-danger{background:var(--card);color:var(--err);border-color:var(--border)}.button-block{width:100%}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.small-button{white-space:nowrap;border:1px solid var(--border);height:36px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:0 12px;display:inline-flex}.icon-button{justify-content:center;width:36px;padding:0}.label-light,:root[data-theme=dark] .label-dark{display:none}:root[data-theme=dark] .label-light{display:inline}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .label-dark{display:none}:root:not([data-theme=light]) .label-light{display:inline}}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label,.field-label{color:var(--text-2);font-size:13px;font-weight:700}input[type=text],input[type=password]{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}input[type=text]:focus,input[type=password]:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.password{position:relative}.password input{padding-right:84px}.password-toggle{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:13px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.checks{flex-wrap:wrap;gap:8px 16px;display:flex}.field .check,.check{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:1rem;font-weight:400;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.notice{border-radius:8px;margin-top:12px;padding:10px 12px;font-size:.9375rem}.notice-ok{background:var(--ok-bg);color:var(--ok)}.notice-warn{background:var(--warn-bg);color:var(--warn)}.notice-error{background:var(--err-bg);color:var(--err)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.auth{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 16px;display:flex}.auth-brand{text-align:center;margin-bottom:20px}.auth-brand .brand{font-size:28px;font-weight:700}.auth-brand .brand-dot{width:9px;height:9px}.auth-tagline{color:var(--text-2);margin-top:4px}.auth-card{border-radius:12px;width:100%;max-width:380px;padding:20px}.auth-card h1{margin-bottom:4px;font-size:1.125rem}.auth-card .notice{margin:0 0 16px}.auth-submit{border-radius:8px;width:100%;padding:10px 16px}.auth-theme{margin-top:16px}.auth-link{text-align:center;margin-top:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.system{flex-direction:column;gap:12px;min-height:180px;display:flex}.system-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.system p{color:var(--text-2);flex:1}.system-off{opacity:.55}.system-open .button{width:100%}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-error{background:var(--err-bg);color:var(--err)}.badge-muted{background:var(--muted-bg);color:var(--text-2)}.section{margin-bottom:32px}.section>h2{margin-bottom:12px}.user-list{flex-direction:column;gap:16px;display:flex}.user-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.user-name{overflow-wrap:anywhere;font-weight:700}.user-meta{color:var(--text-2);margin-bottom:16px;font-size:.875rem}.user-actions{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding-top:16px;display:grid}.user-actions form{flex-direction:column;gap:10px;display:flex}.user-actions .field{margin-bottom:0}.create-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:0 16px;display:grid}.create-form .full{grid-column:1/-1}.about{max-width:680px}.about .small-button{margin-bottom:16px}.about p{color:var(--text);margin-bottom:16px}.contact-box{border:1px solid var(--border);background:var(--bg);text-align:center;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;display:flex}.contact-box:hover{opacity:1}.contact-name{color:var(--text);font-weight:700}.contact-url{color:var(--text-2);font-size:1rem;text-decoration:underline}.skeleton{background:var(--muted-bg);border-radius:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
