:root{
    --bg:#f6f7f9;
    --bg-soft:#eef0f3;
    --card:#ffffff;
    --card-border:#e8eaee;
    --text:#111217;
    --muted:#6b7280;
    --accent:#111217;
    --accent2:#4b5563;
    --fill:#f3f4f7;
    --line:#eceef2;
    --shadow:0 1px 2px rgba(17,18,23,.04),0 16px 40px rgba(17,18,23,.06);
    --shadow-sm:0 6px 16px rgba(17,18,23,.05);
    --r:18px;
    --r-sm:12px;
}
html{color-scheme:light;}
*{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'PingFang SC','Noto Sans SC',sans-serif;}
body{
    background:var(--bg);
    color:var(--text);
    min-height:100vh;
    overflow-x:hidden;
}
.aurora{
    position:fixed;inset:0;z-index:-1;
    background:
        radial-gradient(900px 380px at 50% -8%,rgba(17,18,23,.035),transparent 62%),
        var(--bg);
}

.navbar{
    background:rgba(246,247,249,.88);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
    padding:.7rem 0;
}
.navbar-brand{
    font-weight:800;letter-spacing:-.03em;font-size:1.05rem;color:var(--text)!important;
}
.brand-dot{
    width:28px;height:28px;border-radius:9px;display:inline-flex;
    align-items:center;justify-content:center;background:var(--text);
    color:#fff;font-size:.9rem;margin-right:.55rem;
}
.nav-link{
    color:var(--muted)!important;font-weight:600;font-size:.86rem;
    padding:.4rem .55rem!important;transition:color .2s;
}
.nav-link:hover,.nav-link.active{color:var(--text)!important;}
.navbar-toggler{border:1px solid var(--line);border-radius:10px;padding:.35rem .55rem;}
.navbar-toggler:focus{box-shadow:0 0 0 3px rgba(17,18,23,.08);}
.navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(17,18,23,0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar .btn-brand{
    padding:.45rem 1rem;font-size:.8rem;border-radius:999px;
    letter-spacing:0;text-transform:none;
}
@media (max-width:991.98px){
    .navbar-collapse{
        background:#fff;border:1px solid var(--line);border-radius:16px;
        padding:.85rem;margin-top:.7rem;
    }
}
.lang-dropdown .btn-lang{
    display:inline-flex;align-items:center;gap:.4rem;
    background:#fff;border:1px solid var(--line);color:var(--text);
    padding:.42rem .8rem;border-radius:999px;font-weight:600;font-size:.82rem;line-height:1;
}
.lang-dropdown .btn-lang:hover,
.lang-dropdown .btn-lang:focus,
.lang-dropdown .btn-lang.show{
    background:#fff;border-color:#cfd3db;color:var(--text);
    box-shadow:0 0 0 4px rgba(17,18,23,.05);
}
.lang-dropdown .btn-lang i{color:var(--text);font-size:.9rem;}
.lang-dropdown .dropdown-menu{
    background:#fff;border:1px solid var(--line);border-radius:14px;padding:.4rem;
    box-shadow:var(--shadow);min-width:200px;max-height:320px;overflow-y:auto;
}
.lang-dropdown .dropdown-item{
    color:var(--muted);border-radius:10px;padding:.5rem .7rem;font-size:.88rem;
    display:flex;align-items:center;gap:.6rem;
}
.lang-dropdown .dropdown-item:hover,
.lang-dropdown .dropdown-item:focus{background:var(--fill);color:var(--text);}
.lang-dropdown .dropdown-item.active{background:var(--text);color:#fff;font-weight:600;}
.lang-dropdown .dropdown-item .bi-check2{margin-left:auto;color:inherit;}

.hero{padding:2.4rem 0 1.5rem;}
.hero-eyebrow,.badge-pill{
    display:inline-block;margin:0 0 .9rem;
    font-size:.72rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:var(--muted);
    background:transparent;border:0;padding:0;
}
.hero h1{
    font-size:clamp(1.55rem,2.6vw,2.15rem);
    font-weight:800;line-height:1.22;
    letter-spacing:-.035em;color:var(--text);
    margin:0 auto;
    white-space:nowrap;
}
.grad-text{color:var(--text);font-style:normal;-webkit-text-fill-color:var(--text);}
.hero p.lead{
    color:var(--muted);font-size:.98rem;max-width:560px;
    margin:.85rem auto 0;line-height:1.65;
}

.container{max-width:1400px;}
.glass{
    background:var(--card);
    border:1px solid var(--card-border);
    border-radius:var(--r);
    box-shadow:var(--shadow);
}
.studio-card{padding:0;overflow:hidden;}
.studio-split{min-height:560px;}
.studio-col-text{
    display:flex;flex-direction:column;
    padding:1.15rem 1.15rem 1.05rem;
    min-height:100%;
}
.studio-col-voice{
    display:flex;flex-direction:column;
    padding:1.15rem;
    background:linear-gradient(180deg,#fafbfc 0%,#f6f7f9 100%);
    border-left:1px solid var(--line);
}
.composer{
    flex:1;display:flex;flex-direction:column;
    background:var(--fill);
    border:1px solid var(--line);
    border-radius:16px;
    padding:1rem 1.05rem .9rem;
    min-height:340px;
}
.studio-head{margin-bottom:.35rem;}
.studio-head h2{
    font-size:.78rem;font-weight:700;letter-spacing:.04em;
    text-transform:uppercase;color:var(--muted);margin:0;
}
.char-count{font-size:.75rem;color:var(--muted);}
textarea.form-control,
.form-control{
    background:transparent!important;
    border:0!important;
    color:var(--text)!important;
    box-shadow:none!important;
    border-radius:0;
}
textarea.form-control{
    flex:1;min-height:210px;resize:none;
    padding:.55rem 0 .7rem;font-size:1.02rem;line-height:1.7;
}
textarea.form-control:focus,
.form-control:focus{background:transparent!important;box-shadow:none!important;}
textarea::placeholder,.form-control::placeholder{color:#9aa1ad;}
.composer-chips{display:flex;flex-wrap:wrap;gap:.45rem;padding-top:.35rem;}
.chip{
    background:#fff;border:1px solid var(--line);
    color:#4b5563;border-radius:999px;padding:.32rem .75rem;
    font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;
}
.chip:hover{border-color:#111217;color:#111217;background:#fff;}

.studio-bar{
    display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
    margin-top:.9rem;
}
.btn-brand{
    background:var(--text);border:none;color:#fff;font-weight:700;
    padding:.72rem 1.2rem;border-radius:999px;font-size:.9rem;
    letter-spacing:0;text-transform:none;
    transition:transform .15s, background .15s;
}
.btn-brand:hover{background:#000;color:#fff;transform:translateY(-1px);}
.btn-brand:disabled{opacity:.5;transform:none;}
.btn-ghost{
    width:42px;height:42px;padding:0;
    display:inline-flex;align-items:center;justify-content:center;
    background:#fff;border:1px solid var(--line);
    color:var(--text);border-radius:12px;font-weight:600;
    transition:border-color .15s, background .15s;
}
.btn-ghost:hover{background:#fff;border-color:#111217;color:#111217;}
.btn-ghost:disabled{opacity:.4;}
#dlBtn{width:auto;padding:0 .85rem;gap:.35rem;}
#speakBtn{min-width:132px;}
.visualizer{
    display:flex;align-items:flex-end;gap:3px;height:22px;
    flex:1;min-width:80px;max-width:140px;opacity:.7;
}
.visualizer span{
    flex:1;background:#111217;border-radius:3px;height:12%;opacity:.2;
}
.visualizer.playing span{opacity:.85;animation:eq .9s ease-in-out infinite;}
.visualizer.playing span:nth-child(3n){animation-duration:.7s;}
.visualizer.playing span:nth-child(4n){animation-duration:1.1s;}
@keyframes eq{0%,100%{height:14%;}50%{height:calc(28% + var(--h,40%));}}
.status-wrap{color:var(--muted);}
.status-dot{width:7px;height:7px;border-radius:50%;background:#d1d5db;display:inline-block;margin-right:.4rem;}
.status-dot.on{background:#111217;animation:pulse 1.2s infinite;}
@keyframes pulse{50%{opacity:.4;}}

.studio-voices{height:100%;display:flex;flex-direction:column;}
.ctrl-label{
    font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--muted);font-weight:700;margin-bottom:.4rem;
    display:flex;justify-content:space-between;
}
.ctrl-label output,#voiceCountInline{color:var(--text);text-transform:none;letter-spacing:0;font-weight:700;}
#voiceSearch,.nice-select-btn,.nice-select-search{
    background:#fff!important;border:1px solid var(--line)!important;
    color:var(--text)!important;border-radius:12px;min-height:42px;
}
#voiceSearch:focus,.nice-select-btn[aria-expanded="true"],.nice-select-search:focus{
    border-color:#111217!important;box-shadow:0 0 0 4px rgba(17,18,23,.06)!important;outline:none;
}
.nice-select{position:relative;}
.nice-select-btn{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;
    padding:.5rem .85rem;font-weight:600;font-size:.9rem;text-align:left;
}
.nice-select-btn .bi-chevron-down{color:var(--muted);font-size:.85rem;transition:transform .2s;}
.nice-select-btn[aria-expanded="true"] .bi-chevron-down{transform:rotate(180deg);}
.nice-select-menu{
    position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);
    background:#fff;border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--shadow);padding:.5rem;display:flex;flex-direction:column;gap:.4rem;
}
.nice-select-search{padding:.45rem .7rem;font-size:.85rem;}
.nice-select-list{overflow-y:auto;max-height:240px;}
.nice-select-item{
    display:flex;align-items:center;gap:.65rem;width:100%;
    border:0;background:transparent;border-radius:10px;
    padding:.48rem .6rem;color:var(--text);text-align:left;font-size:.88rem;
}
.nice-select-item:hover{background:var(--fill);}
.nice-select-item.active{background:var(--text);color:#fff;font-weight:600;}
.nice-select-item .flag{width:1.4rem;text-align:center;flex-shrink:0;}
.nice-select-item .count{margin-left:auto;color:var(--muted);font-size:.75rem;font-weight:600;}
.nice-select-item.active .count{color:#d1d5db;}
.nice-select-item .bi-check2{margin-left:.25rem;}

.voice-grid{
    display:grid;grid-template-columns:1fr;
    gap:.45rem;max-height:340px;overflow-y:auto;padding:.1rem;
}
@media (min-width:520px){
    .voice-grid{grid-template-columns:1fr 1fr;}
}
.voice-grid::-webkit-scrollbar{width:6px;}
.voice-grid::-webkit-scrollbar-thumb{background:#d8dce3;border-radius:8px;}
.voice-card{
    display:flex;align-items:center;gap:.65rem;
    background:#fff;border:1px solid var(--line);
    border-radius:14px;padding:.5rem .6rem;cursor:pointer;
    transition:border-color .15s, box-shadow .15s, transform .15s;
}
.voice-card:hover{border-color:#c5c9d2;transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.voice-card.active{border-color:#d1d5db;background:#f8f9fb;box-shadow:none;}
.voice-avatar{
    width:36px;height:36px;border-radius:50%;flex-shrink:0;overflow:hidden;background:#eceef2;
}
.voice-avatar svg{width:100%;height:100%;display:block;}
.voice-info{min-width:0;flex:1;}
.voice-name{font-weight:700;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.voice-lang{font-size:.7rem;color:var(--muted);}
.voice-play{
    width:30px;height:30px;border-radius:50%;flex-shrink:0;
    border:1px solid var(--line);background:#fff;color:var(--text);
    display:flex;align-items:center;justify-content:center;font-size:.72rem;
}
.voice-play:hover{background:#f3f4f7;color:#111217;border-color:#d1d5db;}
.voice-card.active .voice-play{background:#4b5563;color:#fff;border-color:#4b5563;}
.voice-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:2rem 0;font-size:.9rem;}
.voice-section{
    grid-column:1/-1;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;
    color:var(--muted);font-weight:700;margin-top:.35rem;display:flex;align-items:center;gap:.55rem;
}
.voice-section::after{content:"";flex:1;height:1px;background:var(--line);}
.badge-ai{
    background:#eef0f3;color:#6b7280;font-size:.58rem;font-weight:700;
    padding:.12rem .38rem;border-radius:999px;margin-left:.25rem;letter-spacing:.04em;
}

input[type=range]{
    -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;
    background:linear-gradient(90deg,#111217 var(--fill,50%),#e5e7eb var(--fill,50%));outline:none;
}
input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none;width:14px;height:14px;border-radius:50%;
    background:#111217;border:2px solid #fff;box-shadow:0 0 0 1px #d1d5db;cursor:pointer;
}
input[type=range]::-moz-range-thumb{
    width:14px;height:14px;border-radius:50%;background:#111217;border:2px solid #fff;cursor:pointer;
}

.studio-history{padding:1rem 1.15rem 1.15rem;border-top:1px solid var(--line);}
.history-list{display:flex;flex-direction:column;gap:.45rem;max-height:220px;overflow-y:auto;}
.history-item{
    display:flex;align-items:center;gap:.7rem;
    background:var(--fill);border:1px solid var(--line);
    border-radius:12px;padding:.5rem .7rem;
}
.history-item .excerpt{min-width:0;flex:1;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.history-item .meta{font-size:.72rem;color:var(--muted);}
.history-item .history-actions{display:flex;gap:.35rem;}
.history-item .btn-ghost{width:34px;height:34px;border-radius:10px;}
.history-empty{color:var(--muted);font-size:.85rem;}

section[id]{padding-top:4rem!important;padding-bottom:4rem!important;}
#studio{padding-top:0!important;padding-bottom:2.2rem!important;}
section h2.fw-bold{
    font-size:clamp(1.35rem,2.2vw,1.8rem);
    font-weight:800;letter-spacing:-.03em;margin-top:.55rem;
}
.seo-copy{color:var(--muted);font-size:.95rem;line-height:1.7;max-width:640px;}
.feature-card{
    padding:1.45rem 1.35rem;border-radius:16px;height:100%;
    transition:transform .2s, box-shadow .2s, border-color .2s;
}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d9dde4;}
.feature-icon{
    width:42px;height:42px;border-radius:12px;display:flex;
    align-items:center;justify-content:center;font-size:1.15rem;
    background:var(--fill);color:var(--text);margin-bottom:.9rem;
}
.step-num{
    font-size:.78rem;font-weight:800;letter-spacing:.12em;
    color:var(--muted);margin-bottom:.7rem;
}
.feature-card h3{font-weight:800;font-size:1.05rem;}
.feature-card p{color:var(--muted);font-size:.92rem;margin:0;line-height:1.65;}

footer{color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);background:#fff;}
footer a{color:var(--muted);text-decoration:none;}
footer a:hover{color:var(--text);}
footer .h6{font-size:.72rem!important;letter-spacing:.1em;text-transform:uppercase;font-weight:800;}

.faq .accordion-item{
    background:#fff;border:1px solid var(--line)!important;border-radius:14px!important;
    margin-bottom:.7rem;overflow:hidden;
}
.faq .accordion-button{
    background:#fff;color:var(--text);font-weight:700;box-shadow:none;font-size:.98rem;
}
.faq .accordion-button:not(.collapsed),
.faq .accordion-button:hover{background:#fafbfc;color:var(--text);box-shadow:none;}
.faq .accordion-button:focus{box-shadow:none;color:var(--text);}
.faq .accordion-body{color:var(--muted);}
.quote-card{padding:1.4rem 1.35rem;border-radius:16px;display:flex;flex-direction:column;height:100%;}
.quote-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.quote-card .stars{color:#111217;font-size:.82rem;margin-bottom:.75rem;}
.quote-card blockquote{flex:1;margin:0 0 1rem;font-size:.95rem;line-height:1.65;color:var(--text);}
.quote-card .who{display:flex;align-items:center;gap:.7rem;}
.quote-card .avatar{
    width:38px;height:38px;border-radius:12px;
    display:grid;place-items:center;color:#fff!important;background:#111217!important;
    font-weight:800;font-size:.72rem;
}
.quote-card .who strong{display:block;font-size:.86rem;}
.quote-card .who span{color:var(--muted);font-size:.75rem;}
.guide-prose{color:var(--muted);line-height:1.75;}
.guide-prose h3{color:var(--text);margin-bottom:.55rem;}
.about-prose p{color:var(--muted);line-height:1.75;margin:0;}
.turnstile-wrapper{display:none;justify-content:center;padding:.7rem 0 0;}
.cf-turnstile{display:flex;justify-content:center;}
::selection{background:#111217;color:#fff;}
.skip-link{position:absolute;left:-999px;}
.skip-link:focus{left:1rem;top:1rem;width:auto;z-index:2000;background:#111;color:#fff;padding:.6rem 1rem;border-radius:10px;}

@media (max-width:991.98px){
    .studio-col-voice{border-left:0;border-top:1px solid var(--line);}
    .studio-split{min-height:0;}
    .hero{padding:1.7rem 0 1.1rem;}
    .hero h1{white-space:normal;}
    section[id]{padding-top:3.2rem!important;padding-bottom:3.2rem!important;}
}
@media (max-width:767.98px){
    .studio-bar .visualizer{display:none;}
    .studio-col-text,.studio-col-voice{padding:1rem;}
    #speakBtn{width:100%;}
    .voice-grid{grid-template-columns:1fr;}
}

.legal-wrap{max-width:780px;margin:0 auto;}
.legal-wrap.glass{padding:2.1rem 2rem;}
.legal-wrap h1{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800;letter-spacing:-.03em;margin:.55rem 0 .35rem;}
.legal-body{line-height:1.75;}
.legal-body h2{font-size:1.15rem;font-weight:800;margin:1.6rem 0 .6rem;}
.legal-body h3{font-size:1rem;font-weight:700;margin:1.1rem 0 .4rem;}
.legal-body p,.legal-body ul{color:var(--muted);}
.legal-body a{color:var(--text);}
.legal-summary{background:var(--fill);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;margin-top:1.6rem;}
.muted{color:var(--muted);font-size:.92rem;}
@media (max-width:767.98px){.legal-wrap.glass{padding:1.2rem 1.05rem;}}
