:root{color-scheme:dark;--bg:#091321;--panel:#111f32;--panel2:#16263c;--line:#2c3e57;--text:#f4f7fb;--muted:#92a1b7;--accent:#ff7a59;--green:#5be39b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Noto Sans TC",Arial,sans-serif}.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 max(20px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);background:#0c1829ee;backdrop-filter:blur(12px)}.admin-topbar a{color:#fff;font-size:20px;font-weight:800;text-decoration:none}.admin-topbar a span,.eyebrow{color:var(--accent)}button,.file-button,.site-link{cursor:pointer}.text-button{border:0;background:none;color:var(--muted)}.admin-shell{width:min(1180px,calc(100% - 32px));margin:38px auto 80px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1,.login-card h1{margin:4px 0 0;font-size:32px}.eyebrow{margin:0;font-size:11px;font-weight:800;letter-spacing:1.8px}.site-link{padding:10px 14px;border:1px solid var(--line);border-radius:9px;color:#dce5f2;text-decoration:none}.panel,.login-card{margin-bottom:24px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 18px 40px #0002}.login-card{width:min(460px,100%);margin:80px auto}.login-card p{color:var(--muted);line-height:1.7}.login-card pre{overflow:auto;padding:14px;border-radius:8px;background:#091321;color:#d6e1ef;white-space:pre-wrap}.panel-heading{display:flex;justify-content:space-between;margin-bottom:20px}.panel h2{margin:0 0 6px}.panel-heading p{margin:0;color:var(--muted)}label{display:grid;gap:7px;color:#c9d3df;font-size:13px}input,select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#0b1728;color:#fff}input[type=file]{padding:7px}.settings-row{display:flex;align-items:end;gap:20px;margin-bottom:20px}.settings-row>label:not(.toggle){width:130px}.toggle{display:flex;align-items:center;gap:8px;min-height:42px}.toggle input,.delete-option input{width:auto;min-height:auto}.ad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.ad-card{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.ad-card legend{padding:0 7px;font-weight:700}.ad-preview{height:150px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#08111f;color:var(--muted)}.ad-preview img{width:100%;height:100%;object-fit:cover}.delete-option{display:flex;align-items:center;gap:8px;color:#ff9c8b}.primary,.team-row button,.search-form button{min-height:42px;padding:9px 16px;border:0;border-radius:8px;background:var(--accent);color:#111;font-weight:800}.search-form{display:flex;gap:10px;margin-bottom:18px}.team-list{display:grid;gap:10px}.team-row{display:grid;grid-template-columns:52px minmax(160px,1fr) minmax(280px,420px);align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.team-image{width:52px;height:52px;display:grid;place-items:center;border-radius:10px;background:#0a1525;color:var(--muted);font-size:11px}.team-image img{max-width:44px;max-height:44px}.team-row strong,.team-row small{display:block}.team-row small{margin-top:5px;color:var(--muted)}.team-row form{display:grid;grid-template-columns:1fr auto;gap:8px}.file-button{display:grid;place-items:center;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#0b1728}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.notice{margin-bottom:16px;padding:13px 15px;border-radius:9px}.notice.success{background:#123c31;color:#92f0c1}.notice.error{background:#4c2528;color:#ffc2bc}.empty{color:var(--muted)}@media(max-width:760px){.admin-shell{width:min(100% - 20px,1180px);margin-top:20px}.page-heading{align-items:start}.page-heading h1{font-size:25px}.panel{padding:16px}.ad-grid{grid-template-columns:1fr}.settings-row{align-items:start;flex-direction:column}.team-row{grid-template-columns:48px 1fr}.team-row form{grid-column:1/-1}.search-form{align-items:stretch}.admin-topbar{padding:0 14px}}

/* Light administration theme. */
:root{color-scheme:light;--bg:#f6f7f9;--panel:#fff;--panel2:#f3f5f8;--line:#d9dee7;--text:#182230;--muted:#697586;--accent:#ed7654;--green:#16875f}
body{background:#f6f7f9;color:#182230}
.admin-topbar{border-color:#d9dee7;background:#fffffff2;box-shadow:0 1px 8px #1822300d}
.admin-topbar a{color:#182230}.text-button{color:#697586}
.panel,.login-card{background:#fff;border-color:#d9dee7;box-shadow:0 10px 30px #1822300a}
.login-card form{display:grid;gap:16px}.login-card .primary{justify-self:start}
.panel-heading p,.login-card p,.empty{color:#697586}
.site-link{border-color:#d9dee7;color:#344054;background:#fff}
label{color:#344054}input,select{border-color:#cfd6e1;background:#fff;color:#182230}
.ad-card{border-color:#d9dee7;background:#f3f5f8}.ad-preview{background:#eef1f5;color:#697586}
.primary,.team-row button,.search-form button{background:#ed7654;color:#fff}
.team-row{border-color:#d9dee7;background:#f8f9fb}.team-image,.file-button{border-color:#d9dee7;background:#fff;color:#697586}
.notice.success{background:#e8f7f0;color:#126447}.notice.error{background:#fff0ee;color:#a3382a}

/* Persistent administration navigation. */
.admin-sidebar{position:fixed;z-index:15;top:88px;left:24px;width:220px;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #d9dee7;border-radius:16px;background:#fff;box-shadow:0 12px 32px #1822300d}
.admin-sidebar-title{padding:2px 10px 8px;color:#697586;font-size:12px;letter-spacing:.12em}
.admin-sidebar nav{display:grid;gap:6px}
.admin-sidebar a{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:10px;color:#475467;font-size:14px;font-weight:700;text-decoration:none}
.admin-sidebar a span{width:22px;height:22px;display:grid;place-items:center;color:#7b8798}
.admin-sidebar a:hover{background:#f3f5f8;color:#182230}
.admin-sidebar a.active{background:#fff0eb;color:#c94f30}
.admin-sidebar a.active span{color:#ed7654}
.admin-sidebar-front{margin-top:6px;border-top:1px solid #e4e7ec;border-radius:0!important;padding-top:16px!important}
.admin-anchor-section{scroll-margin-top:86px}
.admin-with-sidebar .admin-shell{width:min(1460px,calc(100% - 300px));margin-left:276px;margin-right:24px}
@media(max-width:1100px){.admin-sidebar{position:static;width:auto;margin:18px 16px 0;flex-direction:row;align-items:center;overflow:auto}.admin-sidebar-title{display:none}.admin-sidebar nav{display:flex}.admin-sidebar a{white-space:nowrap}.admin-sidebar-front{margin:0 0 0 auto;border:0;padding-top:12px!important}.admin-with-sidebar .admin-shell{width:min(100% - 32px,1180px);margin:24px auto 80px}}
@media(max-width:620px){.admin-sidebar{padding:8px}.admin-sidebar a{padding:10px}.admin-sidebar-front{display:none}}
.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.status-card{padding:18px;border:1px solid #d9dee7;border-radius:12px;background:#f8f9fb}
.status-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.status-card header span{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.status-card p{margin:18px 0 7px;color:#344054;font-weight:700}.status-card small{color:#697586}
.status-ok header span{background:#e8f7f0;color:#126447}.status-warn header span{background:#fff5db;color:#8a5a00}.status-error header span{background:#fff0ee;color:#a3382a}
@media(max-width:900px){.status-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.status-grid{grid-template-columns:1fr}}
.library-upload{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:center}
.library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.library-card{position:relative;display:grid;gap:10px;padding:10px;border:1px solid #d9dee7;border-radius:12px;background:#f8f9fb}
.library-image{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#eef1f5}
.library-image img{width:100%;height:100%;object-fit:contain}
.library-info{min-width:0}.library-info strong,.library-info small{display:block}.library-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-info small{margin-top:4px;color:#697586}
.library-used,.library-built-in{position:absolute;top:17px;right:17px;padding:5px 8px;border-radius:999px;background:#e8f7f0;color:#126447;font-size:11px;font-weight:800}.library-built-in{background:#eef1f5;color:#475467}
.library-delete{width:100%;padding:8px;border:1px solid #f1b8af;border-radius:8px;background:#fff0ee;color:#a3382a;font-weight:800;cursor:pointer}
@media(max-width:1100px){.library-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.library-grid{grid-template-columns:repeat(2,1fr)}.library-upload{grid-template-columns:1fr}}@media(max-width:460px){.library-grid{grid-template-columns:1fr}}
