@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#18372c;background:#e9ebe5;font-synthesis:none;--ink:#18372c;--muted:#718078;--paper:#f8f9f4;--card:#fff;--line:#e4e8df;--lime:#dcf35d;--green:#285a45;--soft:#eff2ea}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(67,120,93,.24);outline-offset:2px}.desktop-stage{min-height:100vh}.app-shell{min-height:100vh;background:var(--paper);padding-bottom:90px;position:relative;overflow-x:hidden}.topbar{height:70px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(25,55,44,.07);background:#f8f9f4e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;letter-spacing:-.03em}.brand strong{font-size:18px}.brand-mark{width:29px;height:29px;border-radius:9px 9px 13px;display:grid;place-items:center;background:var(--green);transform:rotate(-8deg);box-shadow:inset 0 0 0 1px #ffffff24}.brand-mark span{width:13px;height:13px;border-radius:50%;background:var(--lime);position:relative}.brand-mark span:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:var(--green);left:3px;top:3px;box-shadow:5px 2px 0 var(--green),1px 6px 0 var(--green)}.icon-btn,.profile-chip,.mini-icon{border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.icon-btn{width:40px;height:40px;border-radius:12px}.icon-btn:hover,.mini-icon:hover{background:var(--soft)}.profile-chip{width:38px;height:38px;border-radius:50%;background:#e9eddf}.content{padding:0 17px 40px}.content>.section-block:first-child{padding-top:24px}.session-bar{margin:0 -17px 24px;padding:18px 20px;background:#eef2e9;border-bottom:1px solid #dfe5dc;display:flex;align-items:center;justify-content:space-between;gap:15px}.session-bar strong{display:block;margin-top:4px;font:700 16px Manrope,sans-serif;letter-spacing:-.03em}.share-btn{height:38px;padding:0 13px;border:1px solid #cfdbce;border-radius:12px;background:#fff;color:#285a45;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #2341300f}.hero{margin:0 -17px 28px;padding:34px 22px 28px;color:#f8faef;background:radial-gradient(circle at 100% 0,#47775c 0,transparent 35%),linear-gradient(145deg,#163b2e,#285c46);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:150px;height:150px;right:-70px;bottom:-95px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 22px #ffffff08,0 0 0 44px #ffffff06}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:#728079;display:flex;align-items:center;gap:7px}.hero .eyebrow{color:#b9ca91}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.04em}.hero h1{font-size:37px;line-height:1.04;margin:10px 0;letter-spacing:-.055em}.hero p{margin:0;font-size:13px;color:#c4d1c8}.hero-row{display:flex;align-items:flex-end;justify-content:space-between}.court-orb{width:68px;height:68px;border-radius:50%;background:var(--lime);color:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none;box-shadow:0 10px 25px #0000001f}.court-orb span{font:800 25px Manrope;line-height:1}.court-orb small{font-size:9px;font-weight:800;letter-spacing:.12em;margin-top:3px}.section-block{margin-bottom:31px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:13px}.section-heading h2{font-size:22px;margin:5px 0 0}.pulse{width:7px;height:7px;border-radius:50%;background:#59b77c;box-shadow:0 0 0 4px #59b77c21}.count-badge{font-weight:700;font-size:12px;min-width:28px;height:28px;padding:0 9px;border-radius:14px;background:#e9ede4;display:grid;place-items:center}.card-list{display:grid;gap:13px}.game-card{border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden;box-shadow:0 8px 24px #23352c0a}.game-card.game-live{border-color:#74a98e;box-shadow:0 8px 30px #315e4614,inset 0 3px #6aad89}.game-head{padding:16px 16px 13px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf0ea}.game-number{font-size:9px;letter-spacing:.14em;font-weight:800;color:#789083}.game-head h3{font-size:16px;margin:3px 0 0}.game-actions{display:flex;align-items:center;gap:6px}.status-pill{padding:6px 9px;border-radius:99px;background:#f0f1ed;color:#778078;font-size:10px;font-weight:700;display:flex;align-items:center;gap:5px;white-space:nowrap}.status-pill i{width:6px;height:6px;border-radius:50%;background:#9ca49e}.status-pill.live{background:#e8f6eb;color:#397958}.status-pill.live i{background:#51ad76;box-shadow:0 0 0 3px #51ad7621}.mini-icon{width:28px;height:28px;border-radius:8px;color:#89928d}.matchup{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#edf0ea;position:relative}.team{padding:13px 12px 14px;background:#fff;display:grid;gap:8px;position:relative}.team-label{color:#9aa39d;font-size:8px;letter-spacing:.16em;font-weight:800}.team-title-row{min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:8px}.player-slot{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:0;padding:5px 2px;border-radius:10px;background:transparent;text-align:left}.player-slot:not(:disabled){cursor:pointer}.player-slot:not(:disabled):hover{background:#f5f7f2}.team-player-wrap{display:grid;gap:4px}.team-lock{position:relative;z-index:3;flex:none;width:27px;height:27px;margin:0;padding:0;border:1px solid #dfe5dc;border-radius:8px;background:#f6f8f4;color:#8a968f;display:grid;place-items:center;cursor:pointer;pointer-events:auto}.team-lock.locked{border-color:#a7c5ae;background:#eaf4e9;color:#347053}.team-lock:hover{border-color:#8fb29a;background:#edf5eb;color:#347053}.team-lock-readonly{cursor:default;pointer-events:none;opacity:.75}.player-slot strong,.roster-row strong,.waiting-player strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-slot small,.roster-row small,.waiting-player small{font-size:9px;color:#8b958f;display:block;margin-top:2px}.avatar{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-size:10px;font-weight:800;color:#254438;border:2px solid rgba(255,255,255,.7);box-shadow:0 2px 7px #1e322814;flex:none}.avatar-small{width:30px;height:30px;border-radius:10px;font-size:9px}.versus{position:absolute;right:-15px;top:50%;z-index:2;width:29px;height:29px;margin-top:-14px;border-radius:50%;background:#f4f5f1;border:1px solid #e2e5df;display:grid;place-items:center;font-size:8px;font-weight:800;color:#7f8a83}.end-game-btn{margin:12px;width:calc(100% - 24px);height:42px;border:1px solid #dce4dc;border-radius:12px;background:#f5f8f3;color:#315b47;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.end-game-btn:hover{background:#edf5eb}.small-btn{border:0;background:#e8edde;color:#315744;border-radius:10px;height:33px;padding:0 11px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:5px;cursor:pointer}.waiting-card{background:#eef1e9;border-radius:17px;padding:15px;margin-top:13px}.waiting-title{display:flex;align-items:center;gap:8px;font-size:12px}.waiting-title span{margin-left:auto;color:#7e8982;font-size:10px}.waiting-scroll{margin-top:12px;display:flex;gap:9px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.waiting-player{min-width:154px;background:#fff;border:1px solid #e4e7e0;border-radius:13px;padding:9px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px}.queue-number{width:17px;font-size:9px;font-weight:800;color:#9ba49e}.lane{text-transform:capitalize;width:max-content;padding:1px 5px;border-radius:7px}.lane-winner{color:#6f7519!important;background:#f1f5c9}.lane-loser{color:#936852!important;background:#f7e7de}.empty{padding:31px 20px;border:1px dashed #d6dcd2;background:#fafbf8;border-radius:18px;text-align:center}.empty span{margin:auto auto 9px;width:48px;height:48px;background:#edf1e8;border-radius:50%;display:grid;place-items:center;color:#688072}.empty strong{font-size:14px}.empty p{font-size:11px;color:var(--muted);margin:5px 0 0}.page-title{padding:31px 3px 19px}.page-title h1{font-size:35px;margin:7px 0 6px}.page-title p{color:var(--muted);font-size:13px}.stat-strip{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:13px}.stat-strip>div{display:flex;align-items:center;gap:9px;padding:14px}.stat-strip>div+div{border-left:1px solid var(--line)}.stat-strip span{font-size:10px;color:var(--muted)}.stat-strip strong{font-size:15px;color:var(--ink);margin-right:3px}.primary-btn{height:47px;padding:0 18px;border:0;border-radius:14px;background:var(--green);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 8px 20px #1f4e3821}.primary-btn:hover{background:#1c4c37}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.full{width:100%}.add-player{margin-bottom:14px}.player-list{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.roster-row{min-height:67px;padding:10px 13px;display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center}.roster-row+.roster-row{border-top:1px solid #edf0ea}.row-actions{display:flex;align-items:center}.neutral-avatar{background:#edf0ea;color:#68766e}.availability{font-size:9px;font-weight:700;color:#6f7c74;background:#f1f4ef;border-radius:9px;padding:5px 7px;display:flex;align-items:center;gap:4px}.availability i{width:5px;height:5px;border-radius:50%;background:#66b57e}.leader-spotlight{position:relative;min-height:105px;margin-bottom:12px;padding:17px;border-radius:20px;color:#fff;background:radial-gradient(circle at 95% 5%,#47785c 0,transparent 42%),linear-gradient(145deg,#173c2e,#285c46);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;overflow:hidden;box-shadow:0 10px 28px #1f4d3821}.leader-spotlight .avatar{width:46px;height:46px;border-radius:15px;font-size:12px}.leader-crown{position:absolute;top:9px;left:47px;color:var(--lime);transform:rotate(-10deg)}.leader-copy span,.leader-copy strong,.leader-copy small,.leader-wins strong,.leader-wins span{display:block}.leader-copy span{color:#bfd1c4;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.leader-copy strong{margin:3px 0 2px;font:700 14px Manrope}.leader-copy small{color:#b7c9bd;font-size:9px}.leader-wins{min-width:55px;text-align:center}.leader-wins strong{color:var(--lime);font:800 29px Manrope;line-height:1}.leader-wins span{margin-top:3px;color:#c5d3ca;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.leaderboard-summary{height:45px;margin-bottom:12px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:#eef2e9;color:#486657;display:flex;align-items:center;gap:9px}.leaderboard-summary span{font-size:10px;color:var(--muted)}.leaderboard-summary strong{color:var(--ink);font-size:14px;margin-right:3px}.leaderboard-list{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.leaderboard-list>header{min-height:37px;padding:0 13px 0 15px;background:#f1f3ee;color:#8a958e;display:grid;grid-template-columns:1fr 55px 38px;align-items:center;gap:7px;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.leaderboard-list>header span:nth-child(n+2){text-align:center}.leaderboard-row{min-height:67px;padding:9px 13px;display:grid;grid-template-columns:20px auto minmax(0,1fr) 55px 38px;align-items:center;gap:7px}.leaderboard-row+.leaderboard-row{border-top:1px solid #edf0ea}.leaderboard-row.top-1{background:linear-gradient(90deg,#fbfde9,#fff 45%)}.rank-number{color:#9aa49e;font:800 11px Manrope;text-align:center}.top-1 .rank-number{color:#8d941b}.top-2 .rank-number{color:#718079}.top-3 .rank-number{color:#a06f52}.rank-player{min-width:0}.rank-player strong,.rank-player small,.rank-record strong,.rank-record small{display:block}.rank-player strong{overflow:hidden;color:var(--ink);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.rank-player small{margin-top:2px;color:var(--muted);font-size:8px}.rank-record{text-align:center}.rank-record strong{font-size:11px}.rank-record small{margin-top:1px;color:#9aa39e;font-size:7px;letter-spacing:.08em}.rank-wins{width:31px;height:31px;margin:auto;border-radius:10px;background:#edf2e6;color:#37644f;display:grid;place-items:center;font:800 12px Manrope}.settings-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:12px}.settings-card.vertical{display:block}.settings-top{display:flex;align-items:center;gap:12px}.settings-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef2e7;color:#456c58;flex:none}.settings-copy{flex:1}.settings-copy h3{font-size:14px;margin:0 0 3px}.settings-copy p{font-size:10px;color:var(--muted);margin:0;line-height:1.4}.court-stepper{display:flex;align-items:center;border:1px solid #e1e5de;border-radius:11px;overflow:hidden}.court-stepper button{border:0;background:#f4f6f2;width:31px;height:34px;font-size:18px;cursor:pointer}.court-stepper span{width:35px;text-align:center;font-weight:800;font-size:14px}.court-stepper button:disabled{opacity:.35}.toggle-switch{width:43px;height:25px;padding:3px;border:0;border-radius:99px;background:#d8ddd5;cursor:pointer;transition:background .18s;flex:none}.toggle-switch span{width:19px;height:19px;border-radius:50%;background:#fff;display:block;box-shadow:0 2px 5px #21372c2e;transition:transform .18s}.toggle-switch.on{background:#4f8869}.toggle-switch.on span{transform:translate(18px)}.toggle-switch:disabled{opacity:.55;cursor:default}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.segmented button{border:1px solid #e1e5de;background:#fafbf8;border-radius:12px;padding:11px;text-align:left;display:flex;gap:8px;cursor:pointer}.segmented button.selected{background:#eef4dc;border-color:#b8ca79;box-shadow:inset 0 0 0 1px #d7e6a1}.segmented strong,.segmented small{display:block}.segmented strong{font-size:11px}.segmented small{font-size:8px;color:var(--muted);margin-top:2px}.segmented button:disabled{cursor:default}.info-card{padding:15px;display:flex;gap:11px;color:#4c6558;background:#eef2ec;border-radius:15px;margin:14px 0}.info-card svg{flex:none}.info-card p{margin:0;font-size:10px;line-height:1.55}.info-card strong{display:block;font-size:11px;color:var(--ink);margin-bottom:2px}.save-settings{margin-top:19px}.read-only{text-align:center;font-size:11px;color:var(--muted)}.danger-zone{margin-top:26px;padding:17px;border:1px solid #efd7d2;border-radius:17px;background:#fff9f7}.danger-zone .eyebrow{color:#a2675c}.danger-zone h3{font-size:15px;margin:8px 0 4px;color:#713e36}.danger-zone p{margin:0 0 14px;color:#8b6b65;font-size:10px;line-height:1.5}.danger-btn{min-height:42px;padding:0 14px;border:1px solid #c75e50;border-radius:12px;background:#a9483d;color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800;cursor:pointer}.danger-btn:hover{background:#923a31}.danger-btn:disabled{opacity:.42;cursor:not-allowed}.cancel-btn{height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#5f6e66;font-size:11px;font-weight:700;cursor:pointer}.results-zone{margin-top:18px;padding:17px;border:1px solid #dfe4d8;border-radius:17px;background:#f3f6ef}.results-zone .eyebrow{color:#6f7d53}.results-zone h3{margin:8px 0 4px;font-size:15px}.results-zone p{margin:0 0 14px;color:var(--muted);font-size:10px;line-height:1.5}.clear-results-btn{min-height:42px;padding:0 14px;border:1px solid #a8b28e;border-radius:12px;background:#fff;color:#536244;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800;cursor:pointer}.clear-results-btn:hover{border-color:#7e8d62;background:#f9fbf5}.clear-results-btn:disabled{opacity:.45;cursor:not-allowed}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:75px;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid #e0e4dc;display:grid;grid-template-columns:repeat(4,1fr);z-index:25}.bottom-nav button{min-width:0;padding:0 2px;border:0;background:transparent;color:#8c9690;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:8px;font-weight:700;cursor:pointer}.bottom-nav button.active{color:#275942}.bottom-nav button.active svg{filter:drop-shadow(0 3px 3px rgba(37,89,66,.15))}.drawer-backdrop{position:fixed;inset:0;background:#0e1d1761;opacity:0;visibility:hidden;z-index:50;transition:.2s}.drawer-backdrop.open{opacity:1;visibility:visible}.drawer{width:min(82vw,320px);height:100%;background:#f9faf6;padding:19px;transform:translate(-100%);transition:.25s ease;display:flex;flex-direction:column}.open .drawer{transform:translate(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center}.user-card{margin-top:25px;padding:13px;border-radius:16px;background:#edf2e6;display:flex;gap:10px;align-items:center}.user-card span strong,.user-card span small{display:block}.user-card strong{font-size:12px}.user-card small{color:#79877f;font-size:9px;margin-top:2px;text-transform:capitalize}.drawer-nav{margin-top:20px;display:grid;gap:5px}.drawer-nav button{height:46px;padding:0 13px;border:0;border-radius:12px;background:transparent;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;text-align:left;font-size:12px;font-weight:700;cursor:pointer}.drawer-nav button.active{background:#e7eddc;color:#285b45}.logout-btn{margin-top:auto;height:45px;border:1px solid #e2e5df;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;color:#886056;font-weight:700;font-size:12px;cursor:pointer}.session-home-btn{margin-top:auto;color:#315d48}.session-home-btn+.logout-btn{margin-top:8px}.modal-backdrop{position:fixed;inset:0;z-index:80;background:#0f1e187a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}.modal{width:100%;max-height:88vh;overflow-y:auto;background:#fbfcf8;border-radius:24px 24px 0 0;padding:11px 19px max(25px,env(safe-area-inset-bottom));box-shadow:0 -12px 50px #00000024;animation:rise .22s ease}.modal-handle{width:38px;height:4px;border-radius:3px;background:#d9ded6;margin:0 auto 17px}.modal-title-row{display:flex;justify-content:space-between;align-items:flex-start}.modal-title-row h2{font-size:24px;margin:4px 0 0}.modal-subtitle{font-size:11px;color:var(--muted);line-height:1.5;margin:4px 0 16px}.scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0 18px}.score-team{border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px 9px;text-align:center}.avatar-pair{display:flex;justify-content:center;margin-bottom:7px}.avatar-pair .avatar+.avatar{margin-left:-7px}.score-team>strong{font-size:10px;display:block;min-height:28px}.stepper{margin-top:9px;display:grid;grid-template-columns:30px 1fr 30px;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}.stepper button{border:0;background:#f2f5ee;height:34px;font-size:17px;cursor:pointer}.stepper span{font:800 19px Manrope}.winner-choice{color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.winner-choice:hover{border-color:#aabd9f;background:#f8faef}.winner-choice.selected{border-color:#6f9c7e;background:#edf6e9;box-shadow:inset 0 0 0 1px #a9c7a7;transform:translateY(-2px)}.winner-check{min-height:31px;margin-top:9px;padding:0 7px;border-radius:9px;background:#f0f3ec;color:#61726a;display:flex;align-items:center;justify-content:center;gap:5px;font-size:8px;font-weight:800}.winner-choice.selected .winner-check{background:#dfeeda;color:#326148}.qr-card{margin:16px auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center}.qr-card svg{width:min(190px,65vw);height:auto}.qr-card strong{margin-top:13px;font:700 14px Manrope}.qr-card small{color:var(--muted);font-size:9px;margin-top:3px}.share-url{height:45px;margin-bottom:12px;padding-left:12px;border:1px solid var(--line);background:#fff;border-radius:12px;display:flex;align-items:center;overflow:hidden}.share-url span{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;color:#66756d}.share-url button{width:44px;height:100%;border:0;border-left:1px solid var(--line);background:#f5f7f2;display:grid;place-items:center;cursor:pointer}.choice-list{display:grid;gap:7px;max-height:55vh;overflow:auto;margin:12px 0}.choice-list button{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px 11px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.choice-list strong,.choice-list small{display:block}.choice-list strong{font-size:12px}.choice-list small{font-size:9px;color:var(--muted);margin-top:2px}.form-stack{display:grid;gap:13px}.form-stack label{display:grid;gap:6px;font-size:10px;font-weight:700;color:#64736b}.form-stack input,.form-stack select{width:100%;height:46px;border:1px solid #dce2da;border-radius:12px;background:#fff;padding:0 13px;color:var(--ink)}.form-error{color:#a24f43;background:#f9eae7;padding:9px 11px;border-radius:10px;font-size:10px;margin:0}.color-field{min-width:0;margin:0;padding:0;border:0}.color-field legend{margin-bottom:7px;padding:0;font-size:10px;font-weight:700;color:#64736b}.color-row{display:flex;flex-wrap:wrap;gap:10px}.color-choice{position:relative;display:block!important;cursor:pointer}.color-choice input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.color-choice span{width:32px;height:32px;border-radius:10px;display:block;border:2px solid white;box-shadow:0 0 0 1px #dfe3dc;transition:transform .15s,box-shadow .15s}.color-choice i{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border:2px solid white;border-radius:50%;background:#315b47;opacity:0;transform:scale(.7);transition:.15s}.color-choice input:checked+span{box-shadow:0 0 0 2px #315b47;transform:scale(1.06)}.color-choice input:checked~i{opacity:1;transform:scale(1)}.color-choice:focus-within span{outline:3px solid rgba(67,120,93,.2);outline-offset:3px}.auth-page{min-height:100vh;background:linear-gradient(155deg,#eef2e4,#f9faf6 55%,#edf1e8);padding:42px 20px;display:grid;place-items:center;position:relative;overflow:hidden}.auth-orbit{position:absolute;border:1px solid rgba(55,93,71,.11);border-radius:50%}.orbit-one{width:260px;height:260px;top:-100px;right:-100px;box-shadow:0 0 0 35px #3f644f06}.orbit-two{width:190px;height:190px;bottom:-90px;left:-90px}.auth-card{width:min(100%,390px);background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);border-radius:25px;padding:25px;box-shadow:0 24px 70px #1f362a1a;position:relative}.brand-large .brand-mark{width:36px;height:36px}.brand-large strong,.brand-large small{display:block}.brand-large strong{font-size:20px}.brand-large small{font:500 9px DM Sans;letter-spacing:0;color:#829087;margin-top:1px}.auth-copy{margin:35px 0 22px}.auth-copy h1{font-size:30px;margin:8px 0 7px}.auth-copy p{color:var(--muted);font-size:12px;line-height:1.5}.text-btn{border:0;background:transparent;color:#315d48;cursor:pointer;font-weight:700}.auth-switch{width:100%;margin-top:17px;font-size:10px}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;background:var(--paper)}.loading .brand-mark{animation:bob 1s infinite alternate ease-in-out}.loading p{font-size:11px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:89px;transform:translate(-50%);width:max-content;max-width:calc(100% - 34px);z-index:100;background:#214d3a;color:#fff;border-radius:12px;padding:11px 15px;font-size:11px;font-weight:700;box-shadow:0 10px 30px #0003;display:flex;align-items:center;gap:8px;animation:toastIn .2s ease}.toast i{width:7px;height:7px;border-radius:50%;background:var(--lime)}.toast.error{background:#844f45}.toast.error i{background:#ffc2ad}.dashboard-page{min-height:100vh;padding:0 18px 40px;background:var(--paper)}.dashboard-top{height:70px;margin:0 -18px;padding:0 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.dashboard-intro{padding:38px 2px 25px}.dashboard-intro h1{font-size:34px;margin:8px 0 7px}.dashboard-intro p{color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:19px}.session-grid{display:grid;gap:12px}.session-card{width:100%;padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 7px 22px #23352c0a}.session-card-top{display:flex;align-items:center;justify-content:space-between;color:#85938b}.session-icon{width:40px;height:40px;border-radius:13px;background:#edf3df;color:#3c694f;display:grid;place-items:center}.session-card h2{font-size:17px;margin:15px 0 5px}.session-card p{font-size:10px;color:var(--muted);margin-bottom:14px}.session-card>span{font-size:10px;font-weight:800;color:#2d6048;display:flex;align-items:center;gap:5px}.dashboard-empty{padding:40px 20px;border:1px dashed #d2d9cf;border-radius:18px;text-align:center;color:#78867e}.dashboard-empty h2{color:var(--ink);font-size:17px;margin:12px 0 5px}.dashboard-empty p{font-size:11px;margin:0}@keyframes rise{0%{transform:translateY(30px);opacity:.5}}@keyframes toastIn{0%{transform:translate(-50%,10px);opacity:0}}@keyframes bob{to{transform:rotate(-8deg) translateY(-5px)}}@media(min-width:700px){.desktop-stage{padding:28px 0;background:radial-gradient(circle at 25% 10%,#f1f3e9,transparent 30%),#e2e5df}.app-shell,.dashboard-page{width:430px;min-height:calc(100vh - 56px);max-height:calc(100vh - 56px);margin:auto;border-radius:30px;box-shadow:0 25px 80px #21342b2e;overflow-y:auto;scrollbar-width:none}.app-shell::-webkit-scrollbar,.dashboard-page::-webkit-scrollbar{display:none}.topbar,.dashboard-top{border-radius:30px 30px 0 0}.bottom-nav{width:430px;left:50%;right:auto;transform:translate(-50%);bottom:28px;border-radius:0 0 30px 30px}.modal-backdrop,.drawer-backdrop{width:430px;left:50%;transform:translate(-50%);top:28px;bottom:28px;border-radius:30px;overflow:hidden}.modal{border-radius:24px 24px 0 0}.toast{bottom:112px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
