.panel{border:2px solid var(--chalk);background:var(--ink-panel)}
.panel--dom{border-width:3px}
.strip{background:var(--ink-strip);border-bottom:1px solid rgba(var(--chalk-rgb),.3)}
.hatch{position:relative;overflow:hidden}
.hatch::before{content:"";position:absolute;inset:0;background:var(--h);opacity:var(--h-op,.5);pointer-events:none}
.hatch>*{position:relative}
.on-hatch{background:var(--ink-bg);padding:2px 6px;width:fit-content;max-width:100%}
.tint{--hatch-rgb:var(--accent-rgb)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;font-weight:600;font-size:15px;letter-spacing:.01em;text-align:center}
.btn-primary{background:var(--plate-yellow);color:var(--ink-bg);font-weight:700;font-size:17px;min-height:56px;padding:0 26px}
.btn-primary:hover{background:#f2cd3a}
.btn-chalk{background:var(--chalk);color:var(--ink-bg);font-weight:700;font-size:16px;min-height:56px}
.btn-ghost{border:2px solid rgba(var(--chalk-rgb),.55);color:var(--chalk);min-height:56px}
.btn-ghost:hover{border-color:var(--chalk)}
.btn-danger{border:2px solid rgba(209,51,46,.75);color:var(--danger-text);font-weight:700;min-height:52px}
.btn-danger-fill{background:var(--plate-red);color:var(--chalk);font-weight:700;min-height:48px}
.btn[aria-disabled="true"]{opacity:.35;pointer-events:none}
.chip{min-height:44px;min-width:56px;padding:0 12px;border:2px solid rgba(var(--chalk-rgb),.3);background:var(--ink-panel);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;color:rgba(var(--chalk-rgb),.6);display:inline-flex;align-items:center;justify-content:center}
.chip[aria-pressed="true"]{border-color:var(--chalk);color:var(--chalk)}
.chip--lg{min-height:48px;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:19px;letter-spacing:.04em;padding:0 14px}
.grid-2{display:grid;gap:2px}
.seg{display:inline-flex;gap:2px;border:2px solid var(--chalk)}
.seg button{min-height:44px;padding:0 18px;font-weight:700;font-size:14px}
.seg button[aria-pressed="true"]{background:var(--chalk);color:var(--ink-bg)}
.strip-msg{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:var(--ink-strip);border-bottom:1px solid rgba(var(--plate-yellow-rgb,232,192,34),.5);font-size:13.5px;color:rgba(var(--chalk-rgb),.85)}
.strip-msg .btn{min-height:44px;font-size:13px;border:1px solid rgba(var(--chalk-rgb),.4);padding:0 12px}
.strip-msg{flex-wrap:wrap}
.strip-msg>span:first-child{flex:1 1 180px}
.strip-msg .row-gap{flex-wrap:nowrap}
