:root{--ink: #101317;--muted: #5a6472;--faint: #8b95a3;--line: #dfe5ee;--paper: #fff;--paper-2: #f5f7fa;--accent: #14324f;--radius: 8px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper-2);font-size:15px}button{font:inherit;color:inherit;cursor:pointer}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;background:var(--accent);color:#fff}.bar h1{margin:0;font-size:15px;font-weight:650;letter-spacing:.04em}.bar .spacer{margin-left:auto}.bar button{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:6px;padding:6px 12px;font-size:13px}.bar button:hover{background:#fff3}.bar button.primary{background:#fff;color:var(--accent);font-weight:650;border-color:#fff}.titleInput{font:inherit;font-size:13px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:6px 10px;color:#fff;min-width:220px}.titleInput::placeholder{color:#fff9}.notice{padding:8px 16px;background:#fff8e7;border-bottom:1px solid #e8d5a8;font-size:13px;cursor:pointer}.work{display:flex;flex:1;min-height:0;align-items:stretch;gap:14px;padding:14px}.palette{width:252px;flex:none;display:flex;flex-direction:column;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:13px;align-self:flex-start;max-height:100%;overflow-y:auto}.kitRail{width:186px}.palette h2{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}.palette section>button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:12.5px;margin-bottom:5px}.palette section>button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.palette section>button:disabled{opacity:.4;cursor:not-allowed}.hint{font-size:11.5px;color:var(--muted);margin:0 0 8px;line-height:1.4}.segmented{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.segmented button{flex:1;min-width:42px;background:var(--paper-2);border:1px solid var(--line);border-radius:5px;padding:5px 6px;font-size:11.5px;text-transform:capitalize;display:flex;align-items:center;justify-content:center}.segmented button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.cropRow button{flex-direction:column;gap:3px;padding:5px 2px 4px}.cropWhole{fill:none;stroke:currentColor;stroke-width:1;opacity:.35}.cropKept{fill:currentColor;fill-opacity:.3;stroke:currentColor;stroke-width:1.2}.teamBlock{margin-bottom:10px}.teamName{font-size:11.5px;font-weight:650;margin-bottom:4px}.teamName span{font-weight:400;color:var(--faint)}.numRow{display:flex;gap:3px;margin-bottom:4px;flex-wrap:wrap}.numBtn{background:none;border:1.5px solid transparent;border-radius:8px;padding:2px;line-height:0}.numBtn:hover{border-color:var(--line);background:var(--paper-2)}.numBtn.on{border-color:var(--accent);background:#eaf0f6}.lineKey{margin-left:auto;flex:none;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--faint);background:#fff;border:1px solid var(--line);border-radius:4px;min-width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center}.lineBtn.on .lineKey{color:var(--accent);border-color:var(--accent)}.lineBtn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:12px;margin-bottom:5px}.lineBtn>svg{flex:none}.lineBtn>span{flex:1;min-width:0}.lineBtn.on{border-color:var(--accent);background:#eaf0f6;font-weight:600}.kitGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.kitBtn{display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--paper-2);border:1px solid var(--line);border-radius:5px;padding:5px 2px 4px;font-size:9.5px;line-height:1.15;text-align:center;color:var(--muted)}.kitBtn svg{flex:none}.kitBtn.on{color:var(--ink)}.kitBtn.on{border-color:var(--accent);background:#eaf0f6;font-weight:600}.stage{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;gap:8px}.strip{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:none}.stripTab{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:12.5px;color:var(--muted);max-width:220px}.stripTab>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stripTab.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.stripNo{font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.6;flex:none}.stripName{font:inherit;font-size:12.5px;width:130px;padding:1px 4px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}.stripAdd{background:var(--paper);border:1px dashed var(--line);border-radius:6px;padding:4px 11px;font-size:15px;line-height:1;color:var(--muted)}.stripAdd:hover{border-color:var(--accent);color:var(--accent)}.stripSpacer{flex:1;min-width:8px}.stripAct{background:none;border:1px solid transparent;border-radius:6px;padding:4px 8px;font-size:11.5px;color:var(--muted)}.stripAct:hover:not(:disabled){border-color:var(--line);background:var(--paper);color:var(--ink)}.stripAct:disabled{opacity:.35;cursor:not-allowed}.canvas{flex:1;width:100%;height:100%;min-height:0;border:1px solid var(--line);border-radius:var(--radius);touch-action:none}.canvas{user-select:none;-webkit-user-select:none}.canvas text{user-select:none;-webkit-user-select:none}.canvas.tool-select{cursor:default}.canvas.tool-player,.canvas.tool-kit{cursor:copy}.canvas.tool-line{cursor:crosshair}.selRing{fill:none;stroke:#2f80ed;stroke-width:3;stroke-dasharray:5 4}.canvas .token,.canvas.tool-select .lineHit,.canvas.tool-line .lineHit{cursor:grab}.lineMark>:not(.lineHit){pointer-events:none}.foot{display:flex;gap:20px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted)}@media(max-width:1000px){.work{flex-direction:column}.palette,.kitRail{width:100%;max-height:none;align-self:auto}.canvas{height:auto;aspect-ratio:auto;min-height:60vh}.app{height:auto;overflow:visible}.work{flex-direction:column;padding:10px}.palette,.kitRail{width:100%;max-height:none}.kitGrid,.kitRail .kitGrid{grid-template-columns:repeat(3,1fr)}}@media print{@page{margin:12mm}html,body,#root{height:auto}.app{display:block;height:auto;overflow:visible}.bar,.palette,.kitRail,.foot,.notice,.strip{display:none!important}.work{display:block;height:auto;min-height:0;padding:0}.stage{display:block;height:auto;min-height:0}.canvas{display:block;width:100%;height:auto;max-height:9in;margin:0 auto;border:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.printOnly,.printHead,.printNotes{display:block!important}.printHead{display:flex!important;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1.5px solid #101317;padding-bottom:6px;margin-bottom:10px}.printHead h2{margin:0;font-size:15pt;font-weight:650}.printHead p{margin:2px 0 0;font-size:9.5pt;color:#444}.printHead time{font-size:10pt;font-weight:600;white-space:nowrap}.printNotes{margin-top:12px}.printNotes h3{margin:0 0 6px;font-size:8.5pt;letter-spacing:.09em;text-transform:uppercase;color:#555}.printNotes p{margin:0;font-size:10pt;line-height:1.5;white-space:pre-wrap}.printRules span{display:block;border-bottom:1px solid #b9c0cb;height:22px}.printRest{display:block!important}.printPage{display:block;break-before:page;page-break-before:always}.handle,.handleBend,.selRing,.marquee,.snapRing,.chrome,.guide{display:none!important}}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#10131773;display:flex;align-items:center;justify-content:center;padding:20px}.sheetCard{background:var(--paper);border-radius:10px;max-width:720px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.sheetHead{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);border-radius:10px 10px 0 0}.sheetHead h2{margin:0;font-size:15px;font-weight:650}.sheetHead button{background:none;border:0;font-size:15px;color:var(--muted);padding:4px 6px}.sheetGroups{padding:14px 18px 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:6px 28px}.sheetGroups h3{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:10px 0 6px}.sheetRow{display:flex;align-items:baseline;gap:10px;padding:3px 0;font-size:12.5px}.sheetKeys{flex:none;display:flex;gap:3px;min-width:106px}.sheetRow kbd{font:600 10.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:3px 5px;color:var(--ink)}.printOnly,.printHead,.printNotes{display:none}.notesInput{width:100%;font:inherit;font-size:12.5px;line-height:1.45;border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:#fff;resize:vertical;min-height:68px}.notesInput:focus{outline:2px solid var(--accent);outline-offset:1px}.dateInput{min-width:0;width:150px}.dateInput::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7}.colorRow{margin-bottom:8px}.colorLabel{font-size:11.5px;font-weight:650;display:block;margin-bottom:4px}.swatches{display:flex;gap:4px;flex-wrap:wrap}.swatch{width:22px;height:22px;border-radius:5px;border:2px solid transparent;box-shadow:inset 0 0 0 1px #0000002e;padding:0}.swatch.on{border-color:var(--accent)}.swatchCustom{background:linear-gradient(135deg,#f66,#6cf,#6f9);cursor:pointer}.swatchKit{background:repeating-linear-gradient(45deg,#fff,#fff 3px,var(--line) 3px,var(--line) 6px)}.marquee{fill:#2f80ed1f;stroke:#2f80ed;stroke-width:2;stroke-dasharray:6 4}.printRest{display:none}.panelToggle{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.panelToggle .chev{width:0;height:0;flex:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--faint);transition:transform .12s ease}.panel.shut h2{margin-bottom:0}.panel.shut .chev{transform:rotate(-90deg)}.numberPop{position:fixed;transform:translate(-50%,-50%);z-index:20}.numberPop input{width:54px;text-align:center;font:inherit;font-size:15px;font-weight:650;padding:5px 4px;border-radius:6px;background:#fff;border:2px solid var(--accent);box-shadow:0 2px 10px #00000040}.numberPop.wide input{width:190px;text-align:left;font-weight:500}.numberPop input:focus{outline:none}.sidedGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px}.sidedGrid .kitBtn{font-size:12px;font-weight:600;padding:7px 4px}.sidedCustom{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap;padding:8px;margin-bottom:10px;background:var(--paper-2);border:1px solid var(--line);border-radius:6px}.sidedCustom label{font-size:10.5px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.sidedCustom input{font:inherit;font-size:12.5px;width:52px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;background:#fff}.sidedCustom>span{font-size:12px;color:var(--faint);padding-bottom:6px}.sidedCustom .tmplBtn{width:auto;flex:1;margin:0;text-align:center}.sectionSplit{margin-top:14px!important;padding-top:12px;border-top:1px solid var(--line)}.shirtRow{margin-bottom:10px}.shirtBtn{min-width:26px;padding:3px 5px;font-size:12px;background:var(--paper-2);border:1px solid var(--line);border-radius:5px}.shirtBtn.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:650}.tmplBtn{display:block;width:100%;text-align:left;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:12px;margin-bottom:5px}.tmplBtn:hover{border-color:var(--accent);background:#eaf0f6}.chromeBox{fill:none;stroke:#2f80ed;stroke-width:2;stroke-dasharray:6 4}.chromeMember{fill:none;stroke:#2f80ed;stroke-width:1.4;stroke-opacity:.55;pointer-events:none}.chromeCorner{fill:#2f80ed;stroke:#fff;stroke-width:1.5;cursor:nwse-resize}.chromeArm{stroke:#2f80ed;stroke-width:2}.chromeKnob{fill:#fff;stroke:#2f80ed;stroke-width:2.2;cursor:grab}.chromeKnobIcon{fill:none;stroke:#2f80ed;stroke-width:2;stroke-linecap:round;pointer-events:none}.chromeKnobArrow{fill:#2f80ed;pointer-events:none}.chromeGrab{fill:transparent}.canvas.tool-select .chromeGrab{cursor:grab}.chrome{pointer-events:none}.chrome .chromeKnob,.chrome .chromeCorner,.chrome .chromeGrab{pointer-events:auto}.handle{fill:#fff;stroke:#2f80ed;stroke-width:2.5;cursor:grab}.handleBend{fill:#2f80ed;stroke:#fff}.guide{stroke:#e0417c;stroke-width:1.5;stroke-dasharray:7 5;pointer-events:none}.snapRing{fill:#2f80ed29;stroke:#2f80ed;stroke-width:3;pointer-events:none}.labelInput{width:100%;font:inherit;font-size:12.5px;border:1px solid var(--line);border-radius:6px;padding:6px 9px;margin-bottom:6px;background:#fff}.labelInput:focus{outline:2px solid var(--accent);outline-offset:1px}
