@font-face{font-family:Arvo;src:url('lds/fonts/arvo-latin-700-normal.woff2');font-weight:700;font-display:swap}
@font-face{font-family:PlexLoop;src:url('lds/fonts/ibm-plex-sans-thai-looped-thai-700-normal.woff2');font-weight:700;font-display:swap;unicode-range:U+0E00-0E7F}
@font-face{font-family:Bai;src:url('lds/fonts/bai-jamjuree-thai-400-normal.woff2');font-weight:400;font-display:swap;unicode-range:U+0E00-0E7F}
@font-face{font-family:Bai;src:url('lds/fonts/bai-jamjuree-latin-400-normal.woff2');font-weight:400;font-display:swap}
@font-face{font-family:Bai;src:url('lds/fonts/bai-jamjuree-thai-600-normal.woff2');font-weight:600;font-display:swap;unicode-range:U+0E00-0E7F}
@font-face{font-family:Bai;src:url('lds/fonts/bai-jamjuree-latin-600-normal.woff2');font-weight:600;font-display:swap}
@font-face{font-family:Mono;src:url('lds/fonts/jetbrains-mono-latin-400-normal.woff2');font-weight:400;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--surface-canvas);color:var(--text-primary);font-family:Bai,sans-serif;line-height:1.65;font-size:16px}a{color:inherit}button,select,input{font:inherit;color:inherit}button,select{min-height:44px;border:1px solid var(--border-default);background:var(--surface-card);border-radius:8px}button{padding:8px 16px;cursor:pointer}button:hover,select:hover{border-color:var(--border-emphasis)}button[aria-pressed=true],button.active{background:var(--text-primary);color:var(--surface-canvas);border-color:var(--text-primary)}:focus-visible{outline:3px solid var(--ldm-foundation-interaction-focus-ring-light);outline-offset:4px}html[data-theme=dark] :focus-visible{outline-color:var(--ldm-foundation-interaction-focus-ring-dark)}h1,h2,h3,p{margin:0}h1,h2{font-family:Arvo,PlexLoop,serif;font-weight:700}h1{font-size:clamp(2.2rem,4.3vw,3.7rem);line-height:1.18;letter-spacing:-.045em}h2{font-size:clamp(1.55rem,2.7vw,2.25rem);line-height:1.35;letter-spacing:-.025em}h3{font-size:1.13rem;font-weight:600}small,.small{font-size:.83rem}code,.mono{font-family:Mono,monospace;font-size:.75rem;overflow-wrap:anywhere}.muted{color:var(--text-metadata)}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.15em;font-size:.73rem;font-weight:600;color:var(--text-metadata)}.eyebrow:before{content:'';width:20px;height:3px;background:var(--ldm-foundation-interaction-accent-light)}.wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;z-index:20;background:var(--surface-card);padding:12px}.skip:focus{top:12px}.top{border-bottom:1px solid var(--border-hairline);background:var(--surface-canvas)}.top .wrap{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:16px}.identity{font-family:Arvo,serif;font-size:1.35rem;text-decoration:none;color:var(--ldm-brand-blue)}html[data-theme=dark] .identity{color:var(--text-primary)}.top-tools{display:flex;align-items:center;gap:20px}.top-note{font-size:.77rem;color:var(--text-metadata)}.top select{padding:7px 28px 7px 12px}.hero{padding:64px 0 36px;display:grid;grid-template-columns:1fr 245px;gap:40px;align-items:end}.hero h1{margin:16px 0 22px;max-width:880px}.hero p{max-width:710px;color:var(--text-secondary);font-size:1.05rem}.hero-stat{padding-left:28px;border-left:1px solid var(--border-default);display:grid;gap:18px}.hero-stat span{display:block;font-size:.8rem;color:var(--text-metadata)}.hero-stat strong{font-family:Arvo,serif;font-size:1.75rem;line-height:1.1}.nav{display:flex;gap:28px;padding:18px 0;border-block:1px solid var(--border-hairline);margin-bottom:42px;overflow:auto}.nav a{font-size:.9rem;text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:8px}.nav a span{font-family:Mono,monospace;color:var(--text-metadata);font-size:.72rem}.nav a:hover{text-decoration:underline;text-underline-offset:6px}.section{margin-bottom:80px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.section-head p{color:var(--text-secondary);font-size:.93rem;max-width:620px;margin-top:10px}.controls{padding:22px 24px;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:14px 14px 0 0;display:flex;gap:22px;align-items:end;flex-wrap:wrap}.field{display:grid;gap:7px}.field label,.field legend{font-size:.8rem;font-weight:600;color:var(--text-metadata)}.field select{padding:9px 36px 9px 12px;min-width:260px}fieldset{border:0;padding:0;margin:0}.segmented{display:flex;gap:5px}.segmented button{min-width:58px;padding:8px 14px}.view-tools{margin-left:auto}.result-note{border-inline:1px solid var(--border-hairline);padding:18px 24px;background:var(--surface-alt);font-size:.9rem;display:flex;gap:12px;align-items:start}.result-note strong{font-weight:600}.note-mark{font-family:Mono,monospace;font-size:.78rem;padding:3px 8px;border:1px solid var(--border-emphasis);border-radius:5px;white-space:nowrap}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border-hairline);border-radius:0 0 14px 14px;overflow:hidden}.theme-sample{padding:28px;min-width:0;background:var(--panel-bg);color:var(--panel-text)}.theme-sample[data-sample-theme=light]{--panel-bg:var(--ldm-foundation-surface-card-light);--panel-text:var(--ldm-foundation-text-primary-light);--panel-meta:var(--ldm-foundation-text-metadata-light);--panel-border:var(--ldm-foundation-border-default-light);--panel-soft:var(--ldm-foundation-surface-alt-light)}.theme-sample[data-sample-theme=dark]{--panel-bg:var(--ldm-foundation-surface-canvas-dark);--panel-text:var(--ldm-foundation-text-primary-dark);--panel-meta:var(--ldm-foundation-text-metadata-dark);--panel-border:var(--ldm-foundation-border-default-dark);--panel-soft:var(--ldm-foundation-surface-alt-dark)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel-head h3{font-size:1.1rem}.panel-head span{font-family:Mono,monospace;font-size:.67rem;color:var(--panel-meta);letter-spacing:.08em}.ramp-heading{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;color:var(--panel-meta);margin:12px 0 9px}.ramp{height:64px;display:flex;overflow:hidden;border-radius:6px;border:1px solid var(--panel-border,var(--border-default))}.ramp i{flex:1;min-width:0;display:block}.ramp.small-ramp{height:25px}.ramp.discrete{gap:3px;border:0;border-radius:0}.ramp.discrete i{border:1px solid var(--panel-border,var(--border-default));border-radius:3px}.ramp.bad-ramp{height:30px}.legend-extremes{display:flex;justify-content:space-between;color:var(--panel-meta);font-size:.7rem;margin:7px 0 16px}.compare-label{font-size:.72rem;color:var(--panel-meta)}.comparison-divider{border-top:1px solid var(--panel-border);margin:22px 0}.chart-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.76rem;margin:20px 0 8px;color:var(--panel-meta)}.bar-chart{height:146px;display:flex;gap:7px;align-items:end;border-bottom:1px solid var(--panel-border);padding-top:20px}.bar-column{flex:1;min-width:0;height:100%;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:3px}.bar-column b{font-family:Mono,monospace;font-size:.58rem;font-weight:400}.bar-column i{width:100%;max-width:30px;border:1px solid var(--panel-border);border-radius:3px 3px 0 0;display:block}.class-key{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}.class-key span{display:flex;gap:4px;align-items:center;font-size:.64rem;color:var(--panel-meta)}.class-key i{width:11px;height:11px;display:inline-block;border:1px solid var(--panel-border)}.metric{display:flex;justify-content:space-between;gap:12px;margin-top:15px;color:var(--panel-meta);font-size:.74rem}.metric strong{color:var(--panel-text);font-family:Mono,monospace}.details{border:1px solid var(--border-hairline);border-radius:10px;margin-top:16px;overflow:hidden}.details summary{cursor:pointer;font-weight:600;padding:16px 20px;min-height:52px}.details-body{padding:0 20px 22px}.disclosure-note{font-size:.82rem;color:var(--text-metadata);margin:12px 0}.table-scroll{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.79rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-hairline);vertical-align:top}th{font-weight:600;color:var(--text-metadata);white-space:nowrap}td.num{font-family:Mono,monospace}.swatch-inline{display:inline-block;width:18px;height:18px;border:1px solid var(--border-emphasis);vertical-align:middle;margin-right:8px}.library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.family-card{border:1px solid var(--border-hairline);border-radius:10px;padding:16px;background:var(--surface-card);min-width:0}.family-card h3{font-size:.95rem}.family-card p{font-size:.72rem;color:var(--text-metadata);margin:2px 0 12px}.family-card .theme-sample{padding:10px;border-radius:5px;margin-top:6px}.family-card button{width:100%;font-size:.76rem;min-height:38px;margin-top:12px;background:transparent}.mini-label{font-size:.6rem;color:var(--panel-meta);display:flex;justify-content:space-between;margin-bottom:5px}.library-card .ramp{height:22px}.block-note{border-left:3px solid var(--border-emphasis);padding:4px 0 4px 15px;font-size:.83rem;color:var(--text-secondary);margin:18px 0}.gradient-layout{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--border-hairline);border-radius:14px;overflow:hidden}.gradient-list{padding:12px;background:var(--surface-card);border-right:1px solid var(--border-hairline);display:grid;gap:5px;align-content:start}.gradient-choice{display:flex;gap:12px;text-align:left;align-items:center;border:0;background:transparent}.gradient-choice[aria-pressed=true]{background:var(--surface-soft);color:var(--text-primary)}.gradient-choice i{width:36px;height:36px;border-radius:7px;border:1px solid var(--border-default);flex:none}.gradient-choice span{font-size:.82rem}.gradient-stage{padding:26px;min-width:0}.atmosphere-art{min-height:340px;border-radius:9px;padding:35px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.atmosphere-art .art-label{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase}.atmosphere-art h3{font-family:Arvo,PlexLoop,serif;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.25;max-width:490px;letter-spacing:-.03em}.atmosphere-art p{font-size:.82rem;margin-top:14px;max-width:380px}.art-bottom{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:36px;font-size:.74rem}.art-lines{display:flex;gap:5px;align-items:end;height:42px}.art-lines i{display:block;width:3px;background:currentColor}.gradient-spec{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}.stop{font-size:.73rem}.stop i{display:inline-block;width:23px;height:23px;vertical-align:middle;border:1px solid var(--border-emphasis);margin-right:6px;border-radius:3px}.category-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border-hairline);border-radius:12px;overflow:hidden}.series-row{display:grid;grid-template-columns:24px 1fr 64px;align-items:center;gap:10px;margin:8px 0}.series-symbol{display:inline-flex;justify-content:center;align-items:center;font-size:1.1rem;line-height:1}.series-bar{height:26px;border:1px solid var(--panel-border);border-radius:3px;display:flex;align-items:center;padding-left:8px}.series-name{font-size:.72rem;color:var(--panel-meta)}.line-example{margin:26px 0 0;border-top:1px solid var(--panel-border);padding-top:20px}.line-example svg{width:100%;height:auto;display:block}.line-legend{display:flex;gap:24px;font-size:.74rem;flex-wrap:wrap}.line-legend span{display:flex;align-items:center;gap:7px}.line-legend i{width:28px;height:0;border-top:2px solid currentColor}.line-legend i.dashed{border-top-style:dashed}.state-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.state-card{margin:0;border:1px solid var(--border-hairline);background:var(--surface-card);border-radius:10px;padding:22px;min-width:0}.state-card h3{font-size:.84rem;color:var(--text-metadata);margin-bottom:16px}.state-value{font-size:2.1rem;font-family:Arvo,PlexLoop,serif;line-height:1.3}.state-card p{font-size:.79rem;margin-top:12px;color:var(--text-secondary)}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.role-item{font-size:.7rem;border-bottom:1px solid var(--border-hairline);padding:10px 0;min-width:0;overflow-wrap:anywhere}.role-item i{display:block;height:35px;border:1px solid var(--border-default);border-radius:4px;margin-bottom:8px}.role-item code{display:block;font-size:.65rem}.status-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-block:1px solid var(--border-hairline);padding:24px 0}.status-list h3{font-size:.95rem;margin-bottom:8px}.status-list p{font-size:.83rem;color:var(--text-secondary)}.footer{border-top:1px solid var(--border-hairline);padding:26px 0 42px;color:var(--text-metadata);font-size:.77rem}.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.history-link{display:inline-block;min-height:44px;margin-top:16px}.comparison-note{font-size:.78rem;margin:12px 0;color:var(--text-metadata)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vision-gray .visual-color{filter:grayscale(1)}.vision-deuteranopia .visual-color{filter:url('#deuteranopia')}.vision-gray .visual-label,.vision-deuteranopia .visual-label{filter:none}.noscript{border:1px solid var(--border-default);padding:12px;margin-bottom:24px;font-size:.85rem}.print-label{display:none}
@media(max-width:1050px){.hero{grid-template-columns:1fr 200px}.library-grid{grid-template-columns:repeat(3,1fr)}.view-tools{margin-left:0}.gradient-layout{grid-template-columns:250px 1fr}.role-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.top .wrap{min-height:68px}.top-note{display:none}.hero{padding-top:34px;grid-template-columns:1fr;gap:24px}.hero-stat{padding:16px 0 0;border-left:0;border-top:1px solid var(--border-hairline);grid-template-columns:repeat(3,1fr);gap:12px}.hero-stat strong{font-size:1.25rem}.hero-stat span{font-size:.68rem}.nav{gap:22px;margin-bottom:28px}.section{margin-bottom:54px}.section-head{display:block}.section-head .segmented{margin-top:16px}.controls{padding:18px;gap:16px}.field{width:100%}.field select{width:100%;min-width:0}.view-tools{width:auto}.preview-grid,.category-grid{grid-template-columns:1fr}.theme-sample{padding:22px}.result-note{padding:16px 18px;align-items:start}.library-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gradient-layout{grid-template-columns:1fr}.gradient-list{grid-template-columns:repeat(2,1fr);border-right:0;border-bottom:1px solid var(--border-hairline)}.gradient-choice{padding:7px;gap:8px}.gradient-choice span{font-size:.73rem}.gradient-stage{padding:16px}.atmosphere-art{min-height:330px;padding:24px}.state-grid{grid-template-columns:repeat(2,1fr)}.role-grid{grid-template-columns:repeat(2,1fr)}.status-list{grid-template-columns:1fr;gap:20px}.section-head p{font-size:.88rem}}
@media(max-width:400px){.wrap{width:calc(100% - 24px)}.top-tools{gap:8px}.identity{font-size:1.05rem}.hero h1{font-size:2.1rem}.library-grid{grid-template-columns:1fr}.state-grid{grid-template-columns:1fr}.gradient-list{grid-template-columns:1fr 1fr}.gradient-choice i{width:25px;height:32px}.theme-sample{padding:17px}.ramp{height:52px}.bar-chart{gap:4px}.bar-column b{font-size:.52rem}.atmosphere-art{padding:20px;min-height:290px}.result-note{display:block}.note-mark{display:inline-block;margin-bottom:6px}.role-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.top-tools,.controls,.nav,.gradient-list,.segmented,.history-link{display:none}.wrap{width:100%;max-width:none}.hero{padding-top:20px}.section{break-inside:avoid;margin-bottom:30px}.preview-grid,.category-grid{grid-template-columns:1fr 1fr}.theme-sample,.atmosphere-art,.ramp i,.series-bar,.role-item i,.swatch-inline{-webkit-print-color-adjust:exact;print-color-adjust:exact}.details:not([open]){display:none}.library-grid{grid-template-columns:repeat(3,1fr)}.print-label{display:block}}
