:root{--ink: #12221c;--ink-soft: #2a3d34;--fog: #e7efe9;--paper: #f4f7f2;--line: #c9d6ce;--accent: #c45c26;--accent-deep: #9a3f12;--ok: #1f7a4c;--warn: #a15c12;--danger: #a12828;--shadow: 0 18px 50px rgba(18, 34, 28, .12);--radius: 18px;--font-display: "Fraunces", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 10% -10%,#dce8df 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#f0dccb 0%,transparent 45%),linear-gradient(180deg,#eef3ef 0%,var(--paper) 40%,#e8efe9 100%)}button,input,select,textarea{font:inherit}a{color:var(--accent-deep)}.app-shell{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.brand{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:28px}.brand h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;line-height:1.05}.brand p{margin:8px 0 0;color:var(--ink-soft);max-width:42ch}.nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.nav button{border:1px solid var(--line);background:#ffffff8c;color:var(--ink-soft);padding:10px 14px;border-radius:999px;cursor:pointer;transition:.15s ease}.nav button.active,.nav button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.panel{background:#ffffffb8;border:1px solid rgba(201,214,206,.9);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:22px}.panel+.panel{margin-top:16px}.panel h2{margin:0 0 6px;font-family:var(--font-display);font-size:1.45rem}.panel .lede{margin:0 0 18px;color:var(--ink-soft)}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat{padding:16px;border-radius:14px;background:linear-gradient(160deg,#fff,#eef5f0);border:1px solid var(--line)}.stat .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.stat .value{margin-top:8px;font-family:var(--font-display);font-size:1.8rem}.form-row{display:grid;gap:8px;margin-bottom:14px}.form-row label{font-size:.9rem;font-weight:500}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.form-row textarea{min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.scopes{display:flex;flex-wrap:wrap;gap:8px}.scopes label{display:inline-flex;gap:6px;align-items:center;padding:8px 10px;border-radius:999px;background:var(--fog);border:1px solid var(--line);font-size:.85rem}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.btn{border:0;border-radius:12px;padding:11px 16px;cursor:pointer;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:#f7e4e4;color:var(--danger)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.75rem;background:var(--fog)}.badge.ok{background:#d9efe3;color:var(--ok)}.badge.danger{background:#f7e4e4;color:var(--danger)}.badge.warn{background:#f6ead6;color:var(--warn)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.flash{margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff4e8;border:1px solid #efd2b3}.flash.ok{background:#e5f5ec;border-color:#b9deca}.flash.err{background:#fdecec;border-color:#efc0c0}.token-box{margin-top:12px;padding:14px;border-radius:12px;background:var(--ink);color:#f4f7f2;word-break:break-all}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.gate-card{width:min(440px,100%);padding:28px;border-radius:24px;background:#fffc;border:1px solid var(--line);box-shadow:var(--shadow)}.gate-card h1{margin:0;font-family:var(--font-display);font-size:2rem}.muted{color:var(--ink-soft)}.empty{padding:24px;text-align:center;color:var(--ink-soft)}.post-card{padding:14px 0;border-bottom:1px solid var(--line)}.post-card:last-child{border-bottom:0}.post-card h3{margin:0 0 6px;font-size:1rem}.media-thumb{margin-top:10px;max-width:220px;border-radius:12px;border:1px solid var(--line)}@media(max-width:720px){.brand{flex-direction:column;align-items:start}}.filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin:12px 0 8px}.filters label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--ink-soft)}.filters select{min-width:160px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.filters .check{flex-direction:row;align-items:center;gap:8px;padding-bottom:8px}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.media-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}.media-detail{margin-top:12px}.body-html{margin:12px 0;line-height:1.55;white-space:normal}.docs h3{margin-top:1.4rem;font-family:var(--font-display)}.docs ul{padding-left:1.2rem;line-height:1.55}.code-block{overflow-x:auto;padding:14px 16px;border-radius:12px;background:#12221c;color:#e7efe9;font-size:.82rem;line-height:1.45}
