@charset "UTF-8";
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24342f;background:#f5f4ee;font-synthesis:none;--ink:#24342f;--muted:#747d76;--green:#173f36;--line:#e0e4db;--paper:#fffef9;accent-color:#275e4d;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:background .16s,border-color .16s}button:disabled{opacity:.35;cursor:default}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #c99b4e;outline-offset:3px}button{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:9px 14px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:550}button:hover:not(:disabled){background:#edf0e7;border-color:#a8b6a8}button.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover{background:#285849}button.active{background:#e5ecdf;border-color:#708c65;color:#173f36}button.small{min-height:34px;padding:7px 11px;font-size:11px}button.danger{color:#994d3c}button.off{color:#8f9992}input,select{min-width:0;width:100%;border:1px solid #d8ded4;border-radius:7px;background:#fffefb;color:#253b30;padding:10px 11px;font-size:12px;min-height:40px}input[type=checkbox],input[type=radio]{width:16px;min-width:16px;height:16px;min-height:0;margin:0;flex-shrink:0}input[type=color]{padding:5px;height:40px}input[type=file]{font-size:11px;padding:7px;overflow:hidden;background:#f7f8f0}input[type=file]::file-selector-button{border:0;border-radius:4px;background:#e3e9da;color:#234533;padding:7px 8px;margin-right:8px;cursor:pointer}input[aria-invalid=true]{border-color:#ae5241;background:#fff1e9}label{display:flex;flex-direction:column;gap:7px;font-size:11px;line-height:1.45;color:#5e6d62}select{padding-right:24px}.check{flex-direction:row;align-items:center;gap:8px;line-height:1.5;font-size:12px}.app-header{height:94px;display:flex;align-items:center;gap:42px;padding:0 36px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green);font-weight:800;font-size:19px;letter-spacing:3px;min-width:210px}.brand-symbol{width:42px;height:42px;border-radius:50%;border:1px solid #91a685;display:grid;place-items:center;font-size:32px;font-weight:400;line-height:1;letter-spacing:0}.brand-sub{display:block;font-size:8px;font-weight:500;letter-spacing:2px;margin-top:6px;color:#7b8c77}.project-heading{min-width:160px;flex:1}.project-heading>label{font-size:8px;font-weight:600;letter-spacing:1.5px;color:#8c9385}.project-heading input{width:min(100%,300px);border:0;border-radius:0;background:transparent;padding:5px 0;min-height:0;font-size:14px;font-weight:600}.save-state{display:block;font-size:9px;color:#73846e;line-height:1.3}.save-state::before{content:'●';font-size:7px;margin-right:5px;color:#7b9a68}.toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0}.history-tools{display:flex;margin-right:14px;gap:2px}.history-tools button{border:0;background:transparent;font-size:21px;padding:5px 9px}.toolbar .primary{padding:11px 20px}.toolbar #help-open{width:40px;border-radius:50%;margin:0 5px}main{display:grid;grid-template-columns:370px minmax(0,1fr);gap:28px;max-width:1750px;margin:0 auto;padding:26px 36px;height:calc(100dvh - 94px);min-height:650px}.editor{overflow:auto;padding:0 12px 24px 0;scrollbar-width:thin;scrollbar-color:#c5cebd transparent}.tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin-bottom:22px;padding:2px;background:#e9ece3;border-radius:10px}.tabs button{background:transparent;border:0;font-size:9px;font-weight:400;padding:9px 1px;color:#85917e;min-height:58px}.tabs button span{display:block;font-size:10px;font-weight:600;margin-top:5px;color:#596b56}.tabs button.active{background:#fffef9;color:#43713f;box-shadow:0 2px 5px #263d2a0c}.tabs button.active span{color:#23422b}.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:22px}.editor>.panel{margin-bottom:16px}.eyebrow{font-size:8px;letter-spacing:1.6px;font-weight:700;color:#8b957d;margin-bottom:10px}h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:25px;margin:0 0 16px;color:#283e2d;letter-spacing:-.5px}h3{font-size:12px;font-weight:650;margin:0 0 12px;color:#42553e}.intro-note{font-size:12px;line-height:1.65;color:#768170;margin:-4px 0 22px}.note,.notice{font-size:10.5px;line-height:1.65;color:#7d8777;margin:12px 0}.notice{background:#f3f0e4;border-left:2px solid #c2ad74;padding:10px 12px;border-radius:2px;color:#7b714f}.muted{color:#818975}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.grid .full{grid-column:1/-1}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.row h3{margin:0}.gap{display:flex;flex-wrap:wrap;gap:6px}.separator{height:1px;border:0;background:var(--line);margin:22px 0}.compact-actions{margin-top:13px}.full-button{width:100%;margin-top:12px}.model-choices{display:flex;gap:10px}.model-choice{padding:10px;border:1px solid var(--line);border-radius:7px;flex:1;font-size:11px}.model-choice:has(input:checked){background:#edf1e6;border-color:#a3b698}.movement-card{padding:15px;margin-top:12px;background:#f0f3ea;border-radius:8px}.movement-card h3{font-size:14px;color:#345232;margin:0 0 8px}.movement-card p{font-size:10px;line-height:1.7;color:#6e7f66;margin:7px 0}.movement-card details{font-size:10px;margin-top:12px}.movement-card summary{cursor:pointer;color:#3b6236}.movement-card a{display:block;color:#34624e;margin-top:9px;line-height:1.4;text-underline-offset:2px}.movement-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.movement-chips span{font-size:8px;color:#456139;border:1px solid #ccd9bf;border-radius:20px;padding:4px 7px;background:#f9fbf4}.accuracy-tag{font-size:8px;letter-spacing:.5px;color:#44633a;display:inline-block;margin:2px 0 7px}.accuracy-tag.approximate{color:#987340}.style-presets{display:flex;gap:7px;margin-bottom:18px}.style-presets button{flex:1;font-size:10px;padding:9px}.style-presets button:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#e9e1c8;margin-right:5px;box-shadow:0 0 0 1px #0001}.style-presets [data-look=midnight]:before{background:#233443}.style-presets [data-look=forest]:before{background:#235143}.slot-buttons,.digit-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:17px 0}.digit-buttons{grid-template-columns:repeat(6,1fr);gap:5px}.digit-buttons>div{text-align:center}.digit-buttons .check{justify-content:center;margin-bottom:6px}.digit-buttons button{width:100%;padding:7px 2px}.slot-card{border-top:1px solid var(--line);margin-top:19px;padding-top:18px}.slot-card>.row{margin-bottom:15px}.extra-buttons{display:flex;gap:6px;flex-wrap:wrap}.extra-buttons button{font-size:10px}.status{font-size:11px;line-height:1.6;padding-top:12px;border-top:1px solid var(--line);color:#4e7145;overflow-wrap:anywhere}.preview-panel{min-height:0;display:flex;flex-direction:column;padding:24px 28px 20px;background:#fbfcf7;overflow:hidden}.preview-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.preview-top h2{font-size:29px;margin:0;overflow-wrap:anywhere}.preview-top .eyebrow{margin-bottom:6px}.zoom{display:flex;align-items:center;gap:5px;flex-shrink:0}.zoom button{background:transparent;border-color:#dfe6d7;padding:5px 9px;min-height:28px}.zoom span{font-size:9px;color:#7f9078;min-width:36px;text-align:center}.preview-meta{display:flex;gap:9px;align-items:center;margin:15px 0 18px;font-size:9px;flex-wrap:wrap}.preview-meta span:first-child{background:#e9efdf;border-radius:5px;color:#547146;padding:5px 8px}.preview-meta span:last-child{color:#98a187}.stage{flex:1;min-height:290px;overflow:auto;display:grid;place-items:center;background-color:#e9eee1;background-image:radial-gradient(#a5b29355 .7px,transparent .7px);background-size:14px 14px;border:1px solid #e0e8d6;border-radius:10px;padding:18px;position:relative}.dial-mount{flex-shrink:0;touch-action:none;cursor:grab;filter:drop-shadow(0 12px 18px #1b3d2620);border-radius:50%;max-width:none}.dial-mount svg{width:100%;height:100%;display:block;pointer-events:none}.dial-mount.dragging{cursor:grabbing}.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:14px 0 18px;font-size:8px;color:#87947b}.legend span{display:flex;align-items:center;gap:5px}.legend i{display:inline-block;width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;filter:saturate(.7)}.selection label{font-size:9px;letter-spacing:.3px}.selection select{font-size:11px;background:#f8faf4}.preview-panel #selection-info{font-size:9px;margin:10px 0 0}.canvas-hint{font-size:9px;color:#a0ab94;margin:7px 0 17px}.preview-panel .row{border-top:1px solid #e5e9dd;padding-top:12px}.preview-panel #dimensions-info{font-size:10px!important}.app-dialog{width:min(92vw,520px);padding:32px;border:1px solid #d9e1d1;border-radius:16px;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #12332233}.app-dialog::backdrop{background:#19302570;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:14px;top:14px;border:0;background:transparent;font-size:23px;min-height:28px;padding:2px 8px}.app-dialog h2{font-size:29px;margin-top:12px}.app-dialog>p{font-size:12px;line-height:1.6;color:#708167}.export-options{display:grid;gap:9px;margin:22px 0}.export-options button{text-align:left;padding:16px;display:flex;flex-direction:column;gap:7px;background:#f4f6ee}.export-options strong{font-size:15px;font-weight:600;color:#315330}.export-options span{font-size:10px;font-weight:400;color:#7a8771}.help-steps{padding-left:18px;font-size:12px;line-height:1.75;color:#6d7b63}.help-steps li{padding:5px 0 10px 5px}.help-steps strong{color:#39572e}#print-sheet{display:none}[hidden]{display:none!important}
@media(min-width:1600px){main{grid-template-columns:400px minmax(0,1fr);gap:36px;padding-top:32px}.panel{padding:26px}.preview-panel{padding:30px 36px}.app-header{padding:0 max(36px,calc((100vw - 1678px)/2))}}
@media(max-width:1080px){.app-header{gap:18px;padding:0 22px}.brand{min-width:175px}.toolbar{gap:5px}.history-tools{margin-right:4px}.toolbar button{padding:9px 10px}.toolbar .primary{padding:10px 13px}main{grid-template-columns:340px minmax(0,1fr);gap:18px;padding:20px}.preview-panel{padding:20px}.zoom #zoom-fit{display:none}.preview-top h2{font-size:24px}}
@media(max-width:800px){.app-header{height:auto;min-height:114px;padding:16px 20px;flex-wrap:wrap;gap:14px}.brand{flex:1;font-size:17px;min-width:0}.brand-symbol{height:34px;width:34px;font-size:27px}.brand-sub{font-size:7px}.project-heading{flex:1;text-align:right;min-width:150px}.project-heading input{text-align:right;font-size:12px}.toolbar{flex:1;justify-content:flex-end}.history-tools{margin-right:auto}.toolbar button{font-size:11px}.toolbar #help-open{width:32px;min-height:32px}main{height:auto;min-height:0;padding:16px;grid-template-columns:1fr;gap:16px}.editor{padding:0;overflow:visible;display:contents}.tabs{grid-row:1;position:sticky;top:0;z-index:5;margin:0;box-shadow:0 3px 12px #19381d0c}.preview-panel{grid-row:2;height:580px;padding:19px}.editor>.panel{margin:0}.preview-top h2{font-size:24px}.stage{min-height:280px}.preview-meta{margin:12px 0}.legend{margin:11px 0;gap:12px}.app-dialog{padding:27px}.panel{padding:22px}.grid{gap:14px}.editor .grid label{font-size:12px}.editor input,.editor select{font-size:14px;min-height:43px}.editor input[type=checkbox],.editor input[type=radio]{min-height:0}.editor .note{font-size:12px}.tabs button{min-height:52px}.tabs button span{font-size:10px}.canvas-hint{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@page{size:A4 portrait;margin:14mm}
@media print{body{background:#fff;color:#000}.app-header,main,.app-dialog{display:none!important}#print-sheet{display:block;font-family:Arial,sans-serif;color:#000;padding:0}#print-sheet h2{font:600 16pt Arial;color:#000;letter-spacing:0;margin:0 0 6mm}#print-sheet p{font:9pt Arial;margin:4mm 0}.print-dials{display:flex;flex-wrap:wrap;gap:8mm;margin:10mm 0;align-items:flex-start}.print-dials>div{break-inside:avoid}.print-dials h3{font:7pt Arial;letter-spacing:.2mm;margin:0 0 4mm;color:#000}#print-art svg,#print-template svg{display:block;max-width:none!important}.calibration{width:30mm;height:4mm;border:0;border-left:.2mm solid #000;border-right:.2mm solid #000;border-bottom:.2mm solid #000;margin-top:12mm}.calibration span{display:block;width:90mm;padding-top:6mm;font:8pt Arial}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(min-width:801px) and (max-height:800px){.app-header{height:78px}main{height:calc(100dvh - 78px);min-height:580px;padding-top:18px;padding-bottom:18px}.preview-panel{padding:18px 22px 15px}.preview-top h2{font-size:24px}.preview-top .eyebrow{display:none}.preview-meta{margin:9px 0 12px}.preview-panel .legend{margin:9px 0 12px}.preview-panel .canvas-hint{display:none}.preview-panel .row{margin-top:10px;padding-top:10px}.preview-panel .selection select{min-height:35px;padding-top:8px;padding-bottom:8px}.preview-panel #selection-info{margin-top:6px}.stage{min-height:260px}}
#startup-status{position:fixed;z-index:20;top:12px;left:50%;transform:translateX(-50%);background:#173f36;color:#fff;padding:12px 20px;border-radius:8px;font-size:12px;box-shadow:0 4px 20px #0002}
