:root { --accent: #b45309; --accent-soft: color-mix(in srgb, #b45309 12%, #fff); }

.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;margin:12px 0}
.glyph{font-size:1.2rem;min-height:44px;border:1px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer}
.glyph.on{outline:2px solid var(--accent)}
.stage{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;margin:12px 0}
.stage svg,.stage canvas{width:min(320px,86vw);background:#fff;border:1px solid #e5e7eb;border-radius:16px;touch-action:none}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:8px 0 14px}
.tool-grid button{border:1px solid #e5e7eb;background:#fff;border-radius:12px;min-height:42px;cursor:pointer}
.tool-grid button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:transparent}
.opt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.opt-grid input,.card input,.card select,.card textarea,main textarea,main input,main select{width:100%;box-sizing:border-box}
.sent{font-size:1.35rem;line-height:1.75;min-height:4rem}
.cmd{font-family:ui-monospace,monospace;font-size:1.35rem}
.typed{font-family:ui-monospace,monospace;color:#0369a1}
.sheet h2{margin:0 0 8px}
.sheet table{width:100%;border-collapse:collapse}
.sheet td,.sheet th{border-bottom:1px solid #e5e7eb;padding:4px;text-align:left}
.sheet .sum{font-size:1.3rem;font-weight:700}
.sudo{border-collapse:collapse}
.sudo td{width:36px;height:36px;border:1px solid #d1d5db;text-align:center}
.sudo td input{width:32px;border:0;text-align:center;font-size:1rem}
.nono div{display:flex;gap:4px;align-items:center;margin:2px 0}
.nono button{width:28px;height:28px;border:1px solid #d1d5db}
.nono button.on{background:#111}
.mine{display:grid;grid-template-columns:repeat(9,32px);gap:2px}
.mine button{height:32px}
.grid.g15{display:grid;grid-template-columns:repeat(15,1.45rem);gap:1px;width:max-content}
.grid.g8{display:grid;grid-template-columns:repeat(8,2.35rem);gap:3px;width:max-content;background:#0b5c34;padding:8px;border-radius:14px}
.grid button{height:1.45rem;padding:0;background:#f4efe4}
.grid.g8 button{height:2.35rem;border:0;border-radius:6px;background:#12824a;position:relative}
.grid.g8 button.b::after,.grid.g8 button.w::after{content:'';position:absolute;inset:12%;border-radius:50%}
.grid.g8 button.b::after{background:#111}
.grid.g8 button.w::after{background:#f8fafc;box-shadow:inset 0 0 0 1px #cbd5e1}
.grid.g8 button.hint::after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);left:50%;top:50%;transform:translate(-50%,-50%)}
.grid button.on{outline:2px solid var(--accent)}
.photo-list{list-style:none;padding:0}
.photo-list li{display:flex;gap:10px;margin:8px 0}
.photo-list img{width:72px;height:72px;object-fit:cover;border-radius:8px}
#map{background:#e5e7eb;border-radius:12px}
label{display:block;margin:8px 0}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:800px){.two{grid-template-columns:1fr}}
#rain-cv{width:100%;max-width:800px;height:auto;border-radius:12px;margin-top:8px}
.rev-top{display:flex;align-items:center;gap:10px;margin:12px 0 8px;flex-wrap:wrap}
#lab-stage{font-weight:800}
.stages{display:flex;gap:8px;flex-wrap:wrap}
.stages button{min-width:52px;min-height:48px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:800;font-size:1.05rem;cursor:pointer}
.stages button.on{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 28%, transparent)}
.stages button:disabled{opacity:.35;cursor:default}
.stages button.done{box-shadow:inset 0 -3px 0 var(--ok,#16a34a)}
.stages button.on.done{box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 28%, transparent), inset 0 -3px 0 #bbf7d0}
.stage-note{margin:0 0 8px;color:var(--muted)}
#msg{font-weight:700;min-height:1.4em}
.rev-log{margin-top:22px}
.rev-log h2{font-size:1.05rem;margin:0 0 8px}
.rev-log table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.rev-log th,.rev-log td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left}
.rev-log th{font-size:.8rem;color:var(--muted)}
.grid.g8 button{cursor:pointer}

select:not([size]):not([multiple]) {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 42px;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right 22px center, right 16px center;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
