@font-face{font-family:Sora;src:url('./assets/sora-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Space;src:url('./assets/space-400.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#080e1b;--text:#f1f3ff;--muted:#b5bfdb;--line:#536892;--lavender:#b2acff;--glass:linear-gradient(135deg,#263553 0%,#18233b 22%,#0e1729 62%,#1c2845 100%);--edge:linear-gradient(135deg,#a7bff1,#536892 40%,#474896 75%,#8496d2);--icon:linear-gradient(130deg,#414e71,#18223a 65%,#303956);font-family:Manrope,Arial,sans-serif;background:#050914;color:var(--text)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#20295666,transparent 65%),#050914;min-height:100dvh}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #b5caff;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-family:Space,Manrope,sans-serif;font-size:30px;font-weight:400;line-height:1.16;letter-spacing:-1px;margin:6px 0 10px}h2,h3,.session-name,.exercise-name{font-family:Sora,Manrope,sans-serif;font-weight:500;overflow-wrap:anywhere}h2{font-size:16px;line-height:1.5}h3{font-size:14px;line-height:1.5}.app{max-width:430px;margin:auto;min-height:100dvh;padding:20px 20px 10px;background:radial-gradient(ellipse at 90% 0%,#131d38,transparent 40%),var(--bg);position:relative}main{min-height:260px}.connection{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#a9b7d8;margin-bottom:20px}.brand{display:flex;align-items:center;justify-content:space-between;margin:0 4px 24px}.brand a{font-family:Space,sans-serif;font-size:29px;letter-spacing:-1.7px}.avatar{display:grid;place-items:center;width:38px;height:38px;font-size:12px;border-radius:50%;border:1px solid #b3a6fc;background:radial-gradient(circle at 75% 20%,#b69afb,#4b4a9f 48%,#181d3a);box-shadow:0 0 13px #7975fa44}.muted{font-size:12px;line-height:1.6;color:var(--muted)}.tiny{font-size:11px;color:var(--muted);line-height:1.5}.kicker{font-size:11px;color:#c1cae4;text-transform:uppercase;letter-spacing:1.3px}.accent{color:var(--lavender)}.between{display:flex;justify-content:space-between;align-items:center;gap:10px}.stack{display:grid;gap:12px}.welcome{margin:0 4px 18px}.welcome>p:first-child{font-size:16px;color:#b5bfdb}.welcome h1{font-size:34px;margin:2px 0 5px}.panel{position:relative;isolation:isolate;border:1px solid transparent;border-radius:19px;background:var(--glass) padding-box,var(--edge) border-box;box-shadow:inset 0 1px 1px #ffffff19,inset 0 -1px 1px #8aaffc12,0 10px 20px #0000002b;padding:17px;margin-top:16px}.panel:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(136deg,transparent 77%,#a9bdff09 77.2%,#a9bdff03);pointer-events:none;z-index:-1}.panel>button,.panel>details{position:relative}.session-name{font-size:37px;letter-spacing:-1.4px;margin:8px 0 5px}.pill{color:#c2bdff;background:#333355;border:1px solid #7275a16b;border-radius:20px;font-size:11px;padding:5px 9px;white-space:nowrap}.success{color:#9ae1c4;font-size:11px}.session-bottom{margin-top:18px}.shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0}.shortcut{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;padding:0;min-height:77px}.circle{display:grid;place-items:center;border:1px solid #54628c;border-radius:50%;background:var(--icon);color:#c2c7ff;box-shadow:inset 0 1px 2px #dee5ff30,0 3px 9px #00000026;width:48px;height:48px;flex-shrink:0}.circle.small{width:44px;height:44px}.circle svg{width:23px;height:23px;stroke-width:1.6;filter:drop-shadow(0 0 3px #c4caff33)}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.plain{background:transparent;border:0;color:#c3c9ed;min-height:44px;padding:10px 5px;font-size:12px}.full{width:100%;text-align:center}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:25px;background:var(--glass) padding-box,var(--edge) border-box;color:var(--text);box-shadow:inset 0 1px 1px #ffffff26,0 0 15px #47489626;font-size:13px;font-weight:600}.secondary{background:#141e32;border-color:#425474;box-shadow:none}.days{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin:18px 0 13px}.day{text-align:center;font-size:10px;color:#b5bfdb}.day b{display:grid;place-items:center;background:var(--icon);height:34px;border-radius:9px;font-size:12px;font-weight:400;margin-bottom:6px}.day.active b{background:#333355;color:#c2bdff;box-shadow:inset 0 1px 0 #7275a1,0 0 12px #47489633}.day.rest b{background:#0c1424;color:#919dbd}.item{display:flex;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid #303b55}.item:last-child{border-bottom:0}.item .copy{flex:1;min-width:0}.recent{padding:12px;margin-top:16px;background:var(--glass);border:1px solid #536892;border-radius:15px}.recent .circle{width:34px;height:34px}.recent h3{font-size:12px}.date-note{margin-top:12px}.program-list .item{align-items:flex-start;font-size:12px}.program-list .number{width:18px;color:#bac6e5;flex-shrink:0}.exercise{border:1px solid #536892;border-radius:19px;background:#0e1729;padding:17px;margin-top:16px}.exercise-name{font-size:26px;margin:10px 0 0;line-height:1.25;letter-spacing:-.7px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.chips span{font-size:11px;background:#18233b;border:1px solid #364261;border-radius:9px;padding:6px 8px;color:#b5bfdb}details{margin-top:13px;border-top:1px solid #303c57}summary{min-height:44px;padding:13px 0;font-size:12px;cursor:pointer;line-height:1.5}details p{padding-bottom:12px}textarea{display:block;width:100%;resize:vertical;min-height:70px;max-height:180px;background:#0c1424;border:1px solid #536892;border-radius:10px;color:var(--text);padding:10px;margin:7px 0;font-size:16px}label{font-size:11px;color:#bcc7e1}input,select{border:1px solid #536892;background:#0e1729;color:var(--text);border-radius:10px;padding:10px;min-height:44px;font-size:16px;min-width:0}input[type=number]{appearance:textfield;text-align:center;width:100%;padding:10px 2px;font-family:Sora,sans-serif}input::-webkit-inner-spin-button{appearance:none}input:disabled{color:#a5d6c8;background:#142631;border-color:#344d58;opacity:1}.progress{display:flex;gap:5px;margin-top:15px}.progress span{height:4px;flex:1;background:#252e4e;border-radius:3px}.progress .on{background:#b2acff}.set-head,.set-line{display:grid;grid-template-columns:20px 1fr .85fr .75fr 44px;gap:7px;align-items:center;text-align:center}.set-head{color:#b5bfdb;font-size:10px;margin:16px 0 7px}.set-line{padding:10px 0 0;font-size:12px}.set-line button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #54628c;border-radius:12px;background:var(--icon)}.set-line button.done{color:#9ae1c4;background:#142631}.previous{font-size:10px;color:#acbbd6;line-height:1.5;margin:6px 0 5px 27px}.previous:empty{display:none}.timer{display:flex;align-items:center;justify-content:space-between;gap:7px}.clock{font-family:Space,sans-serif;font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-top:5px}.timer-buttons{display:flex;gap:6px}.timer-buttons button{font-size:11px}.session-footer{display:flex;gap:10px;margin-top:16px}.session-footer button{flex:1}.history-card{display:block;width:100%;text-align:left;color:var(--text);font:inherit;cursor:pointer}.history-card h2{font-size:17px}.history-card .circle{width:35px;height:35px}.history-card .item{padding:0;border:0;margin-bottom:10px}.history-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}.history-table th{color:#b5bfdb;font-weight:400;text-align:left}.history-table td,.history-table th{padding:11px 5px;border-bottom:1px solid #303c57}.history-table td:first-child{padding-left:0}.history-detail h3{margin-top:20px}.empty{text-align:center;padding:25px 10px}.empty .circle{margin:0 auto 16px}.empty p{margin:9px 0 20px}.settings p{margin:8px 0 18px}.settings .primary,.settings .secondary{margin-top:12px}.filter{width:100%;margin-top:17px;font-size:13px}nav{display:flex;justify-content:space-around;margin-top:24px;padding:6px 8px;background:linear-gradient(120deg,#1e2a44,#0b1324 58%,#1e2942) padding-box,linear-gradient(140deg,#768bbb8c,#323d64 55%,#6373a166) border-box;border:1px solid transparent;border-radius:22px;box-shadow:inset 0 1px 0 #b9d0ff14}nav a{min-height:56px;display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:11px;color:#b5bfdb}nav a>span{padding:6px;display:grid;place-items:center;width:33px;height:33px}nav a[aria-current=page]>span{border-radius:50%;background:radial-gradient(circle at 50% 55%,#5545ff,#282775 66%,#1f2750);filter:drop-shadow(0 0 7px #5b51ff9c);box-shadow:inset 0 1px 4px #9c9bff33;color:#fff}nav a[aria-current=page]{color:#ddd7ff}.save-state{font-size:10px;color:#a8b8d3;text-align:center;min-height:20px;padding:10px 0 0}#toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:12px 17px;background:#283659;color:white;border:1px solid #8295c1;border-radius:14px;box-shadow:0 5px 20px #0006;z-index:10;font-size:12px;pointer-events:none;opacity:0}#toast.show{opacity:1}#storage-warning{background:#412a32;border:1px solid #b6757f;border-radius:12px;padding:12px;font-size:12px;margin-bottom:15px;line-height:1.5}dialog{color:var(--text);background:#121d33;border:1px solid #8192c2;border-radius:22px;padding:22px;width:calc(100% - 32px);max-width:390px;max-height:85dvh;overflow:auto;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#030714bd;backdrop-filter:blur(6px)}dialog h2{font-size:19px;margin-bottom:13px}dialog .actions{display:grid;gap:10px;margin-top:20px}dialog p{font-size:13px;color:var(--muted);line-height:1.7}dialog .close{float:right}.danger{color:#ffc5ca}.total{margin:15px 0;font-family:Sora,sans-serif;font-size:26px}.toolbar{display:flex;align-items:center;gap:8px}.spacer{margin-top:16px}.install-banner{font-size:12px;color:#c9d3ef;margin-top:12px;padding:12px;border:1px solid #3c4d75;border-radius:12px;line-height:1.5}.install-banner button{margin-top:8px}.note-label{display:block}.app-error{font-size:13px;line-height:1.6;padding:20px}
@media(min-width:600px){.app{min-height:calc(100dvh - 50px);margin:25px auto;border:1px solid #6675a0;border-radius:30px;box-shadow:0 0 0 4px #111a2c,0 20px 60px #3b4f991f}}
@media(max-width:360px){.app{padding:16px 13px 10px}.panel,.exercise{padding:14px}.set-head,.set-line{gap:4px;grid-template-columns:17px 1fr .8fr .7fr 44px}.session-name{font-size:33px}.shortcuts{gap:4px}.chips span{padding:6px}.between{gap:6px}.timer-buttons{gap:4px}.clock{font-size:29px}}
@media(prefers-reduced-motion:no-preference){button:active{transform:translateY(1px)}}
