/* VRT Vocal Warm-Up Generator 2.0.0 | vocalrangetester.com | every selector is scoped to .vrtwug-tool.
   Sizes in px (themes shrink rem). Help text >= 15px, labels >= 13px, touch targets >= 44px, text contrast >= 4.5:1. */
.vrtwug-tool{--wu-pri:#4338ca;--wu-pri2:#3730a3;--wu-onpri:#fff;--wu-ink:#0f172a;--wu-text:#334155;--wu-mut:#475569;--wu-bg:#fff;--wu-soft:#f4f5ff;--wu-line:#d9dcf3;--wu-edge:#94a3b8;--wu-chip:#e8eaff;--wu-ok:#15803d;--wu-err:#b91c1c;--wu-errbg:#fef2f2;--wu-errtx:#7f1d1d;--wu-page:transparent;
	--wu-white:#fff;--wu-black:#334155;--wu-set:#c7d2fe;--wu-setb:#6366f1;--wu-now:#ea580c;--wu-warnbg:#fff7ed;--wu-warntx:#7c2d12;
	color:var(--wu-text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;box-sizing:border-box;text-align:left;max-width:1040px;margin:0 auto 1.75em;background:var(--wu-page)}
@media (prefers-color-scheme:dark){
	.vrtwug-tool[data-scheme=auto]{--wu-pri:#a5b4fc;--wu-pri2:#c7d2fe;--wu-onpri:#0f172a;--wu-ink:#f1f5f9;--wu-text:#e2e8f0;--wu-mut:#cbd5e1;--wu-bg:#111827;--wu-soft:#1a2135;--wu-line:#334155;--wu-edge:#64748b;--wu-chip:#272f52;--wu-ok:#4ade80;--wu-err:#fca5a5;--wu-errbg:#3b1219;--wu-errtx:#fecaca;--wu-page:#0b1120;
		--wu-white:#e2e8f0;--wu-black:#0f172a;--wu-set:#818cf8;--wu-setb:#4f46e5;--wu-now:#fb923c;--wu-warnbg:#2a1d0e;--wu-warntx:#fed7aa;padding:14px;border-radius:18px}
}
.vrtwug-tool *,.vrtwug-tool *::before,.vrtwug-tool *::after{box-sizing:border-box}
.vrtwug-tool [hidden]{display:none!important}
.vrtwug-tool p,.vrtwug-tool dl,.vrtwug-tool dd,.vrtwug-tool dt,.vrtwug-tool h2,.vrtwug-tool h3,.vrtwug-tool ol,.vrtwug-tool li,.vrtwug-tool fieldset,.vrtwug-tool legend{margin:0;padding:0}
.vrtwug-tool h2,.vrtwug-tool h3{font-family:inherit;text-transform:none;letter-spacing:normal}
.vrtwug-tool button{font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;margin:0;cursor:pointer;line-height:1.2;text-shadow:none}
.vrtwug-tool button:disabled{cursor:not-allowed;opacity:.45}
.vrtwug-tool :focus-visible{outline:3px solid var(--wu-pri);outline-offset:2px}
.vrtwug-sr{position:absolute!important;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* head */
.vrtwug-head{margin:0 0 12px}
.vrtwug-tool .vrtwug-title{margin:0;font-size:25px;line-height:1.25;font-weight:800;color:var(--wu-ink);letter-spacing:-.01em}
.vrtwug-lead{margin-top:4px!important;font-size:16px;color:var(--wu-mut)}

.vrtwug-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.vrtwug-card{border:1px solid var(--wu-line);border-radius:16px;background:var(--wu-bg);padding:14px;min-width:0}
.vrtwug-tool .vrtwug-h3{margin:0 0 6px;font-size:18px;line-height:1.3;font-weight:800;color:var(--wu-ink)}
.vrtwug-label{display:flex;align-items:center;gap:8px;margin-top:14px!important;font-size:16px;font-weight:800;color:var(--wu-ink)}
.vrtwug-step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:99px;background:var(--wu-pri);color:var(--wu-onpri);font-size:13px;font-weight:800;flex:none}
.vrtwug-sub{margin-top:10px!important;font-size:15px;font-weight:700;color:var(--wu-ink)}
.vrtwug-hint{margin-top:6px!important;font-size:15px;line-height:1.45;color:var(--wu-mut)}

/* radio groups */
.vrtwug-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:6px;padding:4px;border-radius:12px;background:var(--wu-chip)}
.vrtwug-lens{grid-template-columns:repeat(3,minmax(0,1fr))}
.vrtwug-foci{grid-template-columns:minmax(0,1fr)}
.vrtwug-tool .vrtwug-seg button{min-height:44px;padding:6px 10px;border:0;border-radius:9px;background:transparent;color:var(--wu-ink);font-weight:700;font-size:15px;text-align:center}
.vrtwug-tool .vrtwug-seg button:hover{background:var(--wu-bg);color:var(--wu-ink)}
.vrtwug-tool .vrtwug-seg button[aria-checked=true]{background:var(--wu-pri);color:var(--wu-onpri)}
.vrtwug-seg button small{display:block;margin-top:2px;font-size:13px;font-weight:600;opacity:.92}
.vrtwug-tool .vrtwug-foci button{text-align:left;padding:6px 12px}
.vrtwug-foci button[aria-checked=true]::after{content:"\2713";float:right;margin-top:-1.35em;font-weight:800}

/* own notes */
.vrtwug-ends{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:10px}
.vrtwug-tool .vrtwug-end{min-width:0;border:1px solid var(--wu-line);border-radius:12px;padding:10px 12px 8px;background:var(--wu-soft)}
.vrtwug-tool .vrtwug-end legend{padding:0 4px;font-size:15px;font-weight:800;color:var(--wu-ink);float:left;width:100%;margin-bottom:6px}
.vrtwug-row{clear:both;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px}
.vrtwug-field{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;font-weight:700;color:var(--wu-mut)}
.vrtwug-tool select{width:100%;min-width:0;min-height:44px;margin:0;padding:6px 10px;border:1px solid var(--wu-edge);border-radius:10px;background:var(--wu-bg);color:var(--wu-ink);font:inherit;font-size:16px;font-weight:600;line-height:1.3;box-shadow:none}
.vrtwug-tool select[data-wug-tempo]{margin-top:6px}
.vrtwug-tool [aria-invalid=true]{border-color:var(--wu-err);box-shadow:0 0 0 1px var(--wu-err)}
.vrtwug-ferr{font-size:15px;font-weight:700;color:var(--wu-err)}
.vrtwug-ferr:not(:empty){margin-top:6px!important}
.vrtwug-ferr:not(:empty)::before{content:"\26A0  "}
.vrtwug-notice{margin-top:12px;padding:10px 12px;border-radius:12px;border-left:5px solid var(--wu-err);background:var(--wu-errbg);color:var(--wu-errtx);font-size:15px}
.vrtwug-ntitle{font-size:17px;font-weight:800;margin-bottom:2px!important}
.vrtwug-notice .vrtwug-btn{margin-top:8px}

/* buttons */
.vrtwug-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vrtwug-tool .vrtwug-main{display:inline-flex;align-items:center;justify-content:center;flex:1 1 220px;min-height:52px;padding:0 22px;border:0;border-radius:99px;background:#4f46e5;color:#fff;font-weight:800;font-size:18px}
.vrtwug-tool .vrtwug-main:hover,.vrtwug-tool .vrtwug-main:focus{background:#4338ca;color:#fff}
.vrtwug-tool .vrtwug-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto;min-height:44px;min-width:44px;padding:0 16px;border:1px solid var(--wu-edge);border-radius:10px;background:var(--wu-bg);color:var(--wu-ink);font-weight:700;font-size:15px}
.vrtwug-tool .vrtwug-btn:hover{background:var(--wu-soft);color:var(--wu-ink)}
.vrtwug-tool .vrtwug-btn-pri,.vrtwug-tool .vrtwug-btn-pri:hover{background:var(--wu-pri);border-color:var(--wu-pri);color:var(--wu-onpri)}
.vrtwug-tool .vrtwug-btn-pri:hover{background:var(--wu-pri2)}

/* result */
.vrtwug-tool .vrtwug-result .vrtwug-h3:focus{outline:none}
.vrtwug-tool .vrtwug-result .vrtwug-h3:focus-visible{outline:2px solid var(--wu-pri);outline-offset:4px;border-radius:6px}
.vrtwug-empty{padding:4px 0 2px;font-size:15px;color:var(--wu-mut)}
.vrtwug-emptybig{font-size:20px;font-weight:800;color:var(--wu-mut)}
.vrtwug-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}
.vrtwug-answer{font-size:18px;line-height:1.4;font-weight:700;color:var(--wu-ink)}
.vrtwug-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.vrtwug-facts div{padding:8px 10px;border-radius:10px;background:var(--wu-soft);min-width:0}
.vrtwug-facts dt{font-size:13px;font-weight:700;color:var(--wu-mut)}
.vrtwug-facts dd{font-size:16px;font-weight:800;color:var(--wu-ink);overflow-wrap:anywhere}

/* player */
.vrtwug-player{display:grid;gap:10px;padding:12px;border:2px solid var(--wu-pri);border-radius:14px;background:var(--wu-soft)}
.vrtwug-now{display:grid;gap:2px;min-height:112px}
.vrtwug-nowex{font-size:17px;font-weight:800;color:var(--wu-ink)}
.vrtwug-nownote{font-size:44px;line-height:1.1;font-weight:800;color:var(--wu-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.vrtwug-nowsub{font-size:15px;color:var(--wu-mut)}
.vrtwug-bar{position:relative;height:10px;border-radius:99px;background:var(--wu-line);overflow:hidden}
.vrtwug-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:99px;background:var(--wu-pri);transition:width .15s linear}
.vrtwug-clock{font-size:15px;font-weight:700;color:var(--wu-mut);font-variant-numeric:tabular-nums}
.vrtwug-piano{display:flex;height:64px;padding:0 0 18px;position:relative}
.vrtwug-key{position:relative;flex:1 1 0;min-width:0;border:1px solid var(--wu-edge);border-left-width:0;background:var(--wu-white)}
.vrtwug-key:first-child{border-left-width:1px;border-radius:6px 0 0 6px}
.vrtwug-key:last-child{border-radius:0 6px 6px 0}
.vrtwug-key.is-black{background:var(--wu-black);height:62%}
.vrtwug-key.is-set{background:var(--wu-set)}
.vrtwug-key.is-black.is-set{background:var(--wu-setb)}
.vrtwug-key.is-now,.vrtwug-key.is-black.is-now{background:var(--wu-now)}
.vrtwug-key b{position:absolute;left:0;bottom:-19px;font-size:13px;line-height:1;font-weight:700;color:var(--wu-mut);white-space:nowrap}
.vrtwug-key:last-child b{left:auto;right:0}
.vrtwug-controls{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}
.vrtwug-tool .vrtwug-play{min-height:52px;border:0;border-radius:99px;background:#4f46e5;color:#fff;font-weight:800;font-size:18px}
.vrtwug-tool .vrtwug-play:hover{background:#4338ca;color:#fff}
.vrtwug-tool .vrtwug-play[aria-pressed=true]{background:#c2410c}
.vrtwug-controls [data-wug-stop]{grid-column:1/-1}
.vrtwug-bl{font-size:15px}
.vrtwug-sound{display:grid;gap:6px}
.vrtwug-sound .vrtwug-sub{margin-top:0!important}
.vrtwug-waves{margin-top:0}
.vrtwug-vol{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:700;color:var(--wu-ink)}
.vrtwug-vol input{flex:1;min-width:0;height:44px;accent-color:var(--wu-pri);margin:0}
.vrtwug-audio{padding:10px 12px;border-radius:12px;background:var(--wu-warnbg);color:var(--wu-warntx);font-size:15px;font-weight:700}

/* routine list */
.vrtwug-tool .vrtwug-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.vrtwug-tool .vrtwug-item{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--wu-line);border-radius:12px;background:var(--wu-bg)}
.vrtwug-tool .vrtwug-item.is-now{border-color:var(--wu-now);box-shadow:inset 4px 0 0 var(--wu-now)}
.vrtwug-ihead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.vrtwug-inum{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:99px;background:var(--wu-chip);color:var(--wu-pri2);font-size:14px;font-weight:800;flex:none}
.vrtwug-iname{font-size:17px;color:var(--wu-ink)}
.vrtwug-itime{margin-left:auto;font-size:14px;font-weight:700;color:var(--wu-mut);font-variant-numeric:tabular-nums}
.vrtwug-ihow,.vrtwug-isteps{font-size:15px;color:var(--wu-text)}
.vrtwug-inotes{font-size:15px;font-weight:700;color:var(--wu-ink);overflow-wrap:anywhere}
.vrtwug-inotes span{font-weight:600;color:var(--wu-mut)}
.vrtwug-tool .vrtwug-from{justify-self:start;flex:none;margin-top:2px}
.vrtwug-tool .vrtwug-safe{padding:10px 12px;border-radius:12px;background:var(--wu-warnbg);color:var(--wu-warntx);font-size:15px;font-weight:600}
.vrtwug-out{min-height:1.5em;font-size:15px;font-weight:700;color:var(--wu-ok)}
.vrtwug-tool .vrtwug-foot{margin-top:14px;padding-top:10px;border-top:1px solid var(--wu-line);font-size:15px;line-height:1.45;color:var(--wu-mut)}
.vrtwug-tool[data-state=ready] .vrtwug-result,.vrtwug-tool[data-state=playing] .vrtwug-result,.vrtwug-tool[data-state=paused] .vrtwug-result{border-color:var(--wu-pri);box-shadow:0 0 0 1px var(--wu-pri)}
.vrtwug-tool .vrtwug-nojs{margin-top:10px;color:var(--wu-err);font-weight:700}

/* wider screens */
@media (min-width:480px){.vrtwug-seg.vrtwug-voices{grid-template-columns:repeat(3,minmax(0,1fr))}.vrtwug-foci{grid-template-columns:repeat(2,minmax(0,1fr))}.vrtwug-controls{grid-template-columns:1fr 1.4fr 1fr 1fr}.vrtwug-controls [data-wug-stop]{grid-column:auto}.vrtwug-sound{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.vrtwug-sound .vrtwug-sub{grid-column:1/-1}}
@media (min-width:600px){.vrtwug-ends{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vrtwug-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.vrtwug-actions .vrtwug-btn{flex:0 1 auto}}
@media (min-width:880px){
	.vrtwug-tool .vrtwug-title{font-size:29px}
	.vrtwug-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:14px;align-items:start}
	.vrtwug-card{padding:18px}
	.vrtwug-ends{grid-template-columns:minmax(0,1fr)}
	.vrtwug-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
	.vrtwug-nownote{font-size:52px}
}
@media (max-width:360px){.vrtwug-card{padding:12px}.vrtwug-nownote{font-size:38px}.vrtwug-player{padding:10px}}
@media (prefers-reduced-motion:reduce){.vrtwug-tool *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
