:root{color-scheme:light;--ink: #193c37;--muted: #647872;--accent: #d96e48;--accent-dark: #aa4d32;--line: rgba(35, 83, 75, .2);--paper: rgba(255, 254, 249, .94);--page: #f3f0e7;background:var(--page);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}html{min-width:20rem;min-height:100%}body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 8% 8%,rgba(243,201,105,.28),transparent 28rem),radial-gradient(circle at 93% 88%,rgba(82,142,127,.18),transparent 30rem),var(--page)}button,input{font:inherit}button{cursor:pointer}.tool-header,.tool-layout{width:min(100% - 2rem,94rem);margin-inline:auto}.tool-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:clamp(1rem,2.5vw,2.5rem);padding-block:clamp(1.25rem,3vw,2.5rem)}.back-link,.primary-button,.secondary-button{min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:999px;font-size:.67rem;font-weight:800;letter-spacing:.08em;line-height:1;text-decoration:none;text-transform:uppercase}.back-link,.secondary-button{border:1px solid var(--line);color:var(--ink);background:#fffef9db}.back-link:before{content:"←";margin-right:.5rem;font-size:.9rem}.primary-button{border:1px solid var(--accent);color:#fff;background:var(--accent);box-shadow:0 .5rem 1.25rem #aa4d322e}.back-link:hover,.secondary-button:hover{border-color:var(--accent);background:#fffefa}.primary-button:hover{border-color:var(--accent-dark);background:var(--accent-dark)}.back-link:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:.2rem}.title-block{max-width:52rem}.eyebrow,.panel-label{margin:0 0 .35rem;color:var(--accent-dark);font-size:.63rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:.55rem;font-size:clamp(1.7rem,4vw,3.35rem);line-height:.98;letter-spacing:-.065em}.intro{max-width:68ch;margin:0;color:var(--muted);font-size:clamp(.76rem,1.2vw,.9rem);line-height:1.6}.header-actions{display:flex;gap:.65rem}.tool-layout{display:grid;grid-template-columns:minmax(19rem,24rem) minmax(0,1fr);align-items:start;gap:clamp(1rem,2.5vw,2rem);margin-bottom:3rem}.controls-panel,.preview-panel{overflow:hidden;border:1px solid var(--line);border-radius:1.25rem;background:var(--paper);box-shadow:0 1rem 2.5rem #2e4a431a}.controls-panel{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.panel-heading,.preview-toolbar,.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-heading{position:sticky;top:0;z-index:2;padding:1rem 1.15rem;border-bottom:1px solid var(--line);background:#fffef9f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-heading h2,.preview-toolbar h2{margin:0;font-size:1rem;letter-spacing:-.035em}.status-light{display:flex;align-items:center;gap:.45rem;color:#33714d;font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-light:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:#4aa86c;box-shadow:0 0 0 .2rem #4aa86c21}fieldset{min-width:0;margin:0;padding:1.15rem;border:0;border-bottom:1px solid var(--line)}legend{width:100%;margin-bottom:.9rem;padding:0;color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);padding:.25rem;border:1px solid var(--line);border-radius:.8rem;background:#e9e8df}.segmented-control label{position:relative}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.segmented-control span{display:block;padding:.7rem .4rem;border-radius:.58rem;color:var(--muted);font-size:.68rem;font-weight:800;text-align:center}.segmented-control input:checked+span{color:var(--ink);background:#fffefa;box-shadow:0 .15rem .5rem #23463e1f}.segmented-control input:focus-visible+span{outline:2px solid var(--accent);outline-offset:.15rem}.control{display:grid;gap:.55rem;margin-bottom:1rem}.control:last-child{margin-bottom:0}.control>span,.color-control>span{display:flex;justify-content:space-between;color:#395b54;font-size:.7rem;font-weight:700}output{color:var(--accent-dark);font-weight:800}input[type=range]{width:100%;accent-color:var(--accent)}.control.compact{grid-template-columns:1fr 7rem;align-items:center}input[type=number]{width:100%;min-height:2.35rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:.6rem;color:var(--ink);background:#fffefa}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.color-control{min-width:0;display:grid;gap:.45rem}.color-control input{width:100%;height:2.65rem;padding:.25rem;border:1px solid var(--line);border-radius:.65rem;background:#fffefa;cursor:pointer}.method-note{margin:0;padding:1rem 1.15rem 1.15rem;color:var(--muted);font-size:.66rem;line-height:1.55}.preview-toolbar{min-height:4.55rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line)}.metric-readout{padding:.45rem .65rem;border-radius:999px;color:#47675f;background:#e9e8df;font-size:.63rem;font-weight:700}.preview-stage{position:relative;width:100%;aspect-ratio:12 / 7.6;min-height:24rem;overflow:hidden;background:#173f3a}.preview-stage canvas{width:100%;height:100%;display:block}.canvas-error{position:absolute;inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%);color:#fff;text-align:center}.preview-footer{padding:.85rem 1.15rem;border-top:1px solid var(--line);color:var(--muted);font-size:.64rem;font-weight:700}.toast{position:fixed;z-index:10;left:50%;bottom:1.25rem;margin:0;padding:.7rem 1rem;border-radius:999px;color:#fff;background:#183e38;box-shadow:0 .75rem 2rem #183e3840;font-size:.68rem;font-weight:800;opacity:0;transform:translate(-50%,.6rem);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}@media(max-width:850px){.tool-header{grid-template-columns:1fr auto}.title-block{grid-column:1 / -1;grid-row:2}.tool-layout{grid-template-columns:1fr}.controls-panel{position:static;max-height:none}}@media(max-width:540px){.tool-header,.tool-layout{width:min(100% - 1rem,94rem)}.tool-header{grid-template-columns:1fr}.title-block{grid-column:auto;grid-row:auto}.header-actions{display:grid;grid-template-columns:1fr 1fr}.preview-stage{min-height:18rem}.preview-footer{align-items:flex-start;flex-direction:column;gap:.3rem}}
