:root{--bg:#17140f;--bg-glow:#1e1a13;--panel:#201b15;--panel-raised:#262017;--panel-active:#2c2417;--text:#f1e9d8;--text-soft:#d3c6ab;--text-dim:#b1a184;--amber:#dfa15a;--amber-strong:#f0b877;--amber-ink:#241807;--mint:#8fd0a8;--mint-strong:#a6dfba;--hairline:#3d362a;--hairline-soft:#2e281e;--focus-ring:#f0b877;--danger:#e08a6a;--radius:3px;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, "Times New Roman", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--container:1080px;--gutter:clamp(16px, 4vw, 32px)}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;overflow-x:clip}body{background-color:var(--bg);background-image:radial-gradient(1100px 520px at 50% -160px, var(--bg-glow), var(--bg));color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-repeat:no-repeat;margin:0;font-size:16px;line-height:1.65;overflow-x:clip}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--amber);color:var(--amber-ink);border-radius:var(--radius);padding:12px 18px;font-weight:700;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--hairline-soft);z-index:2;background:#17140feb;position:relative}.site-header__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 18px;min-height:56px;padding-block:10px;display:flex}.brand{color:var(--text);font-family:var(--font-display);letter-spacing:.02em;align-items:center;gap:9px;font-size:21px;font-weight:700;text-decoration:none;display:inline-flex}.brand__mark{align-items:flex-end;gap:2px;height:18px;display:inline-flex}.brand__bar{background:var(--amber);border-radius:1px;width:4px;display:inline-block}.brand__bar:first-child{height:18px}.brand__bar:nth-child(2){background:var(--text-soft);height:11px}.brand__bar:nth-child(3){background:var(--mint);height:7px}.site-nav{flex-wrap:wrap;gap:4px 20px;display:flex}.site-nav a{color:var(--text-soft);letter-spacing:.04em;padding:8px 2px;font-size:14px;text-decoration:none}.site-nav a:hover{color:var(--amber-strong)}.site-main{padding-block:28px 64px}.site-footer{border-top:1px solid var(--hairline-soft);background:var(--bg);margin-top:72px}.site-footer__row{flex-direction:column;gap:14px;padding-block:30px;display:flex}.site-footer__note{max-width:58ch;color:var(--text-dim);margin:0;font-size:14px}.site-footer__nav{flex-wrap:wrap;gap:6px 22px;display:flex}.site-footer__nav a{color:var(--text-soft);padding:6px 0;font-size:14px;text-decoration:none}.site-footer__nav a:hover{color:var(--amber-strong)}.site-footer__copy{color:var(--text-dim);letter-spacing:.06em;margin:0;font-size:13px}.hero{padding-block:14px 6px}.hero__title{font-family:var(--font-display);letter-spacing:.005em;margin:0;font-size:clamp(27px,5.2vw,44px);font-weight:700;line-height:1.12}.hero__promise{max-width:62ch;color:var(--text-soft);margin:10px 0 0;font-size:clamp(15px,1.7vw,17px)}.workbench-section,.page-section{margin-top:44px}h2{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 8px;font-size:clamp(20px,2.6vw,26px);font-weight:700;line-height:1.25}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 18px;margin-bottom:8px;display:flex}.section-intro{max-width:70ch;color:var(--text-soft);margin:0 0 16px;font-size:15px}.section-meta{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-size:13px}.panel{background:var(--panel);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:clamp(14px,2.4vw,22px)}.controls-panel{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));align-items:end;gap:18px 20px;display:grid}.control{flex-direction:column;gap:8px;min-width:0;display:flex}.control--fieldset{border:0;margin:0;padding:0}.control--actions{border-top:1px solid var(--hairline-soft);flex-flow:wrap;grid-column:1/-1;gap:12px;padding-top:4px}.control-label{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;padding:0;font-size:12px;font-weight:600}.select{background:var(--panel-raised);width:100%;min-height:48px;color:var(--text);font-family:var(--font-body);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;padding:0 12px;font-size:15px}.select:hover{border-color:var(--amber)}.segmented{flex-wrap:wrap;gap:0;display:flex}.segmented-option{display:inline-flex;position:relative}.segmented-option+.segmented-option .segmented-label{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.segmented-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.segmented-label{background:var(--panel-raised);border:1px solid var(--hairline);border-radius:var(--radius);min-width:74px;min-height:48px;color:var(--text-soft);letter-spacing:.03em;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 16px;font-size:14px;display:inline-flex}.segmented-label:hover{border-color:var(--amber)}.segmented-input:checked+.segmented-label{background:var(--panel-active);border-color:var(--amber);color:var(--amber-strong);font-weight:600}.segmented-input:focus-visible+.segmented-label{outline:2px solid var(--focus-ring);outline-offset:2px;z-index:1}.tempo-row{align-items:center;gap:12px;display:flex}.tempo-input{appearance:none;cursor:pointer;background:0 0;flex:auto;min-width:0;height:44px}.tempo-input::-webkit-slider-runnable-track{background:var(--hairline);border-radius:2px;height:4px}.tempo-input::-webkit-slider-thumb{appearance:none;background:var(--amber);border:2px solid var(--bg);width:20px;height:20px;box-shadow:0 0 0 1px var(--amber);border-radius:50%;margin-top:-8px}.tempo-input::-moz-range-track{background:var(--hairline);border-radius:2px;height:4px}.tempo-input::-moz-range-thumb{background:var(--amber);border:2px solid var(--bg);width:18px;height:18px;box-shadow:0 0 0 1px var(--amber);border-radius:50%}.tempo-value{text-align:right;font-variant-numeric:tabular-nums;min-width:74px;color:var(--amber-strong);flex:none;font-size:15px;font-weight:600}.btn{min-height:48px;color:var(--text);border:1px solid var(--hairline);border-radius:var(--radius);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:10px 20px;font-size:13px;font-weight:700;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--amber);color:var(--amber-strong)}.btn--primary{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}.btn--primary:hover{background:var(--amber-strong);border-color:var(--amber-strong);color:var(--amber-ink)}.btn--play,.btn--stop{border-color:var(--amber);color:var(--amber-strong)}.btn--stop{background:var(--panel-active)}.btn--success,.btn--success:hover{border-color:var(--mint);color:var(--mint-strong)}.sheet{position:relative;overflow:hidden}.sheet:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 23px, var(--hairline-soft) 23px, var(--hairline-soft) 24px);opacity:.55;position:absolute;inset:0}.chord-row{flex-wrap:wrap;gap:10px;display:flex;position:relative}.chord-row--compact{gap:8px}.chord-tile{background:var(--panel-raised);border:1px solid var(--hairline);border-radius:var(--radius);min-width:0;min-height:104px;color:var(--text);font-family:var(--font-body);cursor:pointer;flex:118px;align-content:center;justify-items:center;gap:3px;padding:12px 10px;transition:border-color .15s,background-color .15s;display:grid}.chord-tile:hover{border-color:var(--amber)}.chord-tile--compact{flex:108px;min-height:88px;padding:10px 8px}.chord-tile__name{font-family:var(--font-display);white-space:nowrap;font-size:clamp(19px,2.4vw,26px);font-weight:700;line-height:1.1}.chord-tile--compact .chord-tile__name{font-size:clamp(17px,2vw,21px)}.chord-tile__roman{color:var(--amber);letter-spacing:.08em;font-size:12px;font-weight:700}.chord-tile__notes{color:var(--text-dim);letter-spacing:.05em;font-size:12px}.chord-tile.is-active{background:var(--panel-active);border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber), 0 0 14px #dfa15a2e}.chord-tile.is-active .chord-tile__name{color:var(--amber-strong)}.sheet-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex;position:relative}.sheet-actions--alt{margin-top:12px}.sheet-note{color:var(--text-dim);margin:12px 0 0;font-size:13px;position:relative}.alternative-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.alternative{min-width:0}.alternative-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 14px;margin-bottom:10px;display:flex}.alternative-head h3{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:15px;font-weight:700}.alternative-roman{color:var(--text-dim);letter-spacing:.1em;overflow-wrap:anywhere;margin:0;font-size:12px}.diatonic-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.diatonic-grid li{min-width:0}.diatonic-grid .chord-tile--compact{flex:none;width:100%}.guidance{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;display:grid}.guidance__item{background:var(--panel);border:1px solid var(--hairline-soft);border-radius:var(--radius);padding:18px 20px}.guidance__item h3{font-family:var(--font-display);color:var(--amber-strong);margin:0 0 8px;font-size:17px;font-weight:700}.guidance__item p{color:var(--text-soft);margin:0;font-size:14.5px}.faq{gap:10px;max-width:820px;display:grid}.faq__item{background:var(--panel);border:1px solid var(--hairline-soft);border-radius:var(--radius)}.faq__item[open]{border-color:var(--hairline)}.faq__question{cursor:pointer;font-family:var(--font-display);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:17px;font-weight:700;list-style:none;display:flex}.faq__question::-webkit-details-marker{display:none}.faq__question:after{content:"+";border:1px solid var(--hairline);width:26px;height:26px;color:var(--amber-strong);font-family:var(--font-body);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:400;line-height:1;display:inline-flex}.faq__item[open] .faq__question:after{content:"–"}.faq__question:hover{color:var(--amber-strong)}.faq__answer{max-width:70ch;color:var(--text-soft);margin:0;padding:0 20px 18px;font-size:15px}.prose{max-width:760px}.prose h1{font-family:var(--font-display);margin:6px 0 16px;font-size:clamp(26px,4vw,36px);line-height:1.15}.prose h2{margin-top:30px;font-size:19px}.prose p{color:var(--text-soft);font-size:15.5px}.prose a{color:var(--amber-strong)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:560px){.site-header__row{flex-wrap:nowrap;min-height:56px}.site-nav{flex-wrap:nowrap;gap:14px}.site-nav a:nth-child(n+3){display:none}.site-main{padding-block:18px 48px}.hero{padding-block:4px 0}.hero__title{overflow-wrap:anywhere;min-width:0;font-size:29px;line-height:1.04}.hero__promise{margin-top:8px;font-size:14.5px;line-height:1.5}.workbench-section,.page-section{margin-top:30px}#generator.workbench-section{margin-top:26px}h2{overflow-wrap:anywhere;min-width:0;font-size:22px}.section-intro{margin-bottom:12px;font-size:14px;line-height:1.5}.controls-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;padding:13px}.segmented{display:flex}.segmented-option{flex:1 1 0}.segmented-label{width:100%;min-width:0;min-height:44px;padding-inline:8px;font-size:13px}.select{min-height:44px;font-size:14px}.tempo-row{gap:10px}.tempo-value{min-width:56px;font-size:13px}.control--actions{border-top:0;flex-flow:column;grid-column:auto;gap:8px;padding-top:0}.control--actions .btn{width:100%;min-height:44px;padding-inline:8px;font-size:11px}.chord-tile{flex:calc(50% - 5px)}.chord-tile--compact{flex:calc(50% - 4px)}.sheet-actions .btn{flex:auto}.alternative-head{flex-direction:column;gap:2px}}@media (min-width:900px){.site-footer__row{flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:14px 32px}}
