:root{font-family:Arial,sans-serif;color:#253d40;background:#eee9df;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid #a9b8af;background:#f9f7ef;color:#253d40;border-radius:5px;padding:10px 12px}button:hover{background:#e0e7dc}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true]{background:#263f43;color:#fff}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d76c43;outline-offset:3px}main{min-height:100dvh;padding:30px clamp(16px,3vw,48px)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}h1{font:clamp(30px,4vw,56px)/1.05 Georgia,serif;margin:12px 0}header p{margin:0;color:#5b6f6a}h2{font-size:15px;font-weight:600;margin:12px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.workspace{display:grid;grid-template-columns:240px minmax(300px,1fr) 220px;gap:22px}aside{padding:18px;background:#f6f3eb;border:1px solid #d9dacc;border-radius:8px}aside h2:not(:first-child){margin-top:25px}aside>button{width:100%;margin:5px 0}.stock{display:grid;grid-template-columns:32px 1fr 58px;gap:8px;align-items:center;margin:12px 0;font-size:12px}.swatch{width:32px;height:32px;border-radius:50%;padding:0;color:#fff;text-shadow:0 1px 3px #000}.swatch.active{outline:2px solid #233e40;outline-offset:3px}.stock input{width:58px;padding:7px}input{border:1px solid #a9b8af;border-radius:4px;padding:8px;background:#fff;color:#253d40}label>input:not([type=checkbox]){width:100%;margin:8px 0}.totals{border-top:1px solid #d0d8cc;padding-top:15px;font-size:12px}.totals strong{font-size:25px}.totals span{display:block;margin-top:6px}.tools{display:flex;gap:5px;flex-wrap:wrap}.tools button{flex:1;font-size:12px}.muted{font-size:12px;color:#5b6f6a;line-height:1.65}.primary{background:#294f4c;color:#fff;margin-top:12px!important}.canvas{min-width:0;background:#e0e6da;border:1px solid #c7d1c2;border-radius:10px;padding:24px;display:flex;align-items:center;flex-direction:column}.canvashead{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;margin-bottom:24px}.canvashead h2{font:22px Georgia,serif}.board{display:grid;width:min(100%,570px);gap:5px;padding:15px;background:#b5c5b5;border:1px solid #94a99d;border-radius:5px}.bead{aspect-ratio:1;padding:0;border-radius:50%;border:1px solid #0002;box-shadow:inset 0 3px 5px #fff4,0 2px 3px #0002}.bead span{display:inline-block;border-radius:20px;background:#ffffffde;padding:2px 4px;font-size:clamp(9px,1vw,13px)}.bead.masked{background:transparent;box-shadow:none;border:1px dashed #6f8980}.bead.selected{outline:2px solid #1a3537;outline-offset:1px}.status{margin-top:20px;font-size:13px;line-height:1.5;min-height:40px;width:100%}.metrics{width:100%;display:flex;gap:18px;justify-content:space-between;font-size:12px}.metrics b{font-size:24px;display:block}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0}.check input{width:18px;height:18px;accent-color:#294f4c}.note{font-size:11px;padding:12px;background:#e9e4d5;line-height:1.6}.chart{width:100%}.chart svg{display:block;width:100%;height:auto}footer{display:flex;justify-content:space-between;gap:30px;margin-top:24px;font-size:10px;color:#5b6f6a}details{max-width:650px;font-size:12px;line-height:1.6}summary{cursor:pointer}details button{margin:4px}@media(max-width:1100px){.workspace{grid-template-columns:210px 1fr}.workspace>aside:last-child{grid-column:1/-1;display:block}.canvas{padding:15px}}@media(max-width:660px){main{padding:18px 12px}header{gap:10px}header button{font-size:11px}.workspace{display:flex;flex-direction:column}.canvas{order:-1}.canvashead{align-items:start}.canvashead h2{font-size:18px}.board{gap:3px;padding:10px}.bead span{font-size:10px}footer{flex-direction:column}.metrics{gap:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{header,aside,footer,.canvashead,.status,.metrics{display:none!important}main{padding:0}.workspace{display:block}.canvas{padding:0;border:0;background:#fff}.chart{width:100%}}
