:root{--paper:#f7f4ee;--card:#fffdf9;--ink:#221f1b;--ink-2:#5c554c;--ink-3:#8d8478;--line:#ddd5c8;--line-2:#ece5d9;--accent:#8c3b2e;--accent-soft:#f2e3de;--ok:#35664a;--warn:#97701d;--radius:10px;--mono:ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Be Vietnam Pro,Roboto,sans-serif;font-size:15px;line-height:1.5}h1:where(:not(.gb-auth *)),h2:where(:not(.gb-auth *)),h3:where(:not(.gb-auth *)){letter-spacing:-.01em;font-family:Georgia,Times New Roman,serif;font-weight:600}h1:where(:not(.gb-auth *)){margin:0 0 4px;font-size:26px}h2:where(:not(.gb-auth *)){margin:0 0 10px;font-size:18px}h3:where(:not(.gb-auth *)){text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0 0 8px;font-family:inherit;font-size:14px}a:where(:not(.gb-auth *)){color:var(--accent);text-decoration:none}a:where(:not(.gb-auth *)):hover{text-decoration:underline}.wrap{max-width:1180px;margin:0 auto;padding:22px 20px 80px}.wrap-wide{max-width:1480px;margin:0 auto;padding:18px 20px 80px}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:22px;padding-bottom:14px;display:flex}.topbar .brand{font-family:Georgia,serif;font-size:19px;font-weight:600}.topbar nav{flex-wrap:wrap;gap:8px 14px;margin-left:auto;font-size:14px;display:flex}.topbar nav a{white-space:nowrap;min-height:24px;padding:2px 0;display:inline-block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.muted{color:var(--ink-3)}.small{font-size:13px}.mono{font-family:var(--mono);font-size:12px}button:where(:not(.gb-auth *)),.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 13px;transition:background .12s,border-color .12s}button:where(:not(.gb-auth *)):hover,.btn:hover{border-color:var(--ink-3);background:#fff;text-decoration:none}button:where(:not(.gb-auth *)):disabled{opacity:.45;cursor:not-allowed}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover,.btn.primary:hover{background:#74301f}button.ghost{color:var(--ink-3);background:0 0;border-color:#0000;padding:4px 7px}button.ghost:hover{background:var(--line-2);color:var(--ink)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input:where(:not(.gb-auth *)),select:where(:not(.gb-auth *)),textarea:where(:not(.gb-auth *)){font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;padding:6px 9px}input:where(:not(.gb-auth *)):focus,select:where(:not(.gb-auth *)):focus,textarea:where(:not(.gb-auth *)):focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}textarea{resize:vertical;min-height:54px}label.field{margin-bottom:10px;display:block}label.field>span{color:var(--ink-3);margin-bottom:3px;font-size:12px;display:block}.grid-2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:0 12px;display:grid}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top;padding:6px 8px}th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:11px;font-weight:600}td input,td select{padding:4px 7px}.tag{border:1px solid var(--line);color:var(--ink-2);background:var(--card);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.tag.draft{border-color:var(--line)}.tag.review{border-color:var(--warn);color:var(--warn)}.tag.approved{border-color:var(--ok);color:var(--ok);background:#eef4f0}.tag.ai{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.notice{border-left:3px solid var(--warn);background:#fdf7e8;border-radius:0 8px 8px 0;padding:10px 13px;font-size:14px}.notice.bad{border-color:var(--accent);background:var(--accent-soft)}.notice.good{border-color:var(--ok);background:#eef4f0}.sketch{-webkit-user-select:none;user-select:none;touch-action:none;border:1px solid var(--line);border-radius:var(--radius);background:#fff;position:relative;overflow:hidden}.sketch img{pointer-events:none;width:100%;height:auto;display:block}.pin{background:var(--accent);color:#fff;text-align:center;cursor:grab;border:2px solid #fff;border-radius:50%;width:24px;height:24px;font-size:12px;font-weight:700;line-height:24px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000004d}.pin.sel{background:#1d1a17;transform:translate(-50%,-50%)scale(1.15)}.pin:active{cursor:grabbing}.callout-row{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:8px;padding:6px 0;display:flex}.callout-row .n{background:var(--accent);color:#fff;text-align:center;border-radius:50%;flex:0 0 22px;height:22px;margin-top:4px;font-size:11px;font-weight:700;line-height:22px}.callout-row.sel{background:var(--accent-soft);border-radius:6px}.sticky-actions{z-index:5;background:linear-gradient(to top, var(--paper) 70%, transparent);margin-top:18px;padding:14px 0 10px;position:sticky;bottom:0}.sheet{color:#000;border:1px solid var(--line);background:#fff;width:210mm;min-height:297mm;margin:16px auto;padding:12mm;font-size:11px;line-height:1.35}.sheet h1{text-align:center;letter-spacing:.04em;font-size:22px}.sheet table{font-size:10px}.sheet th,.sheet td{border:1px solid #999;padding:3px 5px}.sheet .grid{grid-template-columns:1fr 320px;gap:8mm;display:grid}.sheet .leader{pointer-events:none;position:absolute;inset:0}@media print{@page{size:A4 portrait;margin:0}body{background:#fff}.noprint{display:none!important}.sheet{border:0;width:auto;min-height:auto;margin:0;padding:10mm}}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}.runlog ol{margin:0 0 8px;padding:0;list-style:none}.runlog li{align-items:baseline;gap:9px;padding:3px 0;font-size:14px;animation:.22s ease-out runlog-in;display:flex}.runlog .dot{background:var(--ok);border-radius:50%;flex:0 0 7px;width:7px;height:7px;transform:translateY(-1px)}.runlog li.model{color:var(--accent)}.runlog li.model .dot{background:var(--accent)}.runlog li.key .dot{background:var(--warn)}.runlog li.key{color:var(--warn)}.runlog li.pending{color:var(--ink-3)}.runlog .dot.spin{border:2px solid var(--line);border-top-color:var(--accent);background:0 0;flex-basis:11px;width:11px;height:11px;animation:.7s linear infinite runlog-spin}@keyframes runlog-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes runlog-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.runlog li,.runlog .dot.spin{animation:none}}.runpage{max-width:720px;margin:0 auto}.timeline{margin:18px 0 0;padding:0 0 0 4px;list-style:none}.timeline li{border-left:2px solid var(--line-2);grid-template-columns:14px 52px 74px 1fr;align-items:baseline;gap:10px;margin-left:6px;padding:7px 0 7px 16px;font-size:15px;animation:.22s ease-out runlog-in;display:grid}.timeline li:last-of-type{border-left-color:#0000}.timeline .dot{background:var(--ok);width:9px;height:9px;box-shadow:0 0 0 3px var(--paper);border-radius:50%;margin-left:-22px}.timeline .t{color:var(--ink-3);font-size:12px}.timeline .who{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.timeline li.model .dot{background:var(--accent)}.timeline li.model .what{color:var(--accent)}.timeline li.key .dot{background:var(--warn)}.timeline li.key .what{color:var(--warn);font-weight:500}.timeline li.pending .what{color:var(--ink-3);font-style:italic}.timeline .dot.spin{border:2px solid var(--line);border-top-color:var(--accent);background:0 0;width:11px;height:11px;margin-left:-23px;animation:.7s linear infinite runlog-spin}@media (max-width:640px){.timeline li{grid-template-columns:14px 46px 1fr}.timeline .who{display:none}}
