:root{--bg:#16122B;--p1:#2A2352;--p2:#352D60;--ln:#463E74;--ink:#EAE3D4;--mut:#A9A6C4;--acc:#E3A34F}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.4}
#app{max-width:480px;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 20px max(32px,env(safe-area-inset-bottom));min-height:100vh}
h1{font-size:30px;margin:0 0 4px}h2{font-size:22px;margin:24px 0 8px}
.top p,.mut{color:var(--mut);margin:0}
.card{background:var(--p1);border-radius:16px;padding:18px;margin:16px 0}.card h2{margin:0 0 4px}
.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}
button{font:inherit;color:inherit;cursor:pointer}
.btn{min-height:48px;padding:10px 22px;border-radius:999px;border:2px solid var(--ln);background:transparent;font-weight:700}
.btn.pri{background:var(--acc);color:var(--bg);border-color:var(--acc)}
.wide{display:block;width:100%;margin:12px 0;text-align:center}
.lnk{background:none;border:0;color:var(--acc);padding:10px 0;min-height:44px;font-weight:700}
.sm{min-height:44px;padding:6px 14px;border-radius:10px;border:1px solid var(--ln);background:var(--p2)}
.f,.s{display:flex;flex-direction:column;gap:4px;margin:12px 0;color:var(--mut);font-size:17px}
.s{margin:0;width:76px}.s.grow{flex:1;width:auto}
input,select{font:inherit;color:var(--ink);background:var(--p2);border:1px solid var(--ln);border-radius:10px;padding:10px;min-height:46px;width:100%}
input[type=range]{padding:0}
.lap{background:var(--p1);border-radius:14px;padding:14px;margin:10px 0}
.chk{display:flex;gap:10px;align-items:center;margin:20px 0;color:var(--mut)}.chk input{width:24px;min-height:24px}
.foot{text-align:center}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.run{display:flex;flex-direction:column;align-items:center;gap:18px;min-height:calc(100vh - 56px)}
.rtop{display:flex;justify-content:space-between;width:100%;color:var(--mut)}
.ringw{position:relative;width:272px;height:272px}.ringw svg{width:100%;height:100%}
.rb{fill:none;stroke:var(--p2);stroke-width:10}.rf{fill:none;stroke:var(--acc);stroke-width:10;stroke-linecap:round}
.rin{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.big{font-size:64px;font-weight:700;line-height:1}.acc{color:var(--acc);font-size:26px;font-weight:700}
.tot{margin:0;font-size:22px}
.chips{display:flex;gap:6px;width:100%;overflow-x:auto}
.chip{flex:1 1 auto;min-width:72px;background:var(--p1);border-radius:12px;padding:8px 10px;font-size:16px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip.on{border:2px solid var(--acc);color:var(--ink);padding:6px 8px}
.ctl{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:auto}
.rc{width:56px;height:56px;border-radius:50%;border:2px solid var(--ln);background:none;display:flex;align-items:center;justify-content:center}
.rc.main{width:88px;height:88px;background:var(--acc);border-color:var(--acc)}
#dim{position:fixed;inset:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7a7696;z-index:9}
#dim[hidden]{display:none}#dim span{font-size:40px}

.logo{width:56px;height:56px;flex:none}
.brandrow{display:flex;align-items:center;gap:14px}.brandrow h1{margin:0}
#app.vnarrow{max-width:600px}
#app.vwide{max-width:960px}
.plist{display:grid;grid-template-columns:1fr;gap:0 20px}
@media (min-width:760px){
 #app{padding-top:48px}
 .plist{grid-template-columns:1fr 1fr}
 #app.vwide .btn.wide,#app.vwide .chk,#app.vwide .foot{max-width:480px}
 .ringw{width:320px;height:320px}.big{font-size:76px}
}
