:root{--bg:#f6f0e6;--bg-deep:#ece2d3;--surface:rgba(255,252,247,.92);--surface-strong:rgba(255,255,255,.98);--line:rgba(20,34,41,.1);--line-strong:rgba(20,34,41,.16);--text:#15232b;--muted:#627077;--shadow:0 18px 48px rgba(27,44,54,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:#fbf8f2;margin:0;font-family:IBM Plex Sans,Avenir Next,sans-serif}button,textarea{font:inherit}button{appearance:none;background:0 0;border:0}.page{flex-direction:column;justify-content:center;width:min(1120px,100vw - 2rem);min-height:100vh;margin:0 auto;padding:1.5rem 0 3rem;display:flex}.hero{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.hero-main{flex:auto;min-width:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:.75rem}.hero h1{letter-spacing:-.05em;margin:.35rem 0 0;font-family:Syne,IBM Plex Sans,sans-serif;font-size:clamp(2.8rem,6vw,4.4rem);line-height:.94}.hero-rust-suffix{color:#dea584}.hero-copy,.panel-copy,.selected-copy,.group-note,.copy-note,.empty-state p{color:var(--muted);line-height:1.6}.hero-copy{max-width:56rem;margin:.7rem 0 0;font-size:1rem}.hero-links{flex-wrap:wrap;flex-shrink:0;align-self:flex-end;align-items:center;gap:.65rem;display:flex}.hero-link{min-height:2.3rem;color:var(--text);background:rgba(20,34,41,.05);border:1px solid rgba(20,34,41,.1);border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .8rem;text-decoration:none;transition:transform .14s,border-color .14s,background .14s,color .14s;display:inline-flex}.hero-link:hover{background:rgba(20,34,41,.08);border-color:rgba(20,34,41,.2);transform:translateY(-1px)}.hero-link .app-icon{color:#205e8c}.hero-commit code{color:inherit;font-family:IBM Plex Mono,monospace;font-size:.82rem}.layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:1rem;display:grid}.panel,.empty-state{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1.2rem}.panel{padding:1rem}.panel-head{gap:.2rem;display:grid}.panel-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;display:flex}.panel-head h2,.result-head h2,.section-head h3,.empty-title{letter-spacing:-.03em;margin:0;font-size:1.25rem;line-height:1.05}.title-with-icon{align-items:center;gap:.55rem;display:inline-flex}.app-icon{fill:none;flex-shrink:0;width:1em;height:1em}.app-icon-fill{fill:currentColor;stroke:none}.app-icon.is-spin{animation:.9s linear infinite app-icon-spin}@keyframes app-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.title-with-icon .app-icon{color:#205e8c;font-size:.88em}.panel-copy,.selected-copy,.group-note,.copy-note{margin:0;font-size:.94rem}.input-note{color:#7a3328;background:rgba(157,65,51,.08);border:1px solid rgba(157,65,51,.16);border-radius:.95rem;margin-top:.75rem;padding:.8rem .95rem}.smiles-input{resize:vertical;width:100%;min-height:5.35rem;color:var(--text);background:var(--surface-strong);border:1px solid var(--line-strong);border-radius:1rem;outline:none;margin-top:1rem;padding:1rem 1.05rem;transition:border-color .14s,box-shadow .14s}.smiles-input:focus{border-color:rgba(23,112,168,.4);box-shadow:0 0 0 4px rgba(23,112,168,.08)}.model-toggle,.result-tabs{background:rgba(20,34,41,.04);border:1px solid rgba(20,34,41,.1);border-radius:999px;align-items:center;gap:.3rem;padding:.22rem;display:inline-flex}.model-toggle-button,.result-tab{min-height:2rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.38rem .8rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;transition:background .14s,color .14s,box-shadow .14s;display:inline-flex}.model-toggle-button .app-icon,.result-tab .app-icon{font-size:.84em}.model-toggle-button.is-active,.result-tab.is-active{color:var(--text);background:rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(20,34,41,.08)}.model-toggle-button.is-reference:not(.is-active){opacity:.8}.model-toggle-button:hover:not(.is-active),.result-tab:hover:not(.is-active){color:var(--text)}.result-head,.section-head{justify-content:space-between;align-items:flex-start;gap:.9rem;display:flex}.result-head-copy{flex:auto;gap:.35rem;min-width:0;display:grid}.result-tabs{flex:none;align-self:flex-start;width:fit-content}.result-head-main{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.active-smiles{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;max-width:100%;display:block;overflow:hidden}.meta-pill,.tone-chip,.score-value{border:1px solid transparent;border-radius:999px}.meta-pill,.score-value{justify-content:center;align-items:center;min-height:2rem;padding:.35rem .8rem;font-family:IBM Plex Mono,monospace;font-size:.76rem;display:inline-flex}.meta-pill{color:var(--text);background:rgba(20,34,41,.06);border-color:rgba(20,34,41,.1);max-width:100%}.subtle-pill{color:var(--muted)}.result-panel{gap:.9rem;display:grid;position:relative}.result-body{max-height:0;transition:max-height .26s,opacity .18s;overflow:hidden}.result-body.is-compact{max-height:18rem}.result-body.is-loading{max-height:16rem}.result-body.is-ready{max-height:64rem}.result-nav{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.result-nav-button{width:2.2rem;height:2.2rem;color:var(--text);cursor:pointer;background:rgba(20,34,41,.05);border:1px solid rgba(20,34,41,.1);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .14s,border-color .14s,background .14s,color .14s,opacity .14s;display:inline-flex}.result-nav-button:hover:not(:disabled){color:#205e8c;background:rgba(20,34,41,.08);border-color:rgba(20,34,41,.2);transform:translateY(-1px)}.result-nav-button:disabled{cursor:not-allowed;opacity:.45}.result-nav-status{text-align:center;color:var(--muted);flex:auto;margin:0;font-size:.94rem}.result-report{justify-content:flex-end;padding-top:.1rem;display:flex}.report-link{min-height:2.3rem;color:var(--text);background:rgba(20,34,41,.05);border:1px solid rgba(20,34,41,.1);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.45rem .8rem;font-size:.88rem;text-decoration:none;transition:transform .14s,border-color .14s,background .14s,color .14s;display:inline-flex}.report-link-icon{color:#205e8c;place-items:center;display:inline-grid}.report-link-icon .app-icon{font-size:.88rem}.report-link:hover{background:rgba(20,34,41,.08);border-color:rgba(20,34,41,.2);transform:translateY(-1px)}.report-link:focus-visible{background:rgba(20,34,41,.08);border-color:rgba(20,34,41,.2);transform:translateY(-1px)}.report-link:focus-visible{outline-offset:2px;outline:3px solid rgba(32,94,140,.16)}.export-panel{border:1px solid var(--line);background:rgba(255,253,250,.72);border-radius:1.2rem;gap:.95rem;padding:1rem;display:grid}.export-control{gap:.55rem;display:grid}.export-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-family:IBM Plex Mono,monospace;font-size:.74rem}.export-options{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.55rem;display:grid}.export-option{text-align:left;min-height:4rem;color:var(--muted);cursor:pointer;background:rgba(20,34,41,.04);border:1px solid rgba(20,34,41,.1);border-radius:.95rem;gap:.25rem;padding:.75rem .8rem;transition:border-color .14s,background .14s,color .14s,box-shadow .14s;display:grid}.export-option.is-active{color:var(--text);background:rgba(255,255,255,.95);border-color:rgba(20,34,41,.14);box-shadow:0 4px 12px rgba(20,34,41,.08)}.export-option:hover:not(.is-active){color:var(--text);background:rgba(20,34,41,.06)}.export-option-title{font-weight:700}.export-option-copy{font-size:.84rem;line-height:1.4}.export-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.export-action{min-height:2.3rem;color:var(--text);cursor:pointer;background:rgba(20,34,41,.05);border:1px solid rgba(20,34,41,.1);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.45rem .85rem;transition:transform .14s,border-color .14s,background .14s,color .14s,opacity .14s;display:inline-flex}.export-action:hover:not(:disabled){color:#205e8c;background:rgba(20,34,41,.08);border-color:rgba(20,34,41,.2);transform:translateY(-1px)}.export-action:disabled{cursor:not-allowed;opacity:.45}.copy-feedback{justify-content:flex-end;display:flex}.copy-note,.copy-toast{background:rgba(255,255,255,.78);border:1px solid rgba(20,34,41,.08);border-radius:.95rem;padding:.8rem .95rem}.copy-toast{pointer-events:none;max-width:min(26rem,100%);margin:0;animation:.16s ease-out copy-note-in,.22s ease-in 2.2s forwards copy-note-out}@keyframes copy-note-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes copy-note-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.state-icon{color:#205e8c;background:rgba(32,94,140,.1);border:1px solid rgba(32,94,140,.14);border-radius:999px;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;font-size:1.05rem;display:inline-flex}.state-icon .app-icon{width:1.15rem;height:1.15rem}.error-icon{color:#9d4133;background:rgba(157,65,51,.1);border-color:rgba(157,65,51,.16)}.loading-card{border:1px solid var(--line);box-shadow:var(--shadow);background:rgba(255,253,250,.95);border-radius:1.2rem;align-content:center;gap:.8rem;padding:1rem;display:grid}.loading-head{align-items:center;gap:.85rem;display:flex}.loading-progress{accent-color:#205e8c;width:100%;height:.8rem}.loading-meta{color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:.78rem}.empty-state{padding:1rem}.section-card{padding:.15rem 0 0}.section-card+.section-card{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.predicted-row{flex-wrap:wrap;gap:.55rem;margin-top:.85rem;display:flex}.tone-chip,.score-label{border-style:solid;border-width:1px;align-items:center;gap:.55rem;min-height:2.15rem;padding:.38rem .85rem;font-size:.9rem;line-height:1.2;display:inline-flex}.chip-label{font-weight:500}.chip-score{letter-spacing:.02em;opacity:.82;border-left:1px solid rgba(20,34,41,.16);padding-left:.55rem;font-family:IBM Plex Mono,monospace;font-size:.74rem}.muted-chip{color:var(--muted);background:rgba(20,34,41,.05);border-color:rgba(20,34,41,.09)}.score-list{gap:.55rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.score-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.score-label{overflow-wrap:anywhere}.score-value{color:var(--text);background:rgba(20,34,41,.06);border-color:rgba(20,34,41,.1)}.empty-state{align-content:center;gap:.35rem;min-height:20rem;display:grid}.empty-title{font-weight:700}@media (width<=920px){.layout{grid-template-columns:1fr}.hero{flex-direction:column;align-items:flex-start}.hero-links{justify-content:flex-start;align-self:flex-start}}@media (width<=640px){.page{width:min(100vw - 1rem,1120px);padding-top:1rem}.panel,.section-card,.empty-state{border-radius:1rem;padding:.95rem}.hero h1{font-size:2.4rem}.panel-head-row{align-items:flex-start}.result-head,.section-head{flex-direction:column;align-items:flex-start}.result-actions{align-self:flex-end}.result-nav-status{font-size:.9rem}.score-item{grid-template-columns:1fr}}