:root{--bg: #16120f;--surface: #1f1a15;--surface-2: #2a231b;--surface-3: #342a20;--border: #3a322a;--border-soft: #2e2720;--text: #f0e7da;--muted: #a4937f;--faint: #968977;--copper: #d9a05b;--copper-deep: #b8834a;--copper-ink: #241708;--copper-dim: rgba(217, 160, 91, .16);--teal: #7fb3aa;--teal-dim: rgba(127, 179, 170, .15);--teal-ink: #0e2c28;--danger: #d67a6d;--warn: #d9a05b;--ok: #8fb98f;--radius: 12px;--radius-sm: 8px;--shadow: 0 10px 32px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .25);--speed: .16s;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.55}a{color:var(--teal);text-decoration:none}a:hover{color:var(--copper)}::selection{background:var(--copper-dim)}.shell{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;background:#14100d;border-right:1px solid var(--border-soft);padding:1.25rem 0;display:flex;flex-direction:column;gap:.25rem;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:.6rem;padding:0 1.25rem 1rem;border-bottom:1px solid var(--border-soft);margin-bottom:.75rem}.brand .mark{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--border);background:var(--surface-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.brand .name{font-weight:700;font-size:.95rem}.brand .sub{font-size:.72rem;color:var(--muted)}.nav a{display:flex;align-items:center;gap:.65rem;padding:.55rem 1.25rem;color:var(--muted);text-decoration:none;font-size:.9rem;border-left:3px solid transparent;transition:color var(--speed),background var(--speed),border-color var(--speed)}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a.active{color:var(--copper);border-left-color:var(--copper);background:var(--copper-dim)}.nav a:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.nav-sec{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:.9rem 1.25rem .25rem}.sidebar .foot{margin-top:auto;padding:.75rem 1.25rem 0;border-top:1px solid var(--border-soft);font-size:.78rem;color:var(--muted)}.sidebar .foot .badge{display:inline-block;margin-left:.35rem;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.08rem .45rem;border-radius:999px;background:var(--teal-dim);color:var(--teal)}.sidebar .foot .badge.admin{background:var(--copper-dim);color:var(--copper)}.main{flex:1;padding:1.75rem 2rem;max-width:1100px}.page-head{margin-bottom:1.5rem}.page-head h1{font-size:1.4rem;margin:0 0 .3rem}.page-head p{color:var(--muted);margin:0;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:1.15rem 1.25rem;margin-bottom:1.1rem;box-shadow:var(--shadow-sm)}.card h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .9rem;font-weight:600}.grid{display:grid;gap:1.1rem}.grid.two{grid-template-columns:1fr 1fr}.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--border-soft);background:var(--surface-2)}.pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}.pill.ok{color:var(--ok)}.pill.ok:before{background:var(--ok)}.pill.warn{color:var(--warn)}.pill.warn:before{background:var(--warn)}.pill.bad{color:var(--danger)}.pill.bad:before{background:var(--danger)}.pill.dim{color:var(--muted)}.pill.dim:before{background:var(--muted)}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border-soft);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--speed)}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.mut{color:var(--muted)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label{font-size:.85rem;color:var(--text);font-weight:600}.field .hint{font-size:.78rem;color:var(--muted)}.field-err{font-size:.78rem;color:var(--danger)}.field input[type=number],.field input[type=text],.field input[type=search],.field select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.55rem .7rem;font-size:.9rem;width:100%;transition:border-color var(--speed),box-shadow var(--speed)}.field input:focus,.field select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-dim)}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .field{flex:1;min-width:140px}button{background:var(--copper);border:1px solid var(--copper-deep);color:var(--copper-ink);font-weight:700;border-radius:var(--radius-sm);padding:.55rem 1.1rem;font-size:.88rem;cursor:pointer;transition:background var(--speed),transform var(--speed),filter var(--speed)}button:hover{background:var(--copper-deep)}button:active{transform:translateY(1px)}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.secondary:hover{background:var(--surface-3)}button.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}button.danger:hover{background:var(--danger);color:#2b0f0c}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.switch{position:relative;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0}.switch .track{width:38px;height:20px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;transition:background var(--speed);position:relative;flex-shrink:0}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:left var(--speed),background var(--speed)}.switch input:checked+.track{background:var(--teal-dim);border-color:var(--teal)}.switch input:checked+.track:after{left:20px;background:var(--teal)}.switch input:focus-visible+.track{outline:2px solid var(--teal);outline-offset:2px}.switch .lbl{font-size:.88rem}.notice{padding:.8rem 1rem;border-radius:var(--radius-sm);font-size:.88rem;margin-bottom:1rem;border:1px solid var(--border-soft);background:var(--surface)}.notice.info{border-left:3px solid var(--teal)}.notice.warn{border-left:3px solid var(--warn)}.notice.err{border-left:3px solid var(--danger)}.notice.ok{border-left:3px solid var(--ok)}.empty{color:var(--muted);font-size:.9rem;padding:.5rem 0}.mut{color:var(--muted)}.small{font-size:.8rem}.kv{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.88rem}.kv dt{color:var(--muted)}.kv dd{margin:0}.channel-row{display:flex;align-items:center;gap:.9rem;padding:.6rem .3rem;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.channel-row:last-child{border-bottom:none}.channel-row .cname{font-weight:600;min-width:190px}.channel-row .cname.unreachable{color:var(--warn)}.mock-banner{background:#2e2410;color:var(--warn);font-size:.8rem;text-align:center;padding:.4rem;font-weight:600;border-bottom:1px solid var(--border-soft)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(820px 480px at 50% -8%,rgba(217,160,91,.08),transparent 62%),var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:20px;padding:2.4rem 2.4rem 2rem;text-align:center;max-width:420px;width:100%;box-shadow:var(--shadow)}.login-card .mark-img,.login-card .mark{width:108px;height:108px;border-radius:50%;margin:0 auto 1.15rem;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:52px;background:var(--surface-2);border:3px solid var(--border);box-shadow:var(--shadow-sm)}.login-card h1{font-size:1.35rem;margin:.4rem 0}.login-card p{color:var(--muted);font-size:.9rem}.login-card .sub{margin-top:.2rem}.login-card .notice{text-align:left}.login-card .switch{margin-top:1rem}.login-card .remember-note{font-size:.78rem;color:var(--faint);margin-top:.25rem}.login-card a.button{display:inline-block;background:var(--copper);color:var(--copper-ink);font-weight:700;border-radius:var(--radius-sm);padding:.7rem 1.5rem;margin-top:1rem;text-decoration:none;font-size:.95rem;transition:background var(--speed),transform var(--speed)}.login-card a.button:hover{background:var(--copper-deep);color:var(--copper-ink)}.login-card .alt-link{margin-top:1.1rem;font-size:.82rem}.menu-btn{display:none}@media(max-width:820px){.sidebar{position:fixed;left:-240px;transition:left .2s;z-index:20}.sidebar.open{left:0}.menu-btn{display:block;position:fixed;top:.9rem;right:.9rem;z-index:30;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:1.2rem;padding:.35rem .7rem;border-radius:var(--radius-sm)}.main{padding:3rem 1.1rem 1.5rem}.grid.two{grid-template-columns:1fr}.channel-row .cname{min-width:100%}.login-card{padding:1.9rem 1.4rem}.mock-banner{font-size:.7rem;padding:.4rem 3.2rem .4rem .5rem}}.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}.guide-card{display:block;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);padding:.9rem 1rem;text-decoration:none;color:var(--text);transition:border-color var(--speed),transform var(--speed)}.guide-card:hover{border-color:var(--copper);transform:translateY(-1px)}.gc-head{display:flex;gap:.5rem;align-items:center;margin-bottom:.45rem}.gc-id{color:var(--muted);font-size:.8rem;font-weight:600}.gc-title{font-weight:700;margin-bottom:.3rem}.gc-summary{color:var(--muted);font-size:.85rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gc-meta{margin-top:.55rem;font-size:.78rem;color:var(--muted)}.pager{display:flex;align-items:center;gap:.8rem;justify-content:center;margin-top:1rem}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.editor-content{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.6rem;font-family:ui-monospace,Consolas,monospace;font-size:.85rem;resize:vertical;transition:border-color var(--speed)}.editor-content:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-dim)}.preview-meta{margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px solid var(--border-soft)}.md-view h2{font-size:1.15rem;margin:1rem 0 .4rem}.md-view h3,.md-view h4,.md-view h5{font-size:1rem;margin:.9rem 0 .35rem}.md-view p{margin:.4rem 0}.md-view ul,.md-view ol{margin:.4rem 0;padding-left:1.4rem}.md-view code{background:var(--surface-3);border-radius:5px;padding:.1rem .35rem;font-size:.85em}.md-view pre{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:.7rem .9rem;overflow-x:auto}.md-view pre code{background:none;padding:0}@media(max-width:980px){.editor-grid{grid-template-columns:1fr}}.stat-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin:.6rem 0 .9rem}.stat{min-width:72px}.stat-v{font-size:1.3rem;font-weight:700;color:var(--copper)}.stat-l{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.fact-list{list-style:none;margin:1rem 0 0;padding:0}.fact{padding:.7rem 0;border-bottom:1px solid var(--border-soft);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.fact:last-child{border-bottom:0}.fact-body{flex:1 1 60%;min-width:200px}.fact-id{color:var(--muted);font-size:.8rem;margin-right:.5rem}.fact-text{white-space:pre-wrap;overflow-wrap:anywhere}.fact-meta{flex-basis:100%}.fact-actions{display:flex;gap:.4rem}.danger-zone{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.danger-zone h2{color:var(--danger)}.nav-tabs{display:flex;gap:.5rem;margin-bottom:1.1rem;flex-wrap:wrap}.nav-tabs .tab-active{background:var(--copper-dim);border-color:var(--copper);color:var(--copper)}.field textarea.editor-content{font-family:inherit;font-size:.88rem}.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.fcard{display:block;position:relative;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--text);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.fcard:hover{transform:translateY(-3px) rotate(-.5deg);border-color:var(--copper);box-shadow:0 10px 26px #00000059,0 0 0 1px var(--copper-dim),0 0 18px #d9a05b1f}.fcard:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-color:var(--teal)}.fcard:active{transform:translateY(-1px) scale(.985) rotate(0);transition-duration:.08s}.fcard-art{position:relative;height:110px;overflow:hidden;background:var(--surface-3);display:flex;align-items:center;justify-content:center}.fcard-art img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.fcard:hover .fcard-art img{transform:scale(1.05)}.fcard-icon{font-size:2.6rem}.fcard-body{padding:.8rem .95rem .95rem}.fcard-title{font-weight:700;font-size:.98rem;margin-bottom:.25rem;overflow-wrap:anywhere}.fcard-desc{color:var(--muted);font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}@media(hover:none){.fcard:hover{transform:none;border-color:var(--border-soft);box-shadow:none}.fcard:hover .fcard-art img{transform:none}.fcard:active{transform:scale(.98)}}.focal-box{position:relative;width:200px;height:120px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-3);display:flex;align-items:center;justify-content:center;cursor:crosshair;flex-shrink:0}.focal-box img{width:100%;height:100%;object-fit:cover}.focal-box .focal-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--copper);border:2px solid #fff;box-shadow:0 0 0 2px #00000073;pointer-events:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.fcard:hover,.fcard:active{transform:none}.fcard:hover{border-color:var(--copper);box-shadow:0 0 0 2px var(--copper-dim)}.fcard:hover .fcard-art img{transform:none}}
