:root{--paper: #f5f2ea;--surface: #fdfbf5;--ink: #2b2721;--ink-soft: #6b6355;--line: #d8d0bf;--ti-cyan: #0e7c86;--ti-cyan-soft: #e0f0f1;--canon-gold: #b98a2e;--flag-amber: #c25e00;--error-red: #a33a2a;--ok-green: #2e6e4f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Gill Sans,Segoe UI,system-ui,sans-serif;font-size:15px}h1,h2,h3,.detail-term,.app-title-main{font-family:Georgia,Times New Roman,serif}button{font:inherit;padding:7px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer}button:hover:not(:disabled){border-color:var(--ti-cyan);color:var(--ti-cyan)}button:disabled{opacity:.45;cursor:default}input,textarea{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);width:100%}input:focus,textarea:focus{outline:2px solid var(--ti-cyan-soft);border-color:var(--ti-cyan)}.link-button{border:none;background:none;color:var(--ti-cyan);padding:4px 8px;text-decoration:none}.app-splash{min-height:100vh;display:grid;place-items:center;font-family:Georgia,serif;font-size:22px;color:var(--ink-soft)}.gate-backdrop{min-height:100vh;display:grid;place-items:center;background:var(--paper)}.gate-card{width:min(380px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:30px 30px 26px;box-shadow:0 4px 18px #2b27211f;display:flex;flex-direction:column;gap:14px}.gate-brand{text-align:center;margin-bottom:6px}.gate-brand h1{margin:6px 0 0;font-size:26px}.gate-brand-mark{display:inline-block;font-family:Georgia,serif;font-weight:700;font-size:20px;color:#fff;background:var(--ti-cyan);border-radius:8px;padding:6px 10px}.gate-sub{margin:2px 0 0;color:var(--ink-soft);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.gate-card label{font-size:13px;color:var(--ink-soft);display:block}.gate-card input{margin-top:5px}.gate-card button[type=submit]{background:var(--ti-cyan);color:#fff;border-color:var(--ti-cyan);font-weight:600;padding:10px}.gate-error{background:#f9e8e4;border:1px solid #e4b7ac;color:var(--error-red);border-radius:6px;padding:8px 10px;font-size:13px}.app-frame{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--line)}.menu-button{padding:6px 10px;font-size:16px}.app-title{display:flex;flex-direction:column;line-height:1.1}.app-title-main{font-size:19px;font-weight:600}.app-title-sub{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.app-header-right{margin-left:auto;display:flex;align-items:center;gap:14px}.build-tag{font-size:11px;color:var(--ink-soft)}.identity-badge{font-size:13px;display:flex;align-items:center;gap:8px}.role-chip{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--ti-cyan-soft);color:var(--ti-cyan);font-weight:600}.role-Owner{background:#f3e8d2;color:var(--canon-gold)}.bench-page{flex:1;padding:16px 18px 30px}.bench-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:12px;flex-wrap:wrap}.bench-count{color:var(--ink-soft);font-size:13px}.new-card-form{display:flex;gap:8px;margin-left:auto}.new-card-form input{width:240px}.bench-layout{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}@media (max-width: 900px){.bench-layout{grid-template-columns:1fr}}.card-grid{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.card-grid th{text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);padding:9px 12px;border-bottom:1px solid var(--line);background:#faf7ef}.card-grid td{padding:9px 12px;border-bottom:1px solid #eee7d8;font-size:14px}.card-grid tbody tr{cursor:pointer}.card-grid tbody tr:hover{background:var(--ti-cyan-soft)}.row-selected{background:var(--ti-cyan-soft);outline:2px solid var(--ti-cyan);outline-offset:-2px}.cell-term{font-weight:600}.grid-empty{padding:40px 20px;text-align:center;color:var(--ink-soft);background:var(--surface);border:1px dashed var(--line);border-radius:8px}.grid-error{color:var(--error-red)}.canon-chip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);background:#f2eee3}.canon-Working{background:#e3e9f2;color:#3d5a80;border-color:#c4d0e2}.canon-Reviewed{background:#e0efe9;color:var(--ok-green);border-color:#bcd9cc}.canon-Canon{background:#f3e8d2;color:var(--canon-gold);border-color:#e0cb9d;font-weight:700}.detail-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;position:sticky;top:14px}.detail-empty{color:var(--ink-soft);text-align:center;padding:40px 16px}.detail-kind{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.detail-term{margin:4px 0 10px;font-size:21px}.detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.meta-chip{font-size:11px;padding:2px 8px;border-radius:999px;background:#f2eee3;color:var(--ink-soft)}.flag-chip{background:#fbeadd;color:var(--flag-amber);font-weight:600}.detail-label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:10px}.detail-label textarea{margin-top:5px;resize:vertical}.detail-section-title{margin-top:18px;margin-bottom:8px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}.ruling-controls{display:flex;gap:6px;flex-wrap:wrap}.ruling-controls button{font-size:13px;padding:6px 10px}.ruling-active{background:var(--ti-cyan);color:#fff!important;border-color:var(--ti-cyan)!important}.toast-stack{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;box-shadow:0 4px 14px #2b27214d;cursor:pointer;max-width:340px}.toast-success{background:var(--ok-green)}.toast-error{background:var(--error-red)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b272159;z-index:50}.slide-menu{position:absolute;top:0;left:0;bottom:0;width:260px;background:var(--surface);border-right:1px solid var(--line);padding:22px}.slide-menu h2{margin-top:0}.slide-menu ul{list-style:none;padding:0}.slide-menu li{padding:9px 0;border-bottom:1px solid #eee7d8}.menu-disabled{color:var(--ink-soft);opacity:.6}
