:root{color-scheme:light;--bg:#f6f7fb;--card:#fff;--text:#172033;--muted:#647086;--line:#dfe4ee;--brand:#254edb;--brand-dark:#1739a6;--danger:#c23030}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{margin:0 auto;max-width:1180px;padding:32px 20px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.brand{display:grid;grid-gap:4px;gap:4px}.brand h1{font-size:28px;line-height:1.1;margin:0}.muted{color:var(--muted)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(25,36,68,.06);padding:20px}.card h2,.card h3{margin:0 0 14px}.form{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:6px;gap:6px}.field span{color:var(--muted);font-size:13px}.input,.select,.textarea{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--text);min-height:42px;padding:10px 12px;width:100%}.textarea{font-family:Consolas,Courier New,monospace;min-height:260px;resize:vertical}.button{align-items:center;background:var(--brand);border:0;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:42px;padding:10px 14px}.button:hover{background:var(--brand-dark)}.button.secondary{background:#eef2ff;color:var(--brand-dark)}.button.danger{background:#fff0f0;color:var(--danger)}.row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.list{display:grid;grid-gap:10px;gap:10px}.list-item{align-items:center;border:1px solid var(--line);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:12px}.pill{background:#edf1fb;border-radius:999px;color:#42506a;display:inline-flex;font-size:12px;font-weight:700;padding:5px 9px}.info-grid{display:grid;grid-gap:0;gap:0;margin:0}.info-grid-row{border-top:1px solid var(--line);display:grid;grid-gap:4px 16px;gap:4px 16px;grid-template-columns:minmax(140px,220px) 1fr;padding:12px 0}.info-grid-row:first-child{border-top:0;padding-top:0}.info-grid dt{color:var(--muted);font-size:13px;font-weight:700;margin:0}.info-grid dd{font-family:Consolas,Courier New,monospace;font-size:14px;margin:0;word-break:break-word}.gc-layout{align-items:start}.gc-preview-sticky{position:-webkit-sticky;position:sticky;top:16px}.gc-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.gc-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.gc-section-title{font-size:15px;margin:0 0 12px}.gc-fields{display:grid;grid-gap:14px;gap:14px}.gc-field{border:1px solid var(--line);border-radius:14px;padding:12px}.gc-field,.gc-field-head{display:grid;grid-gap:10px;gap:10px}.gc-field-head{grid-template-columns:72px 1fr}.gc-use-toggle{align-items:center;display:inline-flex;font-size:12px;font-weight:700;gap:6px}.gc-use-placeholder{display:block;width:72px}.gc-field-key{background:#edf1fb;border-radius:8px;display:inline-block;font-size:13px;padding:2px 8px}.gc-field-note{color:var(--muted);font-size:13px;line-height:1.45;margin:6px 0 0}.gc-field-control .input,.gc-field-control .select,.gc-field-control .textarea{margin-top:0}.gc-bool{align-items:center;display:inline-flex;font-weight:700;gap:8px}.gc-textarea-sm{min-height:96px}.placement-editor{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr) minmax(280px,1fr)}.placement-col{display:flex;flex-direction:column;gap:16px;min-width:0}.placement-panel-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.placement-panel-head h3,.placement-panel-head h4{margin:0}.placement-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;max-height:220px;overflow:auto;padding:0}.placement-list-item{align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.placement-list-item.active{background:#eef2ff;border-color:#c9d5ff}.placement-settings-card{max-height:calc(100vh - 220px);overflow:auto}.placement-subtitle{border-top:1px solid var(--line);font-size:14px;margin:16px 0 10px;padding-top:14px}.placement-subtitle-sm{font-size:13px;margin:12px 0 8px}.ad-id-list,.ad-id-row{display:grid;grid-gap:8px;gap:8px}.ad-id-row{align-items:center;grid-template-columns:1fr 72px 100px 36px}.ad-id-mediation,.ad-id-weight{min-width:0}.library-ad-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;max-height:420px;overflow:auto;padding:0}.library-ad-item{border:1px solid var(--line);border-radius:12px;justify-content:space-between;padding:10px 12px}.color-field-row,.library-ad-item{align-items:center;display:flex;gap:10px}.color-field-row{flex-wrap:wrap}.color-swatch{border:1px solid var(--line);border-radius:8px;height:40px;padding:2px;width:48px}.app-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.app-nav-link{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:14px;font-weight:700;padding:8px 14px}.app-nav-link.active{background:#eef2ff;border-color:#c9d5ff;color:var(--brand-dark)}.config-file-input{display:none}.config-page-actions{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;justify-content:flex-end}.config-history-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.config-history-pre{background:#f3f5f9;border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.45;margin:6px 0 0;max-height:320px;overflow:auto;padding:10px 12px;white-space:pre-wrap;word-break:break-word}.error{background:#fff0f0;border:1px solid #ffd1d1;border-radius:12px;color:var(--danger)}.error,.success{padding:10px 12px}.success{background:#eefbf2;border:1px solid #bde8c8;border-radius:12px;color:#12622c}@media (max-width:800px){.gc-field-head,.grid.three,.grid.two,.info-grid-row{grid-template-columns:1fr}.gc-preview-sticky{position:static}.ad-id-row,.placement-editor{grid-template-columns:1fr}}