:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#253d3b;background:#f4f0e6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{min-height:100vh;width:100%;padding:clamp(18px,4vw,64px)}button,input,textarea{font:inherit}button{color:inherit;border:1px solid #abb9af;background:transparent;padding:10px 15px;border-radius:3px;cursor:pointer;transition:background .18s,transform .18s}button:hover{background:#e5e9dc;transform:translateY(-1px)}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c65938;outline-offset:3px}button[aria-pressed=true]{background:#253d3b;color:#f4f0e6}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:32px}.eyebrow{font:11px ui-monospace,monospace;letter-spacing:.16em;font-weight:600}h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,108px);font-weight:400;line-height:.91;letter-spacing:-.055em;margin:22px 0}h1 em{font-weight:400;color:#bd5b3c}h2{font-family:Georgia,serif;font-weight:400;font-size:28px;margin:10px 0 20px;overflow-wrap:anywhere}h3{font-size:15px}.subtitle{line-height:1.7;font-size:15px;color:#61716b}.mark{font-family:Georgia,serif;font-size:230px;line-height:1;color:#c65938;transform:rotate(-14deg)}.headnote{font-size:12px;line-height:1.9;letter-spacing:.04em}.headnote span{font:11px ui-monospace,monospace;color:#8c9690}nav{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0;border-top:1px solid #bbc2b5}nav button{border:0;background:#e7e8dc;font-size:12px}.canvas-section{background:#e6ebdf;border:1px solid #b5c1b2;padding:26px 0 15px}.canvas-top,.canvas-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 26px}.canvas-top h2{margin-bottom:4px}.badge{font:10px ui-monospace,monospace;letter-spacing:.04em;border:1px solid #c08a6f;border-radius:30px;padding:12px;white-space:nowrap}.badge.pass{border-color:#68988c;background:#d8e5d5}.strip-scroll{overflow-x:auto;padding:25px 0 10px}.strip{display:block;width:100%;height:190px}.strip path,.motif-list path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.strip .baseline{stroke:#87998b;stroke-width:.4;stroke-dasharray:2 5}.strip text{font:9px ui-monospace,monospace;text-anchor:middle;fill:#6e7d72}.flowing .ink{stroke-dasharray:70 5;animation:flow 7s linear infinite}@keyframes flow{to{stroke-dashoffset:-150}}.canvas-bottom{font-size:11px;color:#63766b}.canvas-bottom button{padding:7px 10px;font-size:11px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.toolbar button{font-size:12px}.toolbar button:nth-last-child(-n+2){border-color:#2c706e;color:#2c706e}.status{padding:14px 16px;background:#e9e4d7;border-left:3px solid #c65938;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.workspace{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #bbc2b5;margin-top:32px}.panel{padding:24px;min-width:0}.panel+.panel{border-left:1px solid #bbc2b5}.panel p{font-size:13px;line-height:1.55}label{display:block;font-size:12px;margin:12px 0;color:#48605b}input,textarea{display:block;width:100%;margin-top:7px;border:1px solid #bcc4b7;border-radius:2px;background:#faf8f1;padding:10px;color:#253d3b}textarea{min-height:100px;font:12px/1.6 ui-monospace,monospace;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint{font-size:11px!important;color:#708075}.motif-list{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:20px 0}.motif-list button{padding:8px 4px;min-width:0}.motif-list svg{width:100%;height:50px}.motif-list b{display:block;font:18px Georgia,serif}.motif-list small{display:block;font-size:9px;overflow-wrap:anywhere;line-height:1.3}.motif-editor{margin-top:20px;padding-top:8px;border-top:1px solid #bbc2b5}.checks{display:flex;gap:18px}.checks label{display:flex;gap:6px;align-items:center}.checks input{width:auto;margin:0}.rules{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.rules span{padding:7px 10px;background:#eadccf;border-radius:2px;color:#a34e34;font:12px ui-monospace,monospace}.primary{background:#2c706e;color:#fff;border:0;width:100%;margin-top:15px}.primary:hover{background:#235653}.sequence{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;max-height:400px;overflow:auto;margin:18px 0}.sequence button{padding:8px 2px;font:21px Georgia,serif}.sequence small{display:block;font:9px ui-monospace,monospace;color:#8b958c}.sequence span{display:block;font-size:9px;margin-top:5px}.sequence-panel>button{margin:2px;font-size:12px}.success{color:#2c706e;background:#e4eadc;padding:12px}.violations{padding-left:18px;font-size:12px;color:#a44b34;line-height:1.7;max-height:230px;overflow:auto}.files{border-top:1px solid #bbc2b5;margin-top:35px;padding:25px 0}.files p{font-size:13px}.files button{font-size:12px;margin:4px}.files input[type=file]{max-width:500px}.warning{color:#995c32}.json{min-height:280px}summary{cursor:pointer;margin:20px 0;padding:12px;background:#e7e8dc;font-size:13px}footer{border-top:1px solid #bbc2b5;padding-top:20px;color:#6b7a71;font-size:11px;line-height:1.7}footer p{max-width:950px}footer button{font-size:11px;padding:6px 9px;margin:4px}@media(max-width:1100px){.workspace{grid-template-columns:1fr 1fr}.sequence-panel{grid-column:1/-1;border-top:1px solid #bbc2b5;border-left:0!important}.sequence{grid-template-columns:repeat(12,1fr)}.headnote{display:none}}@media(max-width:680px){header{gap:0}.mark{font-size:110px}.workspace{grid-template-columns:1fr}.panel+.panel{border-left:0;border-top:1px solid #bbc2b5}.sequence{grid-template-columns:repeat(6,1fr)}.canvas-top,.canvas-bottom{align-items:flex-start;flex-direction:column}.strip{height:160px}.badge{font-size:9px}main{padding:18px}.panel{padding:20px}h1{font-size:64px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.checks{flex-wrap:wrap}.canvas-top>div:first-child{min-width:0;flex:1}h2,.motif-list small{white-space:pre-wrap}
