/* utono v2.0.3 — branded authentication, resilient audio and corrected app icon sizes */
#utono-auth-gate[hidden]{display:none!important}
.utono-auth-gate{position:fixed;inset:0;z-index:99999;display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,.82fr);background:#FAF9F6;color:#1F1F1E;font-family:var(--utono-font),sans-serif;overflow:auto;overscroll-behavior:contain}
.utono-auth-panel{width:min(100%,550px);margin:auto;padding:clamp(28px,5vw,70px);box-sizing:border-box}
.utono-auth-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:clamp(42px,7vh,82px)}
.utono-auth-logo{width:200px;max-width:100%;height:76px;object-fit:contain;object-position:center}
.utono-auth-logo.for-dark{display:none}
.utono-auth-brand p{font-size:12px;letter-spacing:.12em;margin:-10px 0 0;color:#5F625E}
.utono-auth-copy{text-align:center;margin-bottom:29px}
.utono-auth-kicker{display:block;letter-spacing:.19em;color:#536D56;font-size:10px;font-weight:700;margin-bottom:16px}
.utono-auth-copy h1{font-size:clamp(30px,4vw,40px);letter-spacing:-.055em;line-height:1.15;margin:0 0 14px;font-weight:760;color:#1F1F1E}
.utono-auth-copy p{color:#767A73;font-size:14px;margin:0;line-height:1.55}
.utono-auth-tabs{padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#EBEDE8;border-radius:15px;margin:30px 0 32px}
.utono-auth-tabs button{background:transparent;border:0;border-radius:11px;min-height:43px;color:#767A73;font-size:13px;font-weight:650;cursor:pointer}
.utono-auth-tabs button.active{background:#fff;color:#1F1F1E;box-shadow:0 3px 10px rgba(0,0,0,.05)}
.utono-auth-gate form{display:flex;flex-direction:column;gap:11px}
.utono-auth-gate form label{color:#292D29;font-size:12px;font-weight:650}
.utono-auth-gate form input{box-sizing:border-box;font-size:16px;color:#1F1F1E;background:#FFFFFF;border:1px solid #D9D8D1;border-radius:13px;height:52px;padding:0 16px;width:100%;outline:0}
.utono-auth-gate form input:focus-visible{outline:2px solid #536D56!important;outline-offset:1px}
.utono-auth-password{position:relative;margin-bottom:5px}
.utono-auth-password input{padding-right:65px!important}
.utono-auth-password button{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#536D56;font-weight:650;font-size:12px;min-height:36px;min-width:42px;cursor:pointer}
.utono-auth-submit{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:52px;border:none;border-radius:13px;background:#536D56;color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.utono-auth-submit:hover{background:#435C48}
.utono-auth-submit:disabled{opacity:.7;cursor:progress}
.utono-auth-feedback{margin:0;min-height:18px;color:#9B4039;font-size:12px;line-height:1.5}
.utono-auth-offline{display:block;margin:25px auto 0;padding:12px 10px;background:transparent;border:0;color:#536D56;font-size:12px;text-decoration:underline;text-underline-offset:3px;font-weight:650;cursor:pointer}
.utono-auth-note{margin:9px auto 0;max-width:340px;text-align:center;color:#767A73;font-size:11px;line-height:1.6}
.utono-auth-note strong{font-weight:550}
.utono-auth-side{display:flex;align-items:center;justify-content:center;padding:45px;background:radial-gradient(ellipse at 20% 20%,#FFFFFF 0%,transparent 60%),radial-gradient(ellipse at 83% 85%,#C6D3C2 0%,transparent 49%),linear-gradient(145deg,#E7E2DA,#D7DFCF);overflow:hidden}
.utono-auth-side-content{max-width:440px}
.utono-auth-side-content span{font-size:11px;letter-spacing:.21em;color:#647764;font-weight:650}
.utono-auth-side-content h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,67px);line-height:1.04;letter-spacing:-.05em;font-weight:400;color:#263729;margin:36px 0}
.utono-auth-side-content p{font-size:14px;color:#526357;line-height:1.8}
body.theme-dark .utono-auth-gate{background:#0F1110;color:#EDEDE8}
body.theme-dark .utono-auth-logo.for-light{display:none}
body.theme-dark .utono-auth-logo.for-dark{display:block}
body.theme-dark .utono-auth-brand p,body.theme-dark .utono-auth-copy p,body.theme-dark .utono-auth-note{color:#AEB5AD}
body.theme-dark .utono-auth-copy h1{color:#EDEDE8}
body.theme-dark .utono-auth-tabs{background:#272B29}
body.theme-dark .utono-auth-tabs button{color:#B9C1B7}
body.theme-dark .utono-auth-tabs button.active{background:#39453C;color:#EDEDE8}
body.theme-dark .utono-auth-gate form label{color:#EDEDE8}
body.theme-dark .utono-auth-gate form input{background:#1A1D1C;border-color:#343C35;color:#EDEDE8}
body.theme-dark .utono-auth-side{background:radial-gradient(ellipse at 80% 5%,#526455,transparent 58%),linear-gradient(145deg,#1A1D1C,#252D27)}
body.theme-dark .utono-auth-side-content h2{color:#EDEDE8}
body.theme-dark .utono-auth-side-content p{color:#B8BCB6}
body.theme-dark .utono-auth-submit{color:#0F1110;background:#A7B89F}
@media(max-width:850px){.utono-auth-gate{display:block}.utono-auth-side{display:none}.utono-auth-panel{padding:48px 26px;min-height:100%;display:flex;flex-direction:column;justify-content:center}.utono-auth-brand{margin-bottom:36px}}
@media(max-width:450px){.utono-auth-panel{padding:30px 23px;min-height:100dvh}.utono-auth-logo{width:160px;height:62px}.utono-auth-brand{margin-bottom:32px}.utono-auth-tabs{margin:22px 0 27px}.utono-auth-copy h1{font-size:31px}}
/* Audio duration/progress controls: only real decoded waveform peaks are rendered. */
.utono-audio-title{display:flex;align-items:center;gap:7px;max-width:100%;white-space:nowrap}
.utono-audio-pencil{flex:none;display:inline-flex;font-size:14px;line-height:1;opacity:.8;color:var(--utono-action)}
.utono-audio-title:hover .utono-audio-pencil,.utono-audio-title:focus-visible .utono-audio-pencil{opacity:1}
.utono-audio-wave{isolation:isolate}
.utono-wave-peaks i{background:var(--utono-border);opacity:1}
.utono-wave-peaks{position:relative}
.utono-audio-wave.has-waveform .utono-wave-peaks:empty{display:none}
.utono-audio-seek{opacity:0;z-index:3;touch-action:pan-y;cursor:ew-resize}
.utono-audio-seek:disabled{cursor:not-allowed}
.utono-audio-wave:has(.utono-audio-seek:disabled){opacity:.58}
.utono-audio-wave:not(:has(.utono-wave-peaks i))::after{content:' ';position:absolute;left:0;right:0;top:49%;height:3px;border-radius:3px;background:linear-gradient(to right,var(--utono-action) var(--audio-played,0%),var(--utono-border) var(--audio-played,0%));pointer-events:none}
.utono-audio-time{font-variant-numeric:tabular-nums}

.utono-audio-wave .utono-wave-peaks{position:absolute;inset:0;width:100%}
.utono-audio-wave .utono-wave-progress{z-index:1;clip-path:inset(0 calc(100% - var(--audio-played,0%)) 0 0);pointer-events:none}
.utono-audio-wave .utono-wave-progress i{background:var(--utono-action);opacity:1}
.utono-audio-wave .utono-wave-progress:empty{display:none}
