:root{--ink:#15171A;--ink-soft:#5C646D;--paper:#FFFFFF;--surface:#FFFFFF;--panel:#F7F8F9;--board:#F4F5F6;--board-line:#E2E4E8;--rule:#E2E4E8;--accent:#E0705C;--pos:#2F7D6E;--neg:#C6553F;--mid:#BE8A2C}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Arimo,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Raleway,Arimo,sans-serif;letter-spacing:-.025em;margin:0}h1{font-size:clamp(30px,7vw,46px);font-weight:800;line-height:1.03}h2{font-size:clamp(20px,4vw,26px);font-weight:800;line-height:1.15}h3{font-size:16px;font-weight:700}p{margin:0}a{color:var(--ink)}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.muted{color:var(--ink-soft)}.small{font-size:13px}.tiny{font-size:12px}.site-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--rule)}.mark{font-family:Raleway,Arimo,sans-serif;font-weight:800;font-size:17px;letter-spacing:-.03em;text-decoration:none}.mark span{color:var(--accent)}.wrap{max-width:960px;margin:0 auto;padding:24px 16px 80px}.stack{display:flex;flex-direction:column;gap:14px}.stack-lg{display:flex;flex-direction:column;gap:26px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.spacer{flex:1}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:18px}.panel.tight{padding:14px}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}input[type=text],textarea{width:100%;padding:11px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--surface);font:inherit;color:inherit}textarea{resize:vertical;min-height:70px}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--pos);outline-offset:2px}.btn{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;padding:11px 16px;border-radius:3px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;text-decoration:none;display:inline-block}.btn.quiet{background:var(--surface);color:var(--ink);border-color:var(--rule)}.btn.small{padding:8px 11px;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed}.notice{border-left:3px solid var(--neg);background:var(--surface);padding:12px 14px;border-radius:0 3px 3px 0;font-size:14px}.notice.good{border-color:var(--pos)}.stage-row{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:12px}.stage-num{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-soft);padding-top:11px;min-width:22px}.stage-fields{flex:1;display:flex;flex-direction:column;gap:8px}.stage-tools{display:flex;flex-direction:column;gap:4px}.icon-btn{border:1px solid var(--rule);background:var(--surface);color:var(--ink-soft);border-radius:3px;width:28px;height:26px;cursor:pointer;font-size:13px;line-height:1;padding:0}.icon-btn:hover{color:var(--ink)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.scale{display:grid;grid-template-columns:repeat(11,1fr);gap:3px;margin-top:4px}.scale button{aspect-ratio:1/1.2;border:1px solid var(--rule);background:var(--surface);border-radius:2px;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--ink-soft);cursor:pointer;padding:0}.scale button[data-on="1"]{color:#fff;border-color:transparent;font-weight:500}.scale-ends{display:flex;justify-content:space-between;margin-top:6px}.board-scroll{overflow-x:auto;background:var(--board);border:1px solid var(--rule);border-radius:4px;-webkit-overflow-scrolling:touch}.board-inner{position:relative}.board-labels{display:flex;align-items:flex-start;padding-bottom:14px}.board-label{padding:0 10px;font-size:12.5px;line-height:1.25;font-weight:600}.board-label .n{display:block;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:400;color:var(--ink-soft);margin-top:3px}.journey-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s ease-out forwards}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.journey-line{animation:none;stroke-dashoffset:0}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat{background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:12px}.stat .v{font-family:Raleway,Arimo,sans-serif;font-weight:800;font-size:24px;letter-spacing:-.02em;line-height:1.1}.stat .k{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:5px}.cards{display:grid;gap:10px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:14px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.score{font-family:Raleway,Arimo,sans-serif;font-weight:800;font-size:22px;letter-spacing:-.02em}.dist{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;align-items:end;height:34px;margin-top:12px}.dist i{background:var(--rule);border-radius:1px 1px 0 0;min-height:2px;display:block}.notes{margin-top:12px;border-top:1px solid var(--rule);padding-top:10px;display:flex;flex-direction:column;gap:8px}.note{font-size:14px;padding-left:10px;border-left:2px solid var(--rule)}.code-badge{font-family:IBM Plex Mono,monospace;font-size:26px;letter-spacing:.16em;font-weight:500}.link-box{font-family:IBM Plex Mono,monospace;font-size:12.5px;background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:10px 12px;word-break:break-all}.switch{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:12px}.switch input{margin-top:3px}.switch label{margin:0;font-size:14px}.door{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:16px}.door:hover{border-color:var(--ink)}.doors{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width:640px){.doors{grid-template-columns:1fr 1fr}}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.segmented{display:inline-flex;border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:var(--surface)}.segmented button{font-family:IBM Plex Mono,monospace;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;padding:9px 13px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer}.segmented button[data-on="1"]{background:var(--ink);color:var(--paper)}.legend{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:7px 10px;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer}.chip[data-off="1"]{opacity:.42;text-decoration:line-through}.splits{margin-top:12px;display:flex;flex-direction:column;gap:7px}.split{display:flex;align-items:center;gap:8px;font-size:13px}.swatch{width:9px;height:9px;border-radius:2px;flex:none}.split-name{min-width:104px;flex:none}.bar{position:relative;flex:1;height:9px;background:var(--paper);border-radius:2px;overflow:hidden}.bar i{position:absolute;top:0;bottom:0;border-radius:2px;min-width:2px}.bar b{position:absolute;top:0;bottom:0;width:1px;background:var(--ink);opacity:.45}.note-tag{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:2px}@media (max-width:520px){.split-name{min-width:80px;font-size:12px}}.swot-frame{display:grid;grid-template-columns:1fr;gap:6px}.axis-top,.axis-side{display:none}.swot-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width:760px){.swot-grid{grid-template-columns:1fr 1fr}.axis-top{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 4px}.axis-side{display:flex;justify-content:space-between;padding:0 4px}}.quad{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:14px}.quad[data-side=inside]{background:var(--panel)}.quad[data-tone=pos]{border-top:3px solid var(--pos)}.quad[data-tone=neg]{border-top:3px solid var(--neg)}.quad header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.quad-items{display:flex;flex-direction:column;gap:8px}.swot-item{border-left:2px solid var(--rule);padding:2px 0 2px 10px}.swot-item[data-tone=pos]{border-left-color:var(--pos)}.swot-item[data-tone=neg]{border-left-color:var(--neg)}.swot-item[data-dim="1"]{opacity:.4}.swot-body{font-size:14.5px;line-height:1.35}.swot-meta{display:flex;align-items:center;gap:8px;margin-top:5px;flex-wrap:wrap}.votes{font-size:12px;background:var(--ink);color:var(--paper);border-radius:2px;padding:1px 6px}.stage-tag{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule);border-radius:2px;padding:1px 5px}.quad-pick{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quad-pick button{text-align:left;padding:10px 12px;border:1px solid var(--rule);background:var(--surface);border-radius:3px;cursor:pointer;font:inherit}.quad-pick button[data-on="1"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.quad-pick .tiny{display:block;color:var(--ink-soft)}.vote-row{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:11px}.vote-row[data-on="1"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.vote-row input{margin-top:3px}.budget{position:sticky;bottom:0;background:var(--paper);padding:12px 0;border-top:1px solid var(--rule)}select{width:100%;padding:11px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--surface);font:inherit}.qr-panel{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:14px}.qr-panel svg{flex:none;border:1px solid var(--rule);border-radius:2px}.qr-stage{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.qr-stage-inner{text-align:center}.qr-stage-inner svg{border:1px solid var(--rule);background:var(--surface)}.report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:24px}.report-qr{flex:none;text-align:center}.report-section{margin-bottom:26px}.report-foot{margin-top:30px;border-top:1px solid var(--rule);padding-top:10px}.ranked{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:9px}.ranked li{display:flex;gap:10px;align-items:baseline;font-size:15px}@media print{@page{size:A4 landscape;margin:12mm}html,body{background:var(--surface)}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-head,.no-print,.segmented,.qr-panel .btn,.swot-meta .btn{display:none!important}.wrap{max-width:none;padding:0}.report-head{break-after:avoid}.page-break{break-before:page}.card,.panel,.quad,.stat{break-inside:avoid}.board-scroll{overflow:visible;border:0;background:transparent;height:calc(320px * var(--print-fit, 1))}.board-inner{transform:scale(var(--print-fit,1));transform-origin:top left}.swot-grid{grid-template-columns:1fr 1fr}.axis-top{display:grid;grid-template-columns:1fr 1fr;gap:10px}.axis-side{display:flex;justify-content:space-between}.stats{grid-template-columns:repeat(5,1fr)}a{text-decoration:none;color:inherit}}.map-frame{border:1px solid var(--rule);border-radius:4px;padding:12px;background:var(--panel)}.map-frame svg{display:block;border:1px solid var(--rule);border-radius:2px}.map-axes{display:flex;justify-content:space-between;padding:8px 4px 0}.weight-bar{display:flex;height:46px;border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:var(--surface)}.weight-bar span{display:flex;flex-direction:column;justify-content:center;padding:0 8px;min-width:0;overflow:hidden;border-right:1px solid rgba(255,255,255,.5)}.weight-bar span:last-child{border-right:0}.weight-bar b{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weight-bar i{font-size:11px;font-style:normal;opacity:.85}.weight-bar span[data-tone=pos]{background:var(--pos);color:#fff}.weight-bar span[data-tone=neg]{background:var(--neg);color:#fff}.weight-bar span[data-side=outside]{opacity:.62}
