*{box-sizing:border-box;margin:0;padding:0}:root{--border-soft:rgba(255,255,255,.46)}body{min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#030303;color:#fff;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% -12%,rgba(255,255,255,.18),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.05),transparent 42%);pointer-events:none}#app{position:relative;max-width:480px;min-height:100vh;margin:0 auto;padding:24px 18px}.screen{display:none;animation:fadeUp .24s ease}.screen.active{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.brand-mark{display:flex;justify-content:center;margin:12px 0 14px}.brand-wheel{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;background:conic-gradient(from -7.5deg,#1b1b1b 0deg 15deg,#3a3a3a 15deg 30deg,#111 30deg 45deg,#2d2d2d 45deg 60deg,#151515 60deg 75deg,#343434 75deg 90deg,#101010 90deg 105deg,#2f2f2f 105deg 120deg,#161616 120deg 135deg,#3a3a3a 135deg 150deg,#111 150deg 165deg,#2d2d2d 165deg 180deg,#151515 180deg 195deg,#343434 195deg 210deg,#101010 210deg 225deg,#2f2f2f 225deg 240deg,#161616 240deg 255deg,#3a3a3a 255deg 270deg,#111 270deg 285deg,#2d2d2d 285deg 300deg,#151515 300deg 315deg,#343434 315deg 330deg,#101010 330deg 345deg,#2f2f2f 345deg 360deg);border:6px solid #101010;box-shadow:0 0 0 1px rgba(255,255,255,.7),0 16px 38px rgba(0,0,0,.66),inset 0 0 0 5px rgba(255,255,255,.08)}.brand-wheel:before{content:"";position:absolute;inset:22px;border-radius:50%;background:#070707;border:2px solid #3a3a3a;box-shadow:inset 0 0 14px rgba(255,255,255,.1),0 0 0 1px rgba(207,239,255,.4)}.brand-wheel:after{content:"";position:absolute;top:-11px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:14px solid #cfefff;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}.brand-wheel span{position:relative;z-index:1;font-size:10px;font-weight:1000;letter-spacing:.6px;color:#cfefff;text-shadow:0 0 10px rgba(207,239,255,.55)}.app-title{text-align:center;margin:10px 0 20px;font-size:44px;line-height:.95;font-weight:950;letter-spacing:-2px;color:#fff;text-shadow:0 16px 40px rgba(255,255,255,.08)}.menu-subtitle{text-align:center;color:#c8c8c8;margin:-8px 0 24px;font-size:15px}.menu-grid{display:grid;gap:16px;justify-items:center}.app-footer{text-align:center;margin:28px 0 0;color:#bcbcbc;font-size:13px;letter-spacing:.5px}.menu-card{width:100%;max-width:340px;padding:24px 22px;border:1px solid rgba(255,255,255,.46);border-radius:26px;background:#2a2a2a;color:#fff;text-align:center;cursor:pointer;box-shadow:0 18px 45px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(255,255,255,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.menu-card:hover{transform:translateY(-3px);background:#333;box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.33),0 0 0 1px rgba(255,255,255,.14);border-color:rgba(255,255,255,.68)}.menu-card span{display:block;font-size:22px;font-weight:900;margin-bottom:6px}.menu-card small{color:#ececec;font-size:13px}.back-btn,.icon-btn{background:#2b2b2b;color:#fff;border:1px solid rgba(255,255,255,.46);border-radius:999px;padding:9px 14px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 22px rgba(0,0,0,.38)}.back-btn{margin-bottom:14px}.icon-btn{font-size:13px;white-space:nowrap}.back-btn:hover,.icon-btn:hover{background:#383838}.setting-card,.library-category,.modal-card{background:#282828;border:1px solid rgba(255,255,255,.46);border-radius:24px;padding:16px;box-shadow:0 18px 42px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.26),0 0 0 1px rgba(255,255,255,.075)}.section{margin-bottom:16px}.section h2,.library-category h2{margin-bottom:10px;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#fff}select,input{width:100%;padding:13px 14px;background:#363636;color:#fff;border:1px solid rgba(255,255,255,.42);border-radius:16px;margin-bottom:10px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}select:focus,input:focus{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.16)}.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;font-size:13px}.equipment-grid label{display:flex;align-items:center;gap:7px;padding:10px;border-radius:16px;background:#343434;border:1px solid rgba(255,255,255,.36);box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}.equipment-grid input{width:auto;margin:0;accent-color:#fff}.primary-btn,.secondary-btn,.danger-btn,.btn{width:100%;padding:14px 16px;margin-top:14px;border-radius:18px;font-size:16px;font-weight:900;cursor:pointer;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease,background .15s ease}.primary-btn{background:#fff;color:#050505;border:1px solid #fff;box-shadow:0 14px 30px rgba(255,255,255,.16)}.secondary-btn,.btn.ghost{background:#333;color:#fff;border:1px solid rgba(255,255,255,.44)}.danger-btn{background:#fff;color:#050505;border:1px solid #fff}.primary-btn:hover,.secondary-btn:hover,.danger-btn:hover,.btn:hover{transform:translateY(-2px)}.secondary-btn:hover,.btn.ghost:hover{background:#404040}.primary-btn:disabled,.secondary-btn:disabled{opacity:.45;cursor:default;transform:none}.sound-enable-row{width:100%;display:flex;justify-content:center;margin-top:18px;margin-bottom:0}.sound-enable-button{width:auto;background:transparent!important;border:none!important;box-shadow:none!important;color:#bcbcbc;font-size:.68rem;font-weight:700;padding:3px 6px;margin-top:0;text-decoration:underline;text-underline-offset:3px}.sound-enable-button:hover{background:transparent!important;color:#fff;transform:none}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;font-size:12px;color:#e2e2e2;background:#1c1c1c;border:1px solid rgba(255,255,255,.3);border-radius:18px;padding:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.wheel-container{display:flex;justify-content:center;margin:28px 0;position:relative}.wheel-pointer{position:absolute;top:-13px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:18px solid #cfefff;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5));z-index:3;pointer-events:none}.wheel{width:236px;height:236px;border-radius:50%;border:8px solid #101010;display:flex;align-items:center;justify-content:center;background:conic-gradient(from -7.5deg,#1b1b1b 0deg 15deg,#3a3a3a 15deg 30deg,#111 30deg 45deg,#2d2d2d 45deg 60deg,#151515 60deg 75deg,#343434 75deg 90deg,#101010 90deg 105deg,#2f2f2f 105deg 120deg,#161616 120deg 135deg,#3a3a3a 135deg 150deg,#111 150deg 165deg,#2d2d2d 165deg 180deg,#151515 180deg 195deg,#343434 195deg 210deg,#101010 210deg 225deg,#2f2f2f 225deg 240deg,#161616 240deg 255deg,#3a3a3a 255deg 270deg,#111 270deg 285deg,#2d2d2d 285deg 300deg,#151515 300deg 315deg,#343434 315deg 330deg,#101010 330deg 345deg,#2f2f2f 345deg 360deg);position:relative;color:#fff;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.65),0 24px 58px rgba(0,0,0,.66),inset 0 0 0 7px rgba(255,255,255,.08);transition:transform 1.4s cubic-bezier(.12,.82,.18,1)}.wheel:before{content:"";position:absolute;inset:58px;border-radius:50%;background:#070707;border:3px solid #3a3a3a;box-shadow:inset 0 0 26px rgba(255,255,255,.12),0 0 0 1px rgba(207,239,255,.38)}.wheel:disabled{opacity:.75;cursor:default}#wheel-label{position:relative;z-index:1;font-size:23px;letter-spacing:1.6px;text-transform:uppercase;font-weight:1000;color:#cfefff;text-shadow:0 0 14px rgba(207,239,255,.55)}.exercise-info{text-align:center;margin-bottom:16px;background:#1c1c1c;border:1px solid rgba(255,255,255,.3);border-radius:22px;padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.exercise-info h2{font-size:24px;margin-bottom:6px;font-weight:900}.exercise-info p{font-size:14px;color:#d8d8d8}.controls{display:flex;justify-content:center;gap:8px}.controls.start-only .secondary-btn{max-width:230px}.timer-display{margin-top:24px;text-align:center;padding:16px;border-radius:24px;background:#282828;border:1px solid rgba(255,255,255,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 16px 38px rgba(0,0,0,.42)}#countdown-label{font-size:13px;color:#f0f0f0;margin-bottom:2px;text-transform:uppercase;letter-spacing:1px}#timer-number{font-size:50px;font-weight:1000}.library-list{display:grid;gap:12px;margin-bottom:16px}.library-item{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.32)}.library-item:first-of-type{border-top:none}.library-item small{display:block;color:#dedede;font-size:12px}.remove-exercise-btn{background:#353535;color:#fff;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:7px 11px;cursor:pointer}.remove-exercise-btn:hover{background:#454545}.empty-note{color:#d6d6d6;font-size:14px}#summary-content{margin-top:16px;font-size:14px;background:#282828;border:1px solid rgba(255,255,255,.46);border-radius:22px;padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}#summary-content ul{margin-top:8px;padding-left:18px}#summary-content li{margin-bottom:5px}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.78);z-index:10;backdrop-filter:blur(10px)}.modal.hidden{display:none}.modal-card{width:100%;max-width:360px;text-align:center}.modal-card h2{margin-bottom:8px;font-size:24px}.modal-card p{color:#e2e2e2;font-size:14px;line-height:1.45}.modal-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}.completion-card{padding:28px 22px}.completion-tick{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:#cfefff;color:#050505;font-size:38px;font-weight:1000;box-shadow:0 0 0 8px rgba(207,239,255,.12),0 18px 38px rgba(0,0,0,.42)}.completion-eyebrow{margin-bottom:4px;color:#cfefff!important;text-transform:uppercase;letter-spacing:1.2px;font-weight:900}.completion-card h2{font-size:26px;margin-bottom:18px}
/* Password Gate Styles */
#passwordGate{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;padding:24px;text-align:center}.password-card{width:100%;max-width:340px;margin:0 auto;text-align:center}.password-card h1{font-size:42px;margin:10px 0 22px}.password-card input{width:100%;padding:14px;background:#1d1d1d;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:14px;margin-bottom:12px}.password-card button{width:100%;padding:14px;border:0;border-radius:14px;background:#fff;color:#050505;font-weight:900}.password-error{min-height:18px;margin-top:10px;color:#cfefff;text-align:center;font-size:13px}
