:root{
  color-scheme:dark;
  --void:#0e0e13;--panel:#0a0a0e;--bar:#0e1118;--frame:#3d5670;--inner:#232c3d;
  --rule:#1a2130;--rule-soft:#161c28;--hair:#2f3c52;--field:#12121a;--field-bd:#2b3549;
  --accent:#79b4bb;--accent-hi:#96ccd2;--accent-dim:#74a0a8;--accent-line:#3a5a60;
  --text:#e8e0cc;--body:#c9c2ae;--mute:#8a8070;--faint:#8e8474;--dim:#3d4a60;
  --pass:#9ddb6a;--blocked:#e5734f;--pending:#c9c2ae;--bypass:#8a9db7;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --serif:'Shippori Mincho','Spectral',Georgia,serif;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{min-height:100%;background:var(--void)}
body{margin:0;color:var(--text);font-family:var(--serif);font-size:16px;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
  background:radial-gradient(1400px 500px at 50% -160px,#15151f,var(--void) 70%) fixed}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
::selection{background:var(--accent);color:#0c1013}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:86rem;min-height:100vh;margin:0 auto;padding:16px 24px 24px;display:flex}
.frame{width:100%;background:var(--panel);border:1px solid var(--frame);padding:2px;display:flex}
.frame-inner{width:100%;border:1px solid var(--inner);display:flex;flex-direction:column}
.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:14px 26px;border-bottom:1px solid var(--hair);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cg fill='none' stroke='%23202c40' stroke-width='1'%3E%3Ccircle cx='0' cy='24' r='22'/%3E%3Ccircle cx='0' cy='24' r='15'/%3E%3Ccircle cx='0' cy='24' r='8'/%3E%3Ccircle cx='48' cy='24' r='22'/%3E%3Ccircle cx='48' cy='24' r='15'/%3E%3Ccircle cx='48' cy='24' r='8'/%3E%3Ccircle cx='24' cy='12' r='22'/%3E%3Ccircle cx='24' cy='12' r='15'/%3E%3Ccircle cx='24' cy='12' r='8'/%3E%3C/g%3E%3C/svg%3E") repeat var(--bar)}
.crumb{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:.875rem}
.crumb a,.crumb .slash{color:var(--accent-dim)}
.crumb a:hover{color:var(--accent-hi)}
.tag{padding:2px 7px;border:1px solid var(--hair);font-family:var(--mono);font-size:.75rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dim)}
.main{flex:1;padding:28px 26px 36px}
.intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:22px}
h1{margin:0;font-size:24px;font-weight:400;letter-spacing:.01em}
.intro p{max-width:52rem;margin:9px 0 0;font-family:var(--sans);line-height:1.55;color:var(--body)}
.privacy{font-family:var(--mono);font-size:.75rem;line-height:1.6;color:var(--accent-dim);text-align:right}
/* Same tray, type scale and spacing as the Scrolls upload strip. */
.drop{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:4px 16px;align-items:center;
  padding:12px 16px;border:2px dashed var(--frame);background:#0d0d12;cursor:pointer;
  transition:border-color .15s,background .15s}
.drop:hover,.drop:focus-visible{border-color:var(--accent-dim);background:#14141b}
.drop .tray{width:30px;height:30px;color:var(--accent-dim);grid-row:span 2}
.drop:hover .tray{color:var(--accent)}
.drop .lead{font-size:18px;color:var(--text)}
.drop .sub{grid-column:2;font:13px/1.6 var(--sans);color:var(--mute)}
.drop .sub code{font:11px var(--mono);word-break:break-all}
.drop .mode,.drop .note{font:11px var(--mono);color:var(--accent-dim);letter-spacing:.03em;text-align:right;white-space:nowrap}
.drop .note{grid-column:3}
.drop .pick-btn{grid-row:span 2;pointer-events:none}
.dropveil{position:fixed;inset:0;z-index:50;display:none;place-items:center;background:rgba(8,8,12,.88);backdrop-filter:blur(2px)}
.dropveil.on{display:grid}
.dropveil div{padding:32px 48px;border:2px dashed var(--accent);background:#14141b;text-align:center;font-size:22px;color:var(--accent)}
.dropveil small{display:block;margin-top:8px;font:12px var(--mono);letter-spacing:.08em;color:var(--accent-dim)}
.notice{margin:14px 0 0;padding:11px 14px;border:1px solid var(--hair);background:#11151d;
  font-family:var(--sans);font-size:.875rem;color:var(--body)}
.notice.error{border-color:#684236;background:#1a1112;color:#f0a28c}
.result-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-bottom:16px;padding:15px 18px;border:1px solid var(--inner);background:var(--bar)}
.save-label{font-family:var(--mono);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dim)}
.save-name{margin-top:4px;font-size:1.25rem;overflow-wrap:anywhere}
.save-meta{margin-top:4px;font-family:var(--mono);font-size:.75rem;color:var(--mute)}
.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
/* A compact readout and ruled effect list, matching the other tool benches. */
.summary{margin-bottom:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--inner);background:var(--bar)}
.stat{padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline;border-left:1px solid var(--inner)}
.stat:first-child{border-left:0}
.stat strong{font:24px var(--mono);color:var(--accent-hi)}
.stat.blocked strong{color:var(--blocked)}
.stat span{font:13px var(--sans);color:var(--text)}
.secondary{padding:7px 12px;border:1px solid var(--frame);background:transparent;
  font-family:var(--mono);font-size:.75rem;color:var(--accent)}
.secondary:hover{background:var(--accent);color:#0c1013}
.controls{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:12px}
.search-field{display:grid;gap:8px;flex:1 1 260px;min-width:0}
.search{width:100%;min-width:0;min-height:42px;padding:8px 12px;border:1px solid var(--field-bd);border-radius:0;
  background:var(--field);color:var(--text);font-family:var(--sans);font-size:14px}
.filters{display:flex;flex-wrap:wrap;gap:4px}
.filters button{min-height:42px;padding:8px 12px;border:1px solid transparent;border-bottom:2px solid var(--hair);background:transparent;
  font-family:var(--mono);font-size:12px;color:var(--faint)}
.filters button:hover{color:var(--accent-hi);background:#14141b}
.filters button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent-hi);background:var(--bar)}
.result-count{padding:8px 0 12px;font:12px var(--mono);color:var(--accent-dim)}
.list-head,.effect-card{display:grid;grid-template-columns:minmax(0,1.2fr) 190px minmax(0,1fr);gap:20px;align-items:center;padding:12px 16px}
.list-head{border:1px solid var(--inner);background:var(--bar);font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dim)}
.effect-grid{border:1px solid var(--inner);border-top:0}
.effect-card{min-height:62px;border-bottom:1px solid var(--rule);background:var(--panel)}
.effect-card:last-child{border-bottom:0}
.effect-card:hover{background:#14141b}
.effect-copy h3{margin:0;font-size:17px;line-height:1.5;font-weight:400;color:#7fb3e8;overflow-wrap:anywhere}
.grade-note{display:block;margin-top:4px;font:11px/1.5 var(--mono);color:var(--faint)}
.record-detail{margin:0;font:13px/1.5 var(--sans);color:var(--faint)}
.state-label{display:flex;align-items:baseline;gap:8px;margin:0;font:12px/1.5 var(--mono);color:var(--bypass)}
.state-icon{width:12px;flex-shrink:0;text-align:center}
.eligible .state-label{color:var(--pass)}
.blocked .state-label{color:var(--blocked)}
.not-yet-eligible .state-label{color:var(--pending)}
.empty{padding:32px 16px;border:1px solid var(--inner);border-top:0;text-align:center}
.empty strong{font-size:18px;font-weight:400}
.empty p{font:14px var(--sans);color:var(--faint)}
.caveat{margin:18px 0 0;padding:14px 16px;border-left:2px solid var(--accent-line);
  background:#0f1118;font-family:var(--sans);font-size:.875rem;line-height:1.55;color:var(--body)}
.caveat strong{color:var(--text)}
.index-main{display:grid;place-items:center;flex:1;padding:40px 26px}
.index-content{width:min(100%,56rem)}
.index-content h1{margin-bottom:8px}
.index-content>p{margin:0 0 28px;font-family:var(--sans);color:var(--body)}
.tool-card{display:grid;grid-template-columns:28px 1fr auto;gap:12px 18px;align-items:center;
  padding:20px;border:1px solid var(--inner);background:var(--field)}
.tool-card:hover{border-color:var(--accent);background:#111721}
.tool-glyph{font-family:var(--mono);color:var(--accent);font-size:1.2rem}
.tool-card h2{margin:0 0 5px;font-size:1.3rem;font-weight:400}
.tool-card p{margin:0;font-family:var(--sans);font-size:.9rem;line-height:1.5;color:var(--mute)}
.tool-arrow{font-family:var(--mono);color:var(--accent)}
@media(max-width:1000px){
  .intro{grid-template-columns:1fr;gap:12px}.privacy{text-align:left;font-size:11px}
  .summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--inner)}
  .controls{gap:12px}.filters{flex:1 1 100%}
  .list-head,.effect-card{grid-template-columns:minmax(0,1fr) 180px}.list-head span:last-child{display:none}
  .record-detail{grid-column:1/-1}.effect-card{gap:6px 16px}
}
@media(max-width:700px){
  .drop{grid-template-columns:auto minmax(0,1fr)}
  .drop .mode,.drop .note{grid-column:2;text-align:left;white-space:normal}
  .drop .pick-btn{grid-row:auto;grid-column:2;justify-self:start}
}
@media(max-width:620px){
  .wrap{padding:12px}.main,.index-main{padding:20px 14px 24px}.topbar{padding:12px 14px;gap:10px}
  .crumb{font-size:12px;gap:6px}.tag{font-size:10px}.intro p{font-size:14px}
  .result-head{padding:12px;gap:12px}.save-name{font-size:17px}
  .stat{padding:12px;grid-template-columns:1fr;gap:4px}.stat strong{grid-row:auto;font-size:22px}
  .filters{gap:4px}.filters button{font-size:11px;padding:8px}.list-head{display:none}
  .effect-grid{border-top:1px solid var(--inner)}.effect-card{grid-template-columns:minmax(0,1fr);padding:14px;gap:8px}
  .state-label,.record-detail{grid-column:1}.effect-copy h3{font-size:17px}
  .tool-card{grid-template-columns:20px minmax(0,1fr) auto;padding:14px;gap:10px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
