@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(./ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}:root{color:#18191a;font-synthesis:none;text-rendering:optimizelegibility;--lh-primary-100:#ccdfec;--lh-primary-300:#66a0c6;--lh-primary-500:#0061a0;--lh-primary-700:#003a60;--lh-primary-900:#001320;--lh-secondary-500:#da1746;--lh-gray-0:#fff;--lh-gray-50:#f9f9f9;--lh-gray-100:#e4e5e6;--lh-gray-300:#afb2b3;--lh-gray-500:#797e81;--lh-gray-700:#494c4d;--lh-gray-900:#18191a;--ink:var(--lh-gray-900);--muted:var(--lh-gray-700);--rule:color-mix(in srgb, var(--lh-gray-300) 62%, white);--soft-rule:var(--lh-gray-100);--surface:var(--lh-gray-50);--sidebar:var(--lh-gray-50);--accent:var(--lh-primary-500);--accent-dark:var(--lh-primary-700);--accent-soft:var(--lh-primary-100);--success:#187a56;--danger:#b53128;--radius-regular:4px;--radius-large:8px;background:#fff;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#fff;min-width:320px}button,input{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:default;opacity:.42}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 52%, transparent);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:286px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:2;background:var(--sidebar);border-right:1px solid var(--soft-rule);flex-direction:column;width:286px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-brand{letter-spacing:-.02em;align-items:center;gap:11px;padding:0 9px 27px;font-size:17px;display:flex}.brand-mark{border-radius:var(--radius-regular);background:linear-gradient(135deg, var(--lh-primary-500) 0 69%, var(--lh-secondary-500) 69% 78%, var(--lh-primary-900) 78% 100%);place-items:center;width:25px;height:25px;display:grid;box-shadow:inset 0 0 0 1px #ffffff3d}.brand-mark span{border:2px solid #ffffffeb;border-radius:2px;width:10px;height:10px}.palette-list{gap:4px;display:grid}.palette-list,.dashboard-scale-colors,.swatch-grid{scrollbar-width:none}.palette-list::-webkit-scrollbar{display:none}.dashboard-scale-colors::-webkit-scrollbar{display:none}.swatch-grid::-webkit-scrollbar{display:none}.palette-item{border-radius:6px;align-items:center;height:43px;transition:background-color .12s,box-shadow .12s,opacity .12s;display:flex;position:relative}.palette-item.is-active{background:color-mix(in srgb, var(--accent-soft) 60%, white)}.palette-item.is-dragging{opacity:.42}.palette-item.is-drop-target{box-shadow:inset 0 -2px 0 var(--accent)}.palette-select{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:11px;min-width:0;height:100%;padding:0 10px;font-size:14px;font-weight:500;display:flex}.palette-well{border-radius:50%;flex:none;width:21px;height:21px;box-shadow:inset 0 0 0 1px #0000001a,0 1px 2px #0000000f}.overview-item{margin-bottom:7px}.overview-icon{width:21px;height:21px;color:var(--accent);flex:none;place-items:center;display:grid}.palette-drag{width:30px;height:30px;color:var(--muted);cursor:grab;opacity:.36;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;transition:background-color .12s,color .12s,opacity .12s;display:grid}.palette-drag:hover,.palette-drag:focus-visible{color:var(--ink);opacity:1;background:#0000000e}.palette-drag:active{cursor:grabbing}.palette-check{color:var(--accent);place-items:center;margin:0 8px 0 2px;display:grid}.icon-button{border-radius:var(--radius-regular);background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid}.icon-button:hover{background:#0000000e}.add-palette{height:42px;color:var(--accent);background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;margin-top:5px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.add-palette:hover{background:color-mix(in srgb, var(--accent-soft) 52%, white)}.add-palette svg{width:20px}.sidebar-divider{background:var(--soft-rule);height:1px;margin:22px 8px 23px}.scale-controls{gap:0;padding:0 8px;display:grid}.field-label,.character-control legend{color:#48484d;letter-spacing:.005em;font-size:12px;font-weight:650;line-height:1.25}.control-label{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:9px;display:flex;position:relative}.help-tooltip{flex:none;display:inline-flex}.help-tooltip-trigger{color:#8b8b91;background:0 0;border:0;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;display:grid}.help-tooltip-trigger:hover,.help-tooltip-trigger:focus-visible{color:#56565c;background:#e9e9ed}.help-tooltip-trigger:focus-visible{outline-offset:1px;outline-width:2px}.help-tooltip-content{z-index:8;visibility:hidden;opacity:0;border-radius:var(--radius-large);background:color-mix(in srgb, var(--lh-primary-900) 94%, transparent);color:#fff;letter-spacing:0;pointer-events:none;border:1px solid #ffffff1f;width:min(220px,100%);padding:9px 10px;font-size:11px;font-weight:400;line-height:1.4;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-3px);box-shadow:0 8px 22px #00132033}.help-tooltip:hover .help-tooltip-content,.help-tooltip:focus-within .help-tooltip-content{visibility:visible;opacity:1;transform:translateY(0)}.source-control{align-items:center;gap:8px;margin-bottom:19px;display:flex}.native-color-well{border-radius:var(--radius-large);flex:none;width:40px;height:40px;transition:box-shadow .16s,transform .16s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001f,0 1px 2px #0000000f}.native-color-well:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #00000024,0 3px 8px #00000014}.native-color-well:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.native-color-well input{opacity:0;width:54px;height:54px;position:absolute;inset:-8px}.hex-input,.dialog-form input:not([type=range]):not([type=checkbox]),.source-control-dialog input:not([type=color]){border:1px solid var(--rule);border-radius:var(--radius-large);min-width:0;height:40px;color:var(--ink);text-transform:uppercase;background:#fff;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;transition:border-color .16s,box-shadow .16s}.hex-input{width:100%}.hex-input:hover{border-color:var(--lh-gray-300)}.hex-input:focus{border-color:color-mix(in srgb, var(--accent) 72%, var(--rule));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.hex-input.is-invalid,input[aria-invalid=true]{border-color:var(--danger)!important}.count-control-group{grid-template-columns:minmax(0,1fr);align-items:center;gap:9px;margin-bottom:20px;display:grid}.count-control-group>.control-label{grid-column:1/-1;margin-bottom:0}.count-stepper{border:1px solid var(--rule);border-radius:var(--radius-large);background:#fff;grid-template-columns:40px minmax(42px,1fr) 40px;width:100%;height:40px;transition:border-color .16s,box-shadow .16s;display:grid;overflow:hidden}.count-stepper:hover{border-color:var(--lh-gray-300)}.count-stepper:focus-within{border-color:color-mix(in srgb, var(--accent) 72%, var(--rule));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.count-stepper button{color:#3d3d42;background:0 0;border:0;place-items:center;transition:background-color .12s;display:grid}.count-stepper button:hover:not(:disabled){background:#f2f2f5}.count-stepper button:active:not(:disabled){background:#e8e8ec}.count-stepper button:focus-visible,.count-stepper input:focus-visible{outline:0}.count-stepper input{border:0;border-inline:1px solid var(--soft-rule);text-align:center;appearance:textfield;background:0 0;width:100%;min-width:0;padding:0;font-size:14px;font-weight:650}.count-stepper input::-webkit-inner-spin-button{appearance:none}.character-control{border:0;min-width:0;margin:0;padding:0}.character-control>.control-label{margin-bottom:9px}.segmented-control{border-radius:var(--radius-large);background:var(--lh-gray-100);grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.segmented-control button{background:0 0;border:0;border-radius:5px;min-width:0;height:29px;font-size:11px;font-weight:600}.segmented-control button.is-selected{background:#fff;box-shadow:0 1px 3px #00000021}.character-control .segmented-control{grid-auto-flow:initial;grid-auto-columns:initial;border-radius:var(--radius-large);background:var(--lh-gray-100);grid-template-columns:.85fr 1.3fr .95fr;min-height:40px;padding:3px}.character-control .segmented-control button{color:#434348;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;height:34px;padding-inline:6px;font-weight:600;transition:background-color .12s,color .12s,box-shadow .12s;overflow:hidden}.character-control .segmented-control button:hover:not(.is-selected){background:#ffffff73}.character-control .segmented-control button.is-selected{color:var(--ink);box-shadow:0 1px 3px #00000021,0 0 0 1px #00000009}.fine-tune-button{border:0;border-top:1px solid var(--soft-rule);height:41px;color:var(--lh-gray-700);background:0 0;justify-content:space-between;align-items:center;margin-top:22px;padding:0 5px 0 0;font-size:13px;font-weight:500;display:flex}.fine-tune-button svg{color:#8a8a8f;width:16px}.autosave-note{color:#929297;max-width:190px;margin:auto 9px 4px;font-size:11px;line-height:1.45}@media (hover:none){.palette-drag{opacity:.72}}.palette-canvas{grid-column:2;min-width:0}.canvas-inner{width:min(1180px,100% - 80px);margin:0 auto;padding:68px 0 60px}.canvas-header{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}h1{letter-spacing:-.045em;margin:0;font-size:clamp(34px,4vw,49px);line-height:1.04}.canvas-description-copy{max-width:760px;color:var(--muted);margin:13px 0 0;font-size:15px;line-height:1.45}.canvas-subtitle{color:var(--muted);letter-spacing:-.01em;margin:12px 0 0;font-size:16px}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.button-quiet{color:var(--muted);background:0 0}.button-quiet:hover{background:var(--surface)}.button-secondary{border-color:var(--rule);background:#fff;box-shadow:0 1px 1px #00000005}.button-secondary:hover{background:var(--surface)}.button-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px #003a6033}.button-primary:hover{background:var(--accent-dark)}.button-danger{color:var(--danger);background:0 0}.button-danger:hover:not(:disabled){background:#fff1f0}.swatch-section{margin-top:48px}.swatch-grid{grid-template-columns:repeat(var(--swatch-count), minmax(72px, 1fr));gap:9px;display:grid}.swatch{border-radius:var(--radius-large);text-align:left;background:0 0;border:0;gap:8px;min-width:0;padding:0;display:grid}.swatch-color{border-radius:6px;height:clamp(128px,15vw,196px);transition:transform .16s,box-shadow .16s;display:block;position:relative;box-shadow:inset 0 0 0 1px #0000000f}.swatch:hover .swatch-color{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #00000012,0 7px 16px #00000014}.swatch.is-selected .swatch-color{box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--selected-color)}.swatch-selection{background:#ffffffeb;border-radius:50%;width:20px;height:20px;position:absolute;top:9px;right:9px;box-shadow:0 1px 4px #0000002e}.swatch-selection:after{content:"";border:2px solid #34343a;border-width:0 2px 2px 0;width:6px;height:9px;position:absolute;top:4px;left:6px;transform:rotate(45deg)}.swatch .dashboard-color-meta{padding:0 2px}.palette-dashboard{grid-column:2;min-width:0}.dashboard-inner{width:min(1180px,100% - 80px);margin:0 auto;padding:58px 0 60px}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.dashboard-header>div:first-child{flex:1 1 0;min-width:0}.dashboard-header>.header-actions{flex-wrap:nowrap;flex:none}.dashboard-title-row{align-items:flex-start;gap:12px;min-width:0;display:flex}.dashboard-title-row h1{overflow-wrap:anywhere;min-width:0}.dashboard-details-edit{flex:none;margin-top:7px;padding-inline:9px}.dashboard-description-copy{max-width:760px;color:var(--muted);margin:12px 0 0;font-size:15px;line-height:1.45}.dashboard-viewbar{justify-content:space-between;align-items:center;gap:20px;min-height:38px;margin-top:31px;display:flex}.dashboard-view-switch{width:264px}.dashboard-view-switch button{height:27px}.dashboard-scales{border-top:1px solid var(--soft-rule);margin-top:12px}.dashboard-axis{grid-template-columns:repeat(var(--dashboard-axis-count), minmax(0, 1fr));color:#98989d;text-align:center;gap:9px;padding:13px 0 3px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.dashboard-scale{border-bottom:1px solid var(--soft-rule);padding:20px 0 22px}.dashboard-scale>header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;display:flex}.dashboard-scale>header>div{align-items:center;gap:10px;min-width:0;display:flex}.dashboard-scale-dot{border-radius:50%;flex:none;width:19px;height:19px;box-shadow:inset 0 0 0 1px #0000001c,0 1px 2px #0000000f}.dashboard-scale h2{letter-spacing:-.025em;margin:0;font-size:18px}.dashboard-scale-meta{align-items:center;margin-left:14px;display:inline-flex}.dashboard-scale header small{color:var(--muted);font-size:11px}.dashboard-scale-meta>small{white-space:nowrap;align-items:center;min-height:21px;display:inline-flex}.dashboard-scale-meta>small+small:before{content:"·";color:#aaaab0;margin-inline:9px}.dashboard-source-meta{color:#747479}.dashboard-source-meta code{background:var(--surface);color:#55555a;border-radius:6px;padding:3px 6px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.dashboard-edit{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.dashboard-edit:hover{background:var(--surface);color:var(--ink)}.dashboard-scale-colors{grid-template-columns:repeat(var(--dashboard-axis-count), minmax(0, 1fr));text-align:left;background:0 0;border:0;gap:9px;width:100%;min-width:0;padding:0;display:grid}.dashboard-scale-colors>span{gap:6px;min-width:0;display:grid}.dashboard-scale-colors i{border-radius:6px;height:88px;transition:transform .16s,box-shadow .16s;display:block;position:relative;box-shadow:inset 0 0 0 1px #0000000f}.dashboard-scale-colors:hover i{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #00000012,0 7px 16px #00000012}.dashboard-scale-colors>span.is-source i{box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--scale-accent)}.dashboard-palette-colors{text-align:left;background:0 0;border:0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;width:100%;min-width:0;padding:0;display:grid}.dashboard-palette-colors>span{gap:6px;min-width:0;display:grid}.dashboard-palette-colors i{border-radius:8px;height:64px;transition:transform .16s,box-shadow .16s;display:block;box-shadow:inset 0 0 0 1px #00000012}.dashboard-palette-colors>span.is-source i{box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--scale-accent)}.dashboard-color-meta{gap:6px;min-width:0;display:grid}.dashboard-color-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.dashboard-color-meta>small{text-overflow:ellipsis;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.dashboard-readability{background:var(--surface);color:#626267;border-radius:999px;align-items:center;gap:5px;width:fit-content;min-height:19px;padding:2px 6px 2px 4px;font-size:9px;font-style:normal;font-weight:650;display:inline-flex}.dashboard-readability b{border-radius:50%;width:11px;height:11px;box-shadow:inset 0 0 0 1px #0000002e}.dashboard-ramp{text-align:left;background:0 0;border:0;gap:9px;width:100%;padding:0;display:grid}.dashboard-ramp-gradient{border-radius:6px;height:112px;transition:transform .16s,box-shadow .16s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000012}.dashboard-ramp:hover .dashboard-ramp-gradient{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #00000012,0 8px 19px #00000014}.dashboard-ramp-stops{grid-template-columns:repeat(var(--dashboard-axis-count), minmax(0, 1fr));pointer-events:none;gap:9px;display:grid;position:absolute;inset:0}.dashboard-ramp-stop{place-items:center;min-width:0;display:grid}.dashboard-ramp-stop i{box-sizing:border-box;opacity:.25;border:0;border-inline:1px solid;width:4px;height:100%;display:block}.dashboard-ramp-stop.is-source i{width:8px}.dashboard-ramp-markers{grid-template-columns:repeat(var(--dashboard-axis-count), minmax(0, 1fr));gap:9px;display:grid}.dashboard-ramp-markers>span{min-width:0;color:var(--muted)}.dashboard-ramp-markers .dashboard-color-meta{text-align:center;justify-items:center}.dashboard-add{min-height:44px;color:var(--accent);background:0 0;border:0;align-items:center;gap:9px;margin-top:15px;padding:0 2px;font-size:14px;font-weight:600;display:inline-flex}.dashboard-add:hover{color:var(--accent-dark)}.preview-card{border:1px solid var(--soft-rule);background:#fff;border-radius:12px;grid-template-columns:minmax(390px,.95fr) minmax(390px,1.35fr);min-height:394px;margin-top:44px;display:grid;overflow:hidden;box-shadow:0 12px 32px #0013200d}.preview-copy{padding:30px 31px}.preview-copy h2{letter-spacing:-.025em;margin:0;font-size:24px}.preview-copy>p:not(.eyebrow){max-width:370px;color:var(--muted);margin:10px 0 20px;font-size:13px;line-height:1.5}.text-choice{flex-wrap:wrap;gap:7px;display:flex}.text-choice button,.custom-choice{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:7px;height:34px;padding:0 11px;font-size:12px;display:inline-flex;position:relative}.text-choice button.is-selected,.custom-choice.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.custom-choice input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;inset:0}.custom-choice:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 52%, transparent);outline-offset:3px}.choice-chip{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #00000029}.choice-chip-white{background:#fff}.choice-chip-black{background:#111}.contrast-checker{border-top:1px solid var(--soft-rule);margin-top:21px;padding-top:18px}.contrast-ratio{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:11px;display:flex}.contrast-ratio span{color:#4b4b50;font-size:12px;font-weight:650}.contrast-ratio strong{letter-spacing:-.02em;font-size:18px}.contrast-matrix{border:1px solid var(--soft-rule);border-radius:var(--radius-large);overflow:hidden}.contrast-matrix-header,.contrast-matrix-row{grid-template-columns:minmax(118px,1.4fr) minmax(74px,.8fr) minmax(74px,.8fr);align-items:center;display:grid}.contrast-matrix-header{background:var(--surface);min-height:31px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:650}.contrast-matrix-header>span,.contrast-matrix-row>span{min-width:0;padding-inline:10px}.contrast-matrix-row>.contrast-status{padding-inline:4px}.contrast-matrix-header>span:not(:first-child){text-align:center}.contrast-matrix-row{border-top:1px solid var(--soft-rule);min-height:45px}.contrast-matrix-row>[role=rowheader]{color:#3d3d42;font-size:11px;font-weight:600}.contrast-status{border-left:1px solid var(--soft-rule);justify-content:center;align-self:stretch;align-items:center;gap:5px;display:flex}.contrast-status>span{color:#fff;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:11px;font-weight:800;line-height:1;display:grid}.contrast-status small{white-space:nowrap;font-size:9px;font-weight:600}.contrast-status.is-pass{color:var(--success)}.contrast-status.is-pass>span{background:var(--success)}.contrast-status.is-fail{color:#b54138}.contrast-status.is-fail>span{background:#d45a50}.contrast-status.is-na{color:#98989d}.contrast-status.is-na>span{color:#737378;background:#e5e5e8}.contrast-status.is-na small{font-size:8px}.contrast-note{color:var(--muted);margin:9px 1px 0!important;font-size:10px!important;line-height:1.35!important}.type-preview{flex-direction:column;justify-content:center;align-items:center;min-height:394px;padding:44px;transition:background-color .2s,color .2s;display:flex}.type-preview-large{text-align:center;letter-spacing:-.045em;max-width:650px;font-size:clamp(30px,3vw,44px);font-weight:670;line-height:1.1}.type-preview-normal{text-align:center;max-width:480px;margin:21px 0 0;font-size:16px;line-height:1.45}.type-preview-graphic{border-radius:var(--radius-large);border:2px solid;align-items:center;gap:8px;margin-top:25px;padding:8px 12px;display:flex}.type-preview-graphic span{font-size:12px;font-weight:650}.type-preview small{opacity:.7;margin-top:22px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.method-comparison{border-top:1px solid var(--soft-rule);border-bottom:1px solid var(--soft-rule);margin-top:32px}.method-toggle{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:76px;padding:0 5px;display:flex}.method-toggle span{gap:4px;display:grid}.method-toggle strong{font-size:14px}.method-toggle small{color:var(--muted);font-size:12px}.method-toggle svg{color:var(--muted);transition:transform .18s}.method-comparison.is-open .method-toggle svg{transform:rotate(90deg)}.method-content{gap:12px;padding:3px 5px 25px;display:grid}.method-row{grid-template-columns:140px minmax(220px,1fr) 120px;align-items:center;gap:18px;display:grid}.method-label{gap:2px;display:grid}.method-label strong{font-size:12px}.method-label span,.method-metric{color:var(--muted);font-size:10px}.method-strip{border-radius:7px;height:32px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000012}.method-strip span{flex:1}.method-metric{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.technical-note{color:var(--muted);margin:4px 0 0 158px;font-size:11px}.dialog{background:0 0;border:0;border-radius:12px;width:min(520px,100vw - 32px);max-height:calc(100vh - 32px);padding:0;overflow:visible;box-shadow:0 24px 80px #0013203d}.dialog-wide{width:min(900px,100vw - 32px)}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0f1252}.dialog-surface{background:#fff;border-radius:12px;max-height:calc(100vh - 32px);overflow-y:auto}.dialog-header{justify-content:space-between;gap:24px;padding:25px 25px 18px;display:flex}.dialog-header h2{letter-spacing:-.025em;margin:0;font-size:22px}.dialog-header p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.dialog-close{background:var(--surface)}.dialog-form,.export-content{grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;padding:4px 25px 25px;display:grid}.dialog-form>label,.dialog-form fieldset{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.dialog-form label>span,.dialog-form legend{color:#46464b;font-size:12px;font-weight:650}.dialog-form input:not([type=range]):not([type=checkbox]){text-transform:none;width:100%;height:40px;font-family:inherit}.dialog-form textarea{resize:vertical;border:1px solid var(--rule);border-radius:var(--radius-large);width:100%;min-height:104px;color:var(--ink);background:#fff;padding:11px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .16s,box-shadow .16s}.dialog-form textarea:hover{border-color:var(--lh-gray-300)}.dialog-form textarea:focus{border-color:color-mix(in srgb, var(--accent) 72%, var(--rule));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.fine-tune-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.fine-tune-form>label:nth-of-type(2),.fine-tune-form>.toggle-field,.fine-tune-form>.dialog-actions{grid-column:1/-1}.fine-tune-form>label:nth-of-type(2) textarea{min-height:116px}.dialog-form input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.dialog-form label:has(input[type=range]){grid-template-columns:1fr auto;align-items:center}.dialog-form label:has(input[type=range]) input{grid-column:1}.dialog-form label:has(input[type=range]) output{text-align:right;grid-area:2/2;min-width:28px;font-size:13px;font-weight:650}.dialog-form>.toggle-field{border-top:1px solid var(--soft-rule);border-bottom:1px solid var(--soft-rule);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:57px;padding-block:4px;position:relative}.toggle-copy{gap:3px;display:grid}.dialog-form .toggle-copy strong{color:#36363b;font-size:13px}.dialog-form .toggle-copy small{color:var(--muted);font-size:11px;line-height:1.35}.toggle-field input{opacity:0;width:1px;height:1px;position:absolute}.dialog-form .toggle-control{background:#d8d8dc;border-radius:999px;width:42px;height:24px;transition:background-color .16s;position:relative}.toggle-control:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000003d}.toggle-field input:checked+.toggle-control{background:var(--accent)}.toggle-field input:checked+.toggle-control:after{transform:translate(18px)}.toggle-field input:focus-visible+.toggle-control{outline:3px solid color-mix(in srgb, var(--accent) 52%, transparent);outline-offset:3px}.source-control-dialog{grid-template-columns:40px 1fr;display:grid}.range-field span{justify-content:space-between;display:flex}.range-field small{color:var(--muted);grid-column:1/-1;font-size:11px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.dialog-actions-split{justify-content:space-between}.dialog-actions-split>span{gap:8px;display:flex}.export-tabs{width:440px}.code-preview{border-radius:var(--radius-large);background:var(--lh-primary-900);max-height:310px;color:var(--lh-gray-50);white-space:pre;margin:0;padding:16px;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.palette-sheet-preview{border:1px solid var(--soft-rule);background:#fff;border-radius:12px;padding:25px;overflow:hidden;box-shadow:0 8px 28px #0000000b}.palette-sheet-preview>header{justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;display:flex}.palette-sheet-preview>header>div{gap:5px;display:grid}.palette-sheet-preview>header strong{letter-spacing:-.025em;font-size:22px}.palette-sheet-preview>header p{max-width:600px;color:var(--muted);margin:2px 0;font-size:11px;line-height:1.45}.palette-sheet-preview>header small{color:var(--accent);letter-spacing:.08em;font-size:8px;font-weight:700}.palette-sheet-scales{border-top:1px solid var(--soft-rule)}.palette-sheet-scale{border-bottom:1px solid var(--soft-rule);min-width:0;padding:17px 0 18px}.palette-sheet-preview.is-single-color .palette-sheet-scales{border-top:0}.palette-sheet-preview.is-single-color .palette-sheet-scale{border-bottom:0;padding-top:0;padding-bottom:0}.palette-sheet-scale-header{align-items:center;gap:8px;display:flex}.palette-sheet-scale-dot{border-radius:50%;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.palette-sheet-scale-header>div{align-items:baseline;gap:9px;min-width:0;display:flex}.palette-sheet-scale-header strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.palette-sheet-scale-header code{background:var(--surface);color:#55555a;border-radius:4px;padding:2px 4px;font:7px ui-monospace,SFMono-Regular,Menlo,monospace}.palette-sheet-scale>p{max-width:680px;color:var(--muted);margin:7px 0 0;font-size:9px;line-height:1.45}.palette-sheet-colors{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:5px;min-width:0;margin-top:11px;display:grid}.palette-sheet-colors>div{gap:4px;min-width:0;display:grid}.palette-sheet-swatch{border-radius:6px;height:58px;box-shadow:inset 0 0 0 1px #00000012}.palette-sheet-colors>div.is-source>.palette-sheet-swatch{box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--scale-accent)}.palette-sheet-colors .dashboard-color-meta{gap:3px}.palette-sheet-colors .dashboard-color-meta strong{font-size:8px}.palette-sheet-colors .dashboard-color-meta>small{font-size:6px}.palette-sheet-colors .dashboard-readability{gap:3px;min-height:15px;padding:1px 4px 1px 3px;font-size:6px}.palette-sheet-colors .dashboard-readability b{width:8px;height:8px}.export-actions{justify-content:flex-end;align-items:center}.export-actions>div{gap:8px;display:flex}.toast{z-index:20;border-radius:var(--radius-large);background:color-mix(in srgb, var(--lh-primary-900) 94%, transparent);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff1a;align-items:center;gap:18px;min-height:45px;padding:0 10px 0 16px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #0013203d}.toast button{height:33px;color:var(--lh-primary-100);background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:flex}.toast button:hover{background:#ffffff14}@media (width<=1050px){.canvas-inner,.dashboard-inner{width:min(100% - 48px,920px);padding-top:48px}.canvas-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:flex-start}.swatch-grid{grid-template-columns:repeat(var(--swatch-count), minmax(88px, 1fr));padding:3px;overflow-x:auto}.swatch-color{height:150px}.dashboard-ramp,.dashboard-axis{width:100%}.preview-card{grid-template-columns:1fr}.type-preview{min-height:340px}}@media (width<=720px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--soft-rule);width:100%;height:auto;padding:18px;position:static}.sidebar-brand{padding-bottom:15px}.palette-list{padding-bottom:4px;display:flex;overflow-x:auto}.palette-item{flex:none}.palette-item.is-active{min-width:125px}.add-palette{flex:none}.overview-item{margin-bottom:0}.autosave-note{display:none}.sidebar-divider{margin-block:14px}.scale-controls{grid-template-columns:1fr 1fr;gap:11px 16px}.scale-controls>.control-label,.source-control{grid-column:1}.count-control-group{grid-area:1/2/span 2;align-self:end;margin:0}.character-control,.fine-tune-button{grid-column:1/-1}.palette-canvas,.palette-dashboard{min-width:0}.canvas-inner,.dashboard-inner{width:calc(100% - 32px);padding:35px 0 40px}.dashboard-header{flex-direction:column;gap:20px}.dashboard-header>div:first-child{width:100%}.dashboard-header>.header-actions,.dashboard-title-row{flex-wrap:wrap}.dashboard-header .header-actions{width:100%}.dashboard-viewbar{flex-direction:column;align-items:flex-start;gap:10px;margin-top:25px}.dashboard-scales{margin-top:8px}.dashboard-axis{display:none}.dashboard-scale{padding-block:22px}.dashboard-scale-meta{gap:7px;margin-left:4px}.dashboard-source-meta{display:none}.dashboard-scale-colors{grid-template-columns:repeat(var(--dashboard-axis-count), minmax(92px, 1fr));padding:3px 3px 8px;overflow-x:auto}.dashboard-scale-colors i{height:120px}.dashboard-palette-colors{grid-auto-columns:minmax(82px,1fr);padding:3px 3px 8px;overflow-x:auto}.dashboard-palette-colors i{height:92px}.dashboard-ramp{overflow-x:auto}.dashboard-ramp-gradient,.dashboard-ramp-markers{min-width:880px}.header-actions{width:100%}.header-actions .button-quiet{margin-left:-12px}.swatch-section{margin-top:35px}.preview-copy{padding:25px}.contrast-matrix-header,.contrast-matrix-row{grid-template-columns:minmax(110px,1.2fr) minmax(88px,.9fr) minmax(88px,.9fr)}.method-row{grid-template-columns:105px 1fr;gap:10px}.method-metric{display:none}.technical-note{margin-left:115px}.dialog-wide,.dialog{width:calc(100vw - 20px)}.dialog-header{padding:22px 20px 16px}.dialog-form,.export-content{padding:4px 20px 20px}.fine-tune-form{grid-template-columns:minmax(0,1fr)}.fine-tune-form>label,.fine-tune-form>.toggle-field,.fine-tune-form>.dialog-actions{grid-column:1}.dialog-actions-split{flex-direction:column-reverse;align-items:stretch;gap:12px}.dialog-actions-split>span{grid-template-columns:1fr 1fr;width:100%;display:grid}.dialog-actions-split>.button-danger{align-self:flex-start}.export-tabs{width:100%}.palette-sheet-preview{padding:17px;overflow-x:auto}.palette-sheet-preview>header,.palette-sheet-scales{min-width:630px}.export-actions{flex-direction:column;align-items:flex-start}.export-actions>div{justify-content:flex-end;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
