/* Integration and readable controls for the live workspace. */
svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stop-handle:focus-visible{position:absolute}
#extra-colors{display:flex;flex-direction:column;gap:10px;margin-top:10px}.extra-color-row{flex-wrap:wrap}.extra-color-row>.middle-color-fields{flex:1;min-width:70px}.extra-color-row .middle-position{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;flex:1 1 100%;padding-top:4px;margin:0}.middle-position input{width:67px;min-height:29px;padding:3px 6px;font-size:11px}.delete-color{font-size:21px;line-height:1;width:20px;min-width:20px}.add-color-row{margin-top:12px}.add-color-row .button,#add-color{width:100%;margin-top:10px;border-style:dashed}.color-row.selected{border-color:var(--accent);box-shadow:0 0 0 1px #ac9eff26}#pick-targets{display:flex;flex-wrap:wrap;gap:6px}#pick-targets .pick-target{min-width:74px;flex:1 1 calc(50% - 6px)}.selected-color-note{font-size:11px;color:var(--muted);margin:8px 0 0}.download-row{flex-wrap:wrap}
.share-corner{position:fixed;right:24px;bottom:24px;z-index:12;box-shadow:0 4px 20px #0005;border-radius:30px;padding:11px 17px;min-height:44px}.share-corner svg{width:17px;height:17px}@media(max-width:650px){.share-corner{right:16px;bottom:16px;padding:10px 14px;font-size:12px}.toast{bottom:74px}}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:absolute;left:20px;top:-80px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}
.brand-mark{display:flex;flex-direction:column;gap:3px;padding:10px 7px}.brand-mark i{display:block;width:100%;height:3px;background:linear-gradient(90deg,#9383ca,#eb9db2,#f6e9bf);border-radius:3px}.brand-mark i:nth-child(2){opacity:.8}.brand-mark i:nth-child(3){opacity:.6}
.brand-caption{font-size:11px;letter-spacing:.02em}.eyebrow{font-size:10px}.page-intro h1{font-size:clamp(29px,2.8vw,41px)}.intro-copy{font-size:14px}.status-badge{font-size:11px}
.panel-title{font-size:14px}.tip,.notice{font-size:11px;display:block}.field-label{font-size:11px}.subtle{font-size:11px;color:var(--muted)}
.text-button{padding:4px 0;border:0;background:none;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer;white-space:nowrap}.text-button:hover{text-decoration:underline}.text-button:disabled{opacity:.5}
.panel-head{margin-bottom:15px}.color-row label.color-chip{display:block;background:var(--chip);margin:0}.color-row label.field-label{font-size:11px}.color-chip input[type=color]{opacity:0;inset:0;width:100%;height:100%}.hex-input{font-size:15px}.color-row{gap:10px;padding:10px}.color-chip{height:44px;width:44px;min-width:44px}.color-row .button{width:30px;min-width:30px;padding:5px}
.sidebar-note{display:flex;gap:10px;padding:4px 14px;color:var(--muted)}.sidebar-note p{margin:0;font-size:12px;line-height:1.9}.note-star{font-size:23px;color:#9e95c1}
.image-drop strong{font-size:12px}.image-drop span,.image-drop small{font-size:11px}.image-wrap{margin-top:10px;max-height:320px;overflow:auto;scrollbar-width:thin}.source-image,.image-wrap>canvas{max-height:none;width:100%;height:auto;object-fit:initial}.pick-target{font-size:11px;min-height:35px}.pick-target i{width:12px;height:12px;display:block;border-radius:3px;border:1px solid #0001}.image-hint{justify-content:space-between;font-size:11px}.image-hint .text-button{font-size:11px}.image-hint span{padding-top:3px}
.loupe{position:absolute;bottom:8px;right:8px;pointer-events:none;background:white;padding:5px;border-radius:8px;box-shadow:0 3px 15px #0002;border:1px solid var(--line);z-index:3}.image-wrap .loupe canvas{width:70px;height:70px;max-height:70px;border-radius:3px}.loupe span{display:block;text-align:center;font:11px/1.8 Consolas,monospace;color:#25272c}
.preview-head{min-height:57px}.tab{font-size:12px;padding:7px 12px}.preview-actions>span{font-size:11px;color:var(--muted)}.preview-stage>canvas{aspect-ratio:16/9}.preview-overlay{justify-content:space-between}.preview-overlay>span:first-child{font-size:10px;font-weight:600;letter-spacing:.15em;color:rgba(41,32,55,.55);text-shadow:none}.preview-label{font-size:11px;color:#463f50;background:#fff5;border-color:#fff6;text-shadow:none}.preview-bottom{font-size:11px;color:var(--muted)}.preview-bottom>span:first-child{display:flex;align-items:center;gap:6px}.live-dot{width:5px;height:5px;border-radius:50%;background:#549a7f;display:inline-block}
.compare-grid{padding:20px;background:#fafafa}.compare-tile canvas{aspect-ratio:1/1;object-fit:fill}.compare-caption{flex-direction:column;align-items:flex-start;gap:2px;font-size:12px}.compare-caption span{font-size:11px}.compare-grid:fullscreen{padding:40px;align-items:center;background:#fafafa}.preview-stage:fullscreen{padding:0;display:flex;align-items:center;justify-content:center;background:#18181b}.preview-stage:fullscreen>canvas{width:100%;height:100%;max-width:100%;object-fit:contain;border-radius:0}.preview-stage:fullscreen .preview-overlay{display:none}
.route-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0 2px}.route-copy strong{font-size:12px;font-weight:600}.route-copy small{font-size:10px;line-height:1.5}.route-mini{height:27px}.route-option{padding:10px}.route-check{display:none}.section-label{font-size:11px}.segmented button{font-size:11px;min-height:33px;padding:6px 10px}.shape-icon{width:13px;height:13px;display:block;border-radius:2px;border:1px solid #0001}.shape-icon.linear{background:linear-gradient(90deg,#b0a2de,#f7deb6)}.shape-icon.radial{background:radial-gradient(#f7deb6,#b0a2de)}.shape-icon.conic{background:conic-gradient(#b0a2de,#f7deb6,#b0a2de)}.angle-control{flex:1;max-width:270px;min-width:120px}.toolbar{align-items:flex-end}.advanced summary{font-size:12px}.advanced summary span{font-size:10px;font-weight:400;color:var(--muted);margin-left:auto}.advanced>.tip{margin:0 17px 12px}.advanced-grid select{margin-top:7px;min-height:37px}.advanced-grid input{margin-top:15px}
.inline-actions{display:flex;gap:15px;align-items:center}.sample-count{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.sample-count select{width:55px;min-height:29px;padding:3px 23px 3px 8px}.sample-grid{grid-template-columns:repeat(var(--sample-count,8),minmax(0,1fr));margin-top:16px}.sample-color .sample-swatch{height:43px;border-radius:5px}.sample-hex{font-size:11px;line-height:1.8}.sample-pos{font-size:10px}.sample-pos svg{width:10px;height:10px;opacity:0;transition:opacity .2s}.sample-color:hover .sample-pos svg,.sample-color:focus-visible .sample-pos svg{opacity:1}.samples-head{margin-bottom:8px}.download-row{align-items:center;justify-content:flex-start;gap:20px;padding-top:13px;margin-top:16px}.download-row>.subtle{margin-left:auto;font-size:10px}
.manual-controls{padding-top:8px}.stop-handle{background:var(--stop-color);top:20px}.stop-handle.selected{box-shadow:0 0 0 2px var(--accent);z-index:3}.selected-stop-editor{display:flex;align-items:center;gap:10px;margin:8px 0 14px;flex-wrap:wrap}.selected-stop-editor label{display:flex;align-items:center;gap:8px;margin:0}.selected-stop-editor input[type=color]{width:30px;height:30px;border-radius:5px}.selected-stop-editor input[type=number]{width:70px;min-height:30px;padding:4px}.selected-stop-editor>span{font-size:11px;color:var(--muted)}.selected-stop-editor .tip{margin:0}.manual-banner{margin-top:12px;margin-bottom:0;font-size:11px}
.export-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.export-bar strong{font-size:12px}.export-bar p{margin:3px 0 0;font-size:11px;color:var(--muted)}.export-actions{max-width:none;display:flex;flex-wrap:wrap;width:auto;justify-content:flex-end}.export-actions select{width:190px;max-width:210px;min-height:39px}.export-actions .button{font-size:12px}.export-note{font-size:10px;margin-top:12px}.dimensions{margin-top:12px}.dimensions>span{align-self:center;padding:0;font-size:11px}.dimensions input{width:90px}.dimensions label{font-size:11px}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:17px}.section-heading h2{font-size:21px;line-height:1.4;margin:0}.section-heading .eyebrow{margin-bottom:7px}.preset-section{margin-top:37px}.preset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.preset-card{padding:9px}.preset-card canvas{aspect-ratio:3.2;height:auto}.preset-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin:1px 3px 3px}.preset-card small{display:block;font-size:11px;line-height:1.6;margin:0 3px 3px}.learning-section{margin-top:38px}.learning-grid{grid-template-columns:1.2fr 1fr 1fr}.lesson-card{padding:23px}.lesson-card h3{font-size:17px;line-height:1.5;margin:13px 0 9px}.lesson-card p{font-size:13px;line-height:1.9}.lesson-card small{font-size:11px;line-height:1.8;color:var(--muted)}.lesson-number{font-size:10px;letter-spacing:.07em;color:var(--accent);font-weight:600}.lesson-strip{display:grid;grid-template-columns:65px 1fr;gap:9px;align-items:center;margin-top:12px}.lesson-strip span{font-size:11px;color:var(--muted)}.lesson-strip canvas{height:20px;width:100%;border-radius:4px}.mini-palette{display:flex;height:45px;margin:24px 0 12px;overflow:hidden;border-radius:6px}.mini-palette i{flex:1}.lesson-tags{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 16px}.lesson-tags span{background:#f1eff7;border-radius:4px;padding:4px 8px;color:#756688;font-size:11px}
.footer{font-size:12px;max-width:1480px;margin:45px auto 0;padding:25px 40px;gap:25px}.footer>div:first-child{display:flex;align-items:center;gap:14px}.footer>div:first-child>span{font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:18px;align-items:center}.footer-links>a,.footer-links>.text-button{font-size:11px}.modal textarea{width:100%;font:12px/1.6 Consolas,monospace;margin:10px 0 15px}.modal p{font-size:13px}.toast{font-size:13px}
@media(min-width:1600px){.preview-stage>canvas{aspect-ratio:16/9}}
@media(max-width:1150px){.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}.toolbar>.control-group:first-child{grid-column:1/-1}.toolbar .angle-control{min-width:0;max-width:none;width:100%}.toolbar .segmented{display:flex;width:100%}.toolbar .segmented button{flex:1}}
@media(max-width:1150px){.route-copy small{display:block;font-size:10px}.route-options{gap:8px}.route-option{padding:8px}.route-copy strong{font-size:11px}.export-bar{flex-direction:column;align-items:stretch;gap:12px}.export-actions{justify-content:flex-start}.lesson-card h3{font-size:15px}.learning-grid{grid-template-columns:1fr 1fr 1fr}.sample-hex{font-size:10px}.sidebar-note{padding:2px 8px}.intro-copy{font-size:13px}.status-badge{display:none}}
@media(max-width:800px){.site-header{padding:0 22px}main{padding:28px 22px 0}.workspace{grid-template-columns:250px minmax(0,1fr)}.sidebar{display:flex}.route-options{grid-template-columns:1fr}.route-option{display:flex;align-items:center;gap:10px}.route-mini{width:80px;height:32px;margin:0}.route-copy{flex:1}.route-copy small{display:block}.export-actions{flex-wrap:wrap}.preview-stage>canvas{aspect-ratio:1.5}.learning-grid{grid-template-columns:1fr}.lesson-card:first-child{display:block}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:17px}.preview-actions>span{display:none}.samples-head{align-items:flex-start;flex-direction:column;gap:10px}.sample-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sample-hex{font-size:11px}.footer{padding:22px;flex-wrap:wrap}.footer>div:first-child{flex-wrap:wrap}}
@media(max-width:650px){.site-header{height:70px;padding:0 16px}.brand-name{font-size:15px}.brand-caption{font-size:10px}.header-actions .button{font-size:11px;min-height:35px}.page-intro h1{font-size:28px}.page-intro h1 span{display:block;margin-top:4px}.intro-copy{font-size:13px;line-height:1.8}main{padding:25px 16px 0}.workspace{grid-template-columns:1fr;gap:16px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar-note{display:none}.sidebar .panel{padding:14px 11px}.panel-title{font-size:13px}.color-row{padding:7px;gap:6px}.color-chip{min-width:30px;width:30px;height:36px}.hex-input{font-size:12px}.color-row .screen-picker{display:none}.color-row label.field-label{font-size:10px}.image-drop{padding:13px 7px;min-height:143px}.image-drop strong{font-size:11px}.image-drop span{font-size:10px}.image-drop small{font-size:9px}.image-panel>.tip{font-size:10px}.panel-head{margin-bottom:12px}.sidebar .panel-head .button{width:25px;min-width:25px;min-height:25px;padding:4px}.image-wrap{max-height:170px}.pick-target{font-size:10px;padding:4px;min-height:31px}.pick-targets{gap:4px}.pick-target i{display:none}.image-hint{font-size:10px;flex-wrap:wrap}.image-hint .text-button{font-size:10px}.loupe{display:none}.panel{padding:18px 15px}.preview-head{padding:12px 14px}.tab{font-size:12px;padding:7px 9px}.preview-stage{padding:12px}.preview-stage>canvas{aspect-ratio:16/9}.preview-overlay{inset:12px;padding:12px}.preview-overlay>span:first-child{font-size:8px}.preview-label{font-size:10px}.preview-bottom{padding:12px 14px;font-size:10px;flex-wrap:wrap}.route-options{grid-template-columns:1fr}.route-option{display:flex;align-items:center;padding:9px;gap:11px}.route-mini{width:85px;height:33px;flex-shrink:0;margin:0}.route-copy strong{font-size:13px}.route-copy small{font-size:11px}.toolbar{display:flex;align-items:flex-end;gap:12px}.toolbar .control-group:first-child{flex:1 1 100%}.toolbar .angle-control{flex:1;max-width:none}.segmented{width:100%}.segmented button{font-size:12px;min-height:37px}.toolbar>.button{font-size:11px}.panel-head>.subtle{display:none}.advanced summary{padding:12px;font-size:12px}.advanced summary>span{display:none}.advanced-grid{grid-template-columns:1fr;gap:10px;padding:0 12px 12px}.advanced .field-label{font-size:12px}.advanced select{font-size:12px;min-height:39px}.advanced>.tip{margin-left:12px;margin-right:12px}.samples-head{flex-direction:column;align-items:flex-start;gap:10px}.inline-actions{width:100%;justify-content:space-between}.sample-count,.text-button{font-size:12px}.sample-count select{min-height:32px}.tip{font-size:11px;line-height:1.8}.sample-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sample-color .sample-swatch{height:40px}.sample-hex{font-size:11px}.sample-pos{font-size:10px}.sample-pos svg{display:none}.download-row{flex-direction:row;gap:14px;align-items:center}.download-row>.subtle{display:none}.button.small{font-size:12px;min-height:37px}.export-bar{margin-top:16px;padding-top:16px}.export-actions{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;max-width:none}.export-actions select{grid-column:1/-1;width:100%;max-width:none;min-height:40px;font-size:12px}.export-actions .button{min-height:42px;font-size:13px;padding:9px 14px}.export-note{font-size:10px}.section-heading h2{font-size:20px}.section-heading>.subtle{display:none}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preset-card{padding:7px}.preset-card canvas{aspect-ratio:2.4}.preset-title{font-size:12px}.preset-card small{font-size:10px}.learning-grid{grid-template-columns:1fr;gap:12px}.lesson-card{padding:21px}.lesson-card:first-child{display:block}.lesson-card h3{font-size:17px}.lesson-card p{font-size:13px}.lesson-card small{font-size:11px}.lesson-strip{grid-template-columns:65px 1fr}.footer{padding:23px 16px;gap:14px;margin-top:30px}.footer>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.footer strong{font-size:12px}.footer-links{gap:14px;flex-wrap:wrap}.compare-grid{padding:12px;gap:8px}.compare-tile canvas{aspect-ratio:.7}.compare-caption{font-size:11px}.compare-caption span{font-size:10px}.manual-banner{font-size:11px;flex-direction:column;align-items:flex-start;gap:4px}.selected-stop-editor{gap:8px}.selected-stop-editor label{font-size:11px}.toast{font-size:12px;max-width:calc(100% - 32px);line-height:1.7}.dimensions{flex-wrap:wrap}.dimensions input{width:80px}}
