:root{--board: #e6e9ed;--paper: #ffffff;--ink: #1b1f24;--muted: #5d6672;--line: #d2d7de;--mark: #2563eb;--mark-soft: rgba(37, 99, 235, .12);--ok: #2f7d4f;--changes: #b4761c;--radius-s: 6px;--radius-m: 10px;font-family:Public Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45;color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--board)}h1,h2,p{margin:0}button,select,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--mark);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.chrome{position:sticky;top:0;z-index:20}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.title{display:flex;align-items:center;gap:20px;flex-wrap:wrap;min-width:0}h1{font-size:1.35rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.progress{display:flex;align-items:center;gap:10px}.blocks{display:flex;gap:3px}.block{width:14px;height:14px;border-radius:3px;background:var(--line)}.block.on{background:var(--ok)}.block.on.changes{background:var(--changes)}.count{font-size:.87rem;color:var(--muted);font-variant-numeric:tabular-nums}.who{font-size:.87rem}.modebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.modes{display:inline-flex;padding:3px;gap:2px;background:var(--board);border-radius:var(--radius-m)}.mode{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.mode[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #1b1f241f}.mode svg,.icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.canvas{position:relative;display:flex;gap:32px;align-items:flex-start;padding:28px 24px 120px;overflow-x:auto}.card{flex:none;display:flex;flex-direction:column;gap:12px}.card-head{display:flex;flex-direction:column;gap:8px;max-width:min(60ch,calc(100vw - 48px))}.frame-name{font-size:.87rem;font-weight:600;overflow-wrap:anywhere}.status select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 30px 6px 10px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 8l4 4 4-4' fill='none' stroke='%235d6672' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 8px center / 16px;cursor:pointer}.status.s-1 select{border-color:var(--ok);color:var(--ok)}.status.s-2 select{border-color:var(--changes);color:var(--changes)}.art{display:flex;gap:24px;align-items:flex-start}.sheet{position:relative;flex:none;background:var(--paper);box-shadow:0 1px 3px #1b1f2424}.sheet img{display:block;-webkit-user-select:none;user-select:none}.sheet.mode-comment{cursor:crosshair}.layer{position:absolute;padding:0;border:1.5px solid var(--mark);border-radius:2px;background:transparent;box-shadow:0 0 0 1px #ffffffd9;cursor:pointer}.layer:hover,.layer:focus-visible{background:var(--mark-soft)}.layer.done{border-style:dashed}.pin{position:absolute;transform:translate(-50%,-100%);width:26px;height:26px;padding:0;border:2px solid #fff;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--mark);color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;box-shadow:0 1px 3px #1b1f244d}.pin span{display:inline-block;rotate:45deg}.popover{position:absolute;z-index:30;width:min(360px,86vw);padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:0 8px 24px #1b1f242e}.popover textarea,.field input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--paper);resize:vertical}.note{font-size:.82rem;color:var(--changes)}.error{font-size:.85rem;color:#b42318}.row{display:flex;gap:8px;align-items:center}.row.end{justify-content:flex-end}.btn{padding:7px 14px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--paper);cursor:pointer}.btn.primary{border-color:var(--mark);background:var(--mark);color:#fff}.btn.quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#1b1f2466}.dialog{width:min(420px,100%);padding:22px;display:flex;flex-direction:column;gap:14px;background:var(--paper);border-radius:12px}.dialog h2{font-size:1.15rem}.field{display:flex;flex-direction:column;gap:6px;font-size:.87rem;font-weight:600}.panel{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(400px,100vw);display:flex;flex-direction:column;background:var(--paper);border-left:1px solid var(--line);box-shadow:-8px 0 24px #1b1f241f}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:1.05rem}.panel ol{list-style:none;margin:0;padding:8px 0;overflow-y:auto}.panel li{padding:12px 18px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;font-size:.9rem}.panel .meta{font-size:.8rem;color:var(--muted)}.panel .applied{color:var(--ok);font-size:.8rem;font-weight:600}.panel del{color:var(--muted)}.zoom{position:fixed;left:16px;bottom:16px;z-index:20;display:flex;align-items:center;gap:2px;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:0 2px 8px #1b1f241f}.icon{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}.icon:hover{background:var(--board)}.pct{min-width:46px;text-align:center;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}.empty{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}@media (max-width: 720px){.topbar,.modebar{padding:10px 16px}.mode .label{display:none}.canvas{flex-direction:column;padding:20px 16px 96px;gap:40px}.art{flex-direction:column;gap:16px}input,textarea,select{font-size:16px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.pin.pin-text,.pin.pin-image{background:var(--changes)}.details{gap:12px}.details-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.details-who{font-weight:700}.details .meta{font-size:.8rem;color:var(--muted)}.change-box{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:#f7f8fa}.change-label{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:8px}.count-chip{font-size:.75rem;font-weight:500;color:var(--muted);padding:1px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.copy{white-space:pre-wrap;overflow-wrap:anywhere}.copy del{background:#fbe0dc;color:inherit;text-decoration-color:#b42318}.copy ins{background:#dcefe3;text-decoration:none}.requested-img{max-width:100%;max-height:220px;object-fit:contain;border-radius:4px}.btn.danger{border-color:#b42318;background:#b42318;color:#fff}.btn.danger-quiet{border-color:transparent;background:transparent;color:#b42318}.confirm{display:flex;flex-direction:column;gap:8px;padding-top:4px;border-top:1px solid var(--line)}
