:root{--bg:#f5f7f3;--paper:#fff;--ink:#23382f;--muted:#7a887f;--green:#1b6953;--green-dark:#13523f;--soft:#eaf2e9;--line:#e5ebe3;--gold:#bc9656;--danger:#ad4845;--radius:16px;--sidebar:228px;--shadow:0 4px 24px #203e2a04}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-text-size-adjust:100%}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.6px;line-height:1.45;font-weight:700}h2{font-size:17px;line-height:1.55}h3{font-size:15px}p{color:var(--muted)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #7fb49d;outline-offset:3px}input,select,textarea{background:#fff;color:var(--ink);border:1px solid #dbe4d9;border-radius:9px;padding:10px 12px;min-height:43px;width:100%;outline:0}input:focus,select:focus,textarea:focus{border-color:#5f9f84;box-shadow:0 0 0 3px #d9eadd80}textarea{resize:vertical;min-height:80px}input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--green)}label{display:block;font-size:12px;color:#5c6e62;margin-bottom:15px}label>input,label>select,label>textarea{margin-top:6px}select{cursor:pointer}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;background:var(--green);color:white;border:1px solid transparent;border-radius:10px;min-height:44px;padding:10px 20px;font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background .15s}.button:hover{background:var(--green-dark);text-decoration:none}.button.secondary{background:#fff;border-color:#dce5d9;color:var(--green)}.button.secondary:hover{background:var(--soft)}.button.small{min-height:34px;padding:6px 13px;font-size:12px}.button.danger{background:var(--danger)}.button.text-danger{background:#fcf0ef;color:var(--danger)}.button.full,.full{width:100%}.text-button{border:0;background:transparent;color:var(--green);padding:5px;font-size:12px;cursor:pointer}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);background:white;border-radius:10px;color:var(--green);font-size:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#819489;display:block;margin-bottom:6px}.muted,.footnote{color:var(--muted);font-size:12px}.footnote{margin:15px 2px}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;color:var(--ink);line-height:1.3}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:2.6px;color:#7b8a7e;margin-top:4px}.brandmark{font-size:37px;line-height:1;color:var(--green)}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;z-index:20;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:35px 22px 20px}.nav-label{font-size:10px;letter-spacing:1px;color:#9ca69d;margin:42px 12px 12px}.main-nav{display:grid;gap:8px}.main-nav a{display:flex;gap:14px;align-items:center;border-radius:10px;padding:12px 15px;color:#758278;font-size:13px;font-weight:550}.main-nav a span{font-size:20px;line-height:1}.main-nav a:hover{background:#f7f9f5;text-decoration:none}.main-nav a.active{color:var(--green);background:var(--soft);font-weight:700}.sidebar-note{margin:auto 0 26px;border-radius:12px;padding:20px 18px 6px;background:#f4f6eb;position:relative;overflow:hidden}.sidebar-note>span{font-size:12px;font-weight:650}.sidebar-note p{font-size:11px;margin-top:8px;color:#82916f}.leaf-art{font-size:58px;line-height:1.4;color:#b4c49b;text-align:right}.admin-entry{font-size:12px;margin:0 10px 20px}.sidebar-profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:20px}.sidebar-profile>div{min-width:0;flex:1}.sidebar-profile b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile small{font-size:10px;color:var(--muted);display:block}.sidebar-profile .icon-button{border:0;width:25px;background:none}.avatar{width:36px;height:36px;border-radius:11px;display:inline-grid;place-items:center;background:#e5eee1;color:var(--green);font-size:16px;font-weight:650;flex-shrink:0}.avatar.large{width:70px;height:70px;font-size:28px;border-radius:23px}.web-workspace{margin-left:var(--sidebar)}.workspace-top{height:76px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#839085;background:#f9fbf7}.workspace-top>div{display:flex;gap:18px;align-items:center}.sync-label::before{content:'';display:inline-block;width:6px;height:6px;background:#6e9c75;border-radius:50%;margin-right:7px}main{max-width:1560px;margin:auto;padding:32px 38px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:18px}.page-heading p{font-size:12px;margin-top:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:21px 23px;position:relative;overflow:hidden}.metric>span{font-size:12px;color:#7b8b7d}.metric>div{margin:13px 0 9px;display:flex;align-items:baseline;gap:7px}.metric strong{font-size:32px;line-height:1.3;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metric small{font-size:11px;color:#8d9a8f}.metric p{font-size:10px;position:relative}.metric.feature{background:var(--green);border-color:var(--green);color:white}.metric.feature>span,.metric.feature p,.metric.feature small{color:#c2dbc8}.metric .metric-decoration{position:absolute;font-size:120px;color:#ffffff10;right:-12px;bottom:-35px;pointer-events:none}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(265px,1fr);gap:22px;align-items:start}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;min-width:0;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.panel-heading>a{font-size:11px;white-space:nowrap}.panel-heading select{width:auto;max-width:180px;min-height:32px;padding:5px 9px;font-size:11px}.panel>p{margin:10px 0}.panel .panel{box-shadow:none}.segmented{display:flex;gap:2px;background:#f3f6f0;border-radius:8px;padding:3px;flex-shrink:0}.segmented button{padding:5px 9px;min-height:28px;border:0;border-radius:6px;color:#8b968b;font-size:10px;background:transparent}.segmented button.active{background:white;color:var(--green);box-shadow:0 1px 4px #3344220a}.chart-legend{display:flex;align-items:center;gap:8px;font-size:10px;color:#8b978c;margin:4px 0 15px;flex-wrap:wrap}.legend-dot{width:6px;height:6px;background:#78a692;border-radius:50%}.legend-line{height:0;width:15px;border-top:2px dashed #b6b57b;margin-left:10px}.chart-legend small{margin-left:auto;font-size:9px}svg{max-width:100%}#homeChart{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:#edf1eb;stroke-width:1}.chart-label{fill:#9ba69c;font-size:11px}.chart-line{fill:none;stroke:#6a9e85;stroke-width:2}.chart-point{fill:#699980;stroke:white;stroke-width:2}.chart-average{fill:none;stroke:#b6b17a;stroke-width:2;stroke-dasharray:5 5}.chart-area{fill:#f0f6ef}.chart-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #f1f3ee;padding-top:13px;margin-top:6px;font-size:10px;color:var(--muted)}.chart-footer a{white-space:nowrap}.habit-panel{background:#f1f5e9;border-color:#e5ebdc;box-shadow:none}.habit-panel .eyebrow{color:#94a17c}.habit-panel h2{margin-top:15px}.habit-panel p{font-size:12px;line-height:1.9;color:#7b8b6b}.prep-dots{display:flex;gap:6px;margin:20px 0 14px}.prep-dots i{height:5px;border-radius:4px;background:#dbe5d0;flex:1}.prep-dots i.on{background:#6f9370}.habit-panel .button{font-size:12px;margin-top:16px;background:#ffffffa0}.habit-tip{margin-top:23px;padding-top:18px;border-top:1px solid #dfe6d6;color:#8d9b7a;font-size:11px}.record-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-top:1px solid #edf1eb}.record-row:first-child{border-top:0;padding-top:0}.record-date{height:40px;width:40px;background:#f4f7f1;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;line-height:1.15;color:#6f806c}.record-date small{font-size:8px;margin-top:3px}.record-info{flex:1}.record-info b{font-size:11px;font-weight:550;display:block}.record-info small{font-size:9px;color:var(--muted)}.record-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.record-value small{font-size:9px;margin-left:4px;color:var(--muted);font-weight:400}.competition-mini h3{margin:10px 0 7px}.competition-mini .mini-stats{margin:17px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-stats>div{border-radius:10px;background:#f5f8f1;padding:12px}.mini-stats small{display:block;color:var(--muted);font-size:9px}.mini-stats b{font-size:23px;color:var(--green);font-weight:650}.competition-mini .muted{margin:8px 0 15px}.tag,.mini-tag{display:inline-block;border-radius:6px;background:var(--soft);color:#6f8866;padding:3px 8px;font-size:10px;white-space:nowrap}.tag.gray{background:#f2f3ef;color:#939a90}.tag.warn{background:#faf0da;color:#ac8743}.mini-tag{background:#ffffff1c;color:inherit}.competition-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.competition-toolbar>div{display:flex;gap:10px}.competition-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:22px;align-items:start}.room-browser h2{font-size:13px;margin-bottom:20px}.room-card{display:block;text-align:left;background:#fff;border:1px solid var(--line);padding:15px;border-radius:12px;margin-bottom:10px;width:100%;color:var(--ink)}.room-card.active{background:#edf4e9;border-color:#8bb293}.room-card h3{font-size:13px;line-height:1.6;margin-top:7px;word-break:break-word}.room-card p{font-size:10px;margin-top:7px}.room-card .room-card-bottom{display:flex;justify-content:space-between;font-size:10px;color:#8b9888;margin-top:13px}.competition-detail>.panel{margin-bottom:20px}.room-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.room-detail-heading h2{font-size:23px;margin:6px 0}.room-detail-heading p{font-size:11px}.room-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:17px;border-top:1px solid var(--line);align-items:center}.invite-code{font:12px ui-monospace,monospace;letter-spacing:1px;color:#6a7c60;margin-right:auto;user-select:all}.standings-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 8px}.standings-stats>div{padding:15px;border-radius:10px;background:#f5f8f1}.standings-stats span{display:block;font-size:10px;color:#7e8d77}.standings-stats b{font-size:24px;line-height:1.7;font-weight:650}.board-group{color:#8a9a7b;font-size:11px;padding:12px 0;letter-spacing:.5px}.board-row{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:9px;border-bottom:1px solid #f1f4ee}.board-row.me{background:#f0f5e9}.board-row .rank{width:24px;font-size:17px;font-weight:600;color:#879e75;text-align:center}.board-row .who{min-width:0;flex:1}.board-row .who b{display:block;font-weight:550;font-size:12px}.board-row .who small{display:block;font-size:9px;color:#93a089;line-height:1.6}.board-row .chg{font-size:11px;color:#7e8d77;min-width:52px;text-align:right}.board-row .score{font-size:19px;font-weight:650;min-width:52px;text-align:right}.rules{font-size:12px;line-height:1.9;color:#7f8f76}.rules summary{font-size:13px;font-weight:650;color:var(--ink);cursor:pointer}.rules p{margin-top:12px}.message-form{display:flex;align-items:flex-start;gap:10px}.message-form input{flex:1;min-width:0;font-size:12px}.messages{margin-top:15px;max-height:420px;overflow:auto}.message{padding:16px 0;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:10px}.message-content{flex:1;min-width:0}.message-content b{font-size:11px;font-weight:650}.message-content small{margin-left:10px;font-size:9px;color:#a2aba0}.message-content p{font-size:12px;color:#708167;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.filterbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:#f8faf5;padding:16px;border-radius:11px;margin-bottom:18px}.filterbar label{margin:0;flex:0 1 180px}.filterbar .muted{margin:auto 0 8px auto}.table-wrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}thead{background:#f7f9f4;color:#8a9882}th{font-size:10px;font-weight:550;white-space:nowrap}th,td{padding:14px 15px;border-bottom:1px solid var(--line)}td{font-variant-numeric:tabular-nums;vertical-align:middle}.number{font-weight:650}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:18px;font-size:11px;color:#909e88}.pagination>span{margin-right:auto}.settings-grid{display:grid;grid-template-columns:minmax(245px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}.settings-grid>div>.panel{margin-bottom:22px}.profile-panel{text-align:center;padding:36px 28px}.profile-panel .avatar{margin-bottom:16px}.profile-panel>p{font-size:11px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;margin:24px 0;gap:12px}.profile-stats b{display:block;font-size:25px;color:var(--green);font-weight:650}.profile-stats small{font-size:10px;color:#8d9b84}.password-form{max-width:430px;margin-top:22px}.password-form p{margin:6px 0 20px}.settings-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.empty-state{text-align:center;padding:32px 15px}.empty-icon{display:block;font-size:35px;color:#b6c5a8;margin-bottom:12px}.empty-state h3{font-size:14px;margin-bottom:6px;font-weight:600}.empty-state p{font-size:11px;line-height:1.9;max-width:360px;margin:auto}.error-banner{padding:16px;background:#fbeeea;border:1px solid #eed0c7;border-radius:12px;color:#a25a49;font-size:12px;margin:20px 0}.form-error{padding:10px 13px;border-radius:8px;background:#fbefeb;color:#a25543;font-size:12px;margin:12px 0}footer{font-size:9px;letter-spacing:.7px;color:#a7b09f;padding:30px 0 23px;display:flex;justify-content:space-between}dialog{padding:26px;border:0;border-radius:20px;width:calc(100% - 32px);max-width:450px;color:var(--ink);box-shadow:0 30px 100px #192c3040}dialog::backdrop{background:#172d2560;backdrop-filter:blur(3px)}dialog.wide{max-width:800px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-heading h2{font-size:20px}.dialog-heading button{background:#f2f5ed;border:0;border-radius:50%;width:30px;height:30px;color:#85917c}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-note{padding:12px;background:#f4f7ee;border-radius:10px;font-size:11px;color:#8a977b;margin:15px 0}.dialog-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-form-grid label{min-width:0}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:1000;max-width:min(90vw,600px);border-radius:12px;background:#233d2f;color:#fff;padding:13px 22px;font-size:12px;box-shadow:0 8px 30px #13291b20;overflow-wrap:anywhere}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.12fr 1fr;padding:0;max-width:none}.login-story{background:#eaf0e3;min-height:100vh;padding:48px 64px;position:relative;overflow:hidden;display:flex;flex-direction:column}.story-copy{margin:auto 0;max-width:500px;padding-top:65px}.story-copy .eyebrow{font-size:9px;letter-spacing:2.3px;color:#829470}.story-copy h1{font-size:39px;line-height:1.65;margin:22px 0 20px;font-weight:600}.story-copy>p{font-size:13px;line-height:2;color:#7e9075}.story-illustration{position:relative;height:270px;margin-top:30px}.art-ring{width:225px;height:225px;border:35px solid #d5e2c9;border-radius:50%;position:absolute;right:5px;top:10px}.art-card{border:1px solid #ffffffd0;background:#ffffffb0;border-radius:20px;position:absolute;left:0;top:30px;width:290px;padding:25px;transform:rotate(-6deg);box-shadow:0 20px 45px #49633110}.art-card>span{font-size:9px;letter-spacing:2px;color:#a6b296;display:block}.art-card>b{font-size:20px;margin-top:12px;display:block;font-weight:600}.art-card svg{height:80px;width:100%;margin-top:10px}.art-card path{fill:none;stroke:#8eac74;stroke-width:3}.art-card small{font-size:10px;color:#94a383}.art-dot{width:35px;height:35px;background:#b9cba7;border-radius:50%;position:absolute;right:0;bottom:40px}.story-footer{font-size:8px;letter-spacing:2px;color:#97a68a;padding-top:50px}.login-form-side{padding:70px 60px 25px;display:flex;flex-direction:column;justify-content:center;min-width:0;background:#fcfdfb}.login-form-wrap{width:100%;max-width:350px;margin:auto}.login-form-wrap>.eyebrow{font-size:9px}.login-form-wrap h2{font-size:28px;margin:10px 0 8px}.login-form-wrap>p{font-size:12px}.login-form-wrap form{margin-top:32px}.login-form-wrap input{background:#fff}.login-form-wrap label{margin-bottom:22px}.password-input{display:block;position:relative;margin-top:6px}.password-input input{padding-right:60px}.password-toggle{position:absolute;right:9px;top:8px;border:0;background:none;color:#8a987e;font-size:11px;padding:5px}.login-submit{margin-top:5px;min-height:47px}.auth-switch{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:23px;font-size:11px;color:#97a28c}.auth-switch button{font-size:11px;font-weight:650}.checkbox-label{display:flex;align-items:flex-start;gap:10px;line-height:1.9;font-size:10px}.checkbox-label input{margin-top:3px;flex-shrink:0}.login-form-wrap .login-privacy{font-size:10px;color:#a3ac9a;line-height:1.9;margin-top:36px}.server-switch{display:block;text-align:center;font-size:11px;margin-top:22px}.login-form-side footer{justify-content:center;margin-top:40px}.mobile-login-brand{display:none}.mobile-header,.bottom-nav{display:none}
/* The APK receives a dedicated document and a mobile navigation model. */
.mobile-app{background:#f5f7f3}.mobile-app .mobile-header{display:flex;align-items:center;justify-content:space-between;padding:17px 22px 6px;max-width:600px;margin:auto}.mobile-header .brand{font-size:20px;gap:8px}.mobile-header .brandmark{font-size:28px}.mobile-header .icon-button{border:0;background:transparent}.mobile-app main{max-width:600px;padding:18px 20px 110px}.mobile-app .page-heading{margin-bottom:23px}.mobile-app h1{font-size:25px;line-height:1.5}.mobile-app .page-heading .eyebrow{font-size:8px;letter-spacing:1.8px}.mobile-app .page-heading p{font-size:11px}.mobile-app .panel{padding:19px;margin-bottom:17px;border-radius:17px}.mobile-app h2{font-size:15px}.mobile-app .panel-heading{gap:10px;margin-bottom:15px}.mobile-app .panel-heading select{max-width:145px}.mobile-weight-card{padding:23px;background:var(--green);border-radius:22px;color:#fff;position:relative;margin-bottom:19px;overflow:hidden}.mobile-weight-card::after{content:'◒';font-size:220px;color:#ffffff07;position:absolute;right:-45px;top:5px;pointer-events:none}.mobile-weight-card .panel-heading{font-size:12px;color:#c1d6c5}.weight-number{display:flex;align-items:baseline;gap:10px;margin:10px 0 5px;position:relative}.weight-number strong{font-size:56px;font-weight:500;line-height:1.3;letter-spacing:-2px;font-variant-numeric:tabular-nums}.weight-number>span{font-size:14px;color:#b9d1bc}.mobile-weight-card>p{font-size:10px;color:#b9d1bc;margin-bottom:20px}.mobile-weight-card>.button{background:#eaf2e5;color:var(--green);font-size:12px;border-radius:11px;min-height:46px;position:relative}.mobile-weight-card>.button:disabled{opacity:.75}.mobile-weight-summary{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-top:22px;border-top:1px solid #ffffff20;padding-top:17px}.mobile-weight-summary>div:last-child{padding-left:23px;border-left:1px solid #ffffff20}.mobile-weight-summary b{font-size:22px;font-weight:500;display:block;line-height:1.4}.mobile-weight-summary small{font-size:9px;color:#b4cdb8}.mobile-prep{background:#f0f4e6}.mobile-prep p{font-size:10px;color:#90a078;margin-top:6px}.mobile-prep .prep-dots{margin:13px 0 10px}.mobile-app .segmented button{padding:4px 7px;font-size:9px;min-height:26px}.mobile-app .chart-legend{font-size:9px}.mobile-app #chartSummary{font-size:9px;margin-top:10px}.mobile-app .record-row{padding:10px 0}.mobile-app .competition-mini h3{font-size:15px}.mobile-app .mini-stats b{font-size:21px}.mobile-app .mini-stats small{font-size:9px}.mobile-app .competition-mini .button{font-size:11px}.mobile-app #view-rooms>.muted{font-size:10px;margin:17px 0}.mobile-room-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-room-actions .button{font-size:12px;padding:10px}.mobile-room-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.mobile-room-list .room-card{margin:0;padding:14px;min-width:0}.mobile-room-list .room-card h3{font-size:12px}.mobile-room-list .room-card p{font-size:9px}.mobile-app .room-detail-heading h2{font-size:20px}.mobile-app .room-detail-heading .eyebrow{font-size:8px}.mobile-app .room-controls{gap:7px;margin-top:16px;padding-top:14px}.mobile-app .room-controls .button{font-size:10px;padding:5px 9px;min-height:30px}.mobile-app .invite-code{font-size:10px;width:100%;margin-bottom:4px}.mobile-app .standings-stats{gap:8px}.mobile-app .standings-stats>div{padding:11px}.mobile-app .standings-stats b{font-size:20px}.mobile-app .standings-stats span{font-size:9px}.mobile-app .board-row{padding:12px 7px;gap:8px}.mobile-app .board-row .score{font-size:18px;min-width:44px}.mobile-app .board-row .chg{font-size:10px;min-width:45px}.mobile-app .board-row .who b{font-size:11px}.mobile-app .board-row .who small{font-size:8px}.mobile-app .message-form .button{font-size:11px;padding:10px 13px}.mobile-profile{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.mobile-profile>.avatar{width:58px;height:58px;border-radius:20px;font-size:23px}.mobile-profile>div:nth-child(2){flex:1}.mobile-profile p{font-size:10px;margin-top:5px}.mobile-profile .profile-stats{width:100%;margin:12px 0 0;padding-top:17px;border-top:1px solid var(--line);text-align:center}.mobile-profile .profile-stats b{font-size:24px}.mobile-app .menu-panel{padding:4px 18px}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 0;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:#52664c;font-size:12px}.menu-row:last-child{border:0}.menu-row:hover{text-decoration:none}.menu-row>span:last-child{color:#a6b19b;font-size:18px}.mobile-app form label{font-size:11px;margin-bottom:16px}.mobile-app form .muted{font-size:10px;margin-bottom:18px}.logout-button{background:#fff;border-color:var(--line);color:#9b6c5e;font-size:12px}.mobile-about{text-align:center;font-size:9px;color:#a7b19e;margin-top:24px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px));display:flex;border-top:1px solid #e0e8d8;background:#ffffffed;backdrop-filter:blur(12px);z-index:40}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;color:#99a58e;font-size:10px}.bottom-nav a:hover{text-decoration:none}.bottom-nav a svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bottom-nav a.active{color:var(--green);font-weight:650}.mobile-app #toast{bottom:100px}.mobile-app dialog{border-radius:22px;padding:23px}.mobile-app .dialog-note{font-size:10px}.mobile-app .table-wrap{max-height:55vh}.mobile-app .profile-stats small{font-size:9px}.apk-login .login-story{display:none}.apk-login .login-layout{display:block;min-height:100vh}.apk-login .mobile-login-brand{display:flex;margin:12px auto 48px;justify-content:center;font-size:25px}.apk-login .mobile-login-brand .brandmark{font-size:44px}.apk-login .login-form-side{min-height:100vh;padding:35px 28px 15px;background:#f5f7f3}.apk-login .login-form-wrap{max-width:360px}.apk-login .login-form-wrap>.eyebrow{font-size:8px}.apk-login .login-form-wrap h2{font-size:26px}.apk-login .login-form-side footer{margin-top:28px;padding-bottom:10px}.apk-login .login-privacy{margin-top:25px}
@media(min-width:1600px){.dashboard-grid{grid-template-columns:minmax(0,2.1fr) minmax(300px,1fr)}}
@media(max-width:1180px){:root{--sidebar:195px}.sidebar{padding:28px 15px 18px}main{padding:28px 25px 0}.workspace-top{padding:0 25px}.metric{padding:18px 17px}.metric-grid{gap:12px}.metric strong{font-size:28px}.dashboard-grid{gap:18px;grid-template-columns:minmax(0,1.5fr) minmax(245px,1fr)}.panel{padding:20px}.trend-panel .panel-heading{align-items:flex-start;flex-direction:column}.competition-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.login-story{padding:42px}.story-copy h1{font-size:33px}.login-form-side{padding:50px 40px 20px}}
@media(max-width:900px){:root{--sidebar:175px}.sidebar{padding:28px 12px 16px}.brand{font-size:20px}.brandmark{font-size:31px}.main-nav a{gap:10px;padding:11px}.sidebar-note{padding:16px}.sidebar-profile{gap:7px}.sidebar-profile .avatar{width:28px;height:28px;font-size:12px}.sidebar-profile b{font-size:10px}.sidebar-profile small{display:none}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.trend-panel .panel-heading{flex-direction:row;align-items:center}.habit-panel{display:none}.page-heading h1{font-size:24px}.page-heading>.button{padding:9px 13px;font-size:11px}.competition-layout{grid-template-columns:1fr}.room-browser #roomList{display:flex;gap:10px;overflow:auto}.room-browser h2{margin-bottom:12px}.room-browser .room-card{min-width:170px;max-width:200px}.room-browser{padding:18px}.settings-grid{grid-template-columns:1fr}.login-story{padding:32px}.story-copy h1{font-size:27px}.art-card{width:235px;padding:20px}.art-ring{width:180px;height:180px;border-width:25px}.login-form-side{padding:45px 30px 15px}}
@media(max-width:650px){.desktop-app .sidebar{position:static;width:100%;padding:17px 18px 0;border-right:0;border-bottom:1px solid var(--line)}.desktop-app .sidebar>.brand{font-size:20px;position:relative}.desktop-app .brand small{display:inline;font-size:8px;margin-left:9px}.desktop-app .sidebar .nav-label,.desktop-app .sidebar-note,.desktop-app .sidebar-profile{display:none}.desktop-app .main-nav{display:flex;gap:3px;margin-top:15px}.desktop-app .main-nav a{padding:10px 12px;font-size:11px;border-radius:8px 8px 0 0;justify-content:center;flex:1;white-space:nowrap}.desktop-app .main-nav a>span{display:none}.desktop-app .admin-entry{position:absolute;right:18px;top:27px;font-size:10px;margin:0}.web-workspace{margin-left:0}.workspace-top{height:54px;padding:0 18px;font-size:10px}.workspace-top>div{gap:8px}.sync-label{font-size:9px}.workspace-top .button{font-size:10px;min-height:29px;padding:4px 8px}.desktop-app main{padding:22px 16px 0}.page-heading{margin-bottom:22px}.desktop-app h1{font-size:21px}.desktop-app .page-heading .eyebrow{font-size:8px}.desktop-app .page-heading p{font-size:10px}.desktop-app .page-heading>.button{font-size:10px;padding:8px;min-height:38px}.metric-grid{gap:10px;margin-bottom:17px}.metric{padding:17px}.metric>span{font-size:10px}.metric strong{font-size:28px}.metric p{font-size:9px}.panel{padding:18px}.panel-heading{gap:9px}.panel-heading h2{font-size:15px}.trend-panel .panel-heading{flex-direction:column;align-items:flex-start}.filterbar{gap:10px}.filterbar label{flex:1 1 110px}.filterbar .muted{margin:0 auto 0 0}.competition-toolbar .muted{font-size:10px}.competition-toolbar .button{font-size:10px;padding:8px 12px}.standings-stats>div{padding:11px}.standings-stats b{font-size:20px}th,td{padding:12px 10px}.login-layout{display:block}.login-story{display:none}.login-form-side{min-height:100vh;padding:38px 27px 12px;background:#f5f7f3}.mobile-login-brand{display:flex;justify-content:center;margin:5px auto 50px}.login-form-wrap{max-width:360px}.login-form-wrap h2{font-size:26px}.login-form-side footer{margin-top:35px}.login-form-wrap>.eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}
