/* Product layer: the original app's quiet card hierarchy, inside the desktop simulator. */
:root{--ink:#3d3666;--muted:#8b819c;--line:#eee7f7;--deep:#7962c6;--violet:#9878d4}
.topbar{padding-top:14px;padding-bottom:12px}.topbar h1{font-size:20px}.brand-caption{font-size:12px;color:#8e849f}.top-actions .btn{font-size:13px;min-height:36px}.workspace{gap:48px}.app-window{border:0;box-shadow:0 0 0 1px #e7e1ef,0 8px 30px #4d346a05}.app-body{scrollbar-gutter:auto;padding:24px;scrollbar-width:thin}.app-body-home,.app-body-practices{padding:0}.app-home-nav{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 0;color:#7962c6;font-size:18px;letter-spacing:2px}.app-home-nav button{letter-spacing:0;font-size:14px;min-height:44px;padding:0 4px}.app-body-home .ip-home{padding:17px 27px 25px}.app-body-practices .ip-list{padding:0 26px 22px}
.app-body .inner-page-header{min-height:44px;font-size:17px;margin:0 0 20px;gap:8px;letter-spacing:1px}.app-body .inner-page-header button{font-size:15px;min-height:44px;padding:0;letter-spacing:0}.inner-page-header>span{white-space:nowrap}.inner-page-header>button:first-child{min-width:84px;text-align:left}.inner-page-header>button:last-child{min-width:64px;text-align:right}.page-back{margin-bottom:10px!important}.app-body-count{padding:17px 26px 28px}
.app-body-count .practice-top{padding:20px 22px 12px}.app-body-count .practice-top h3{font-size:22px;color:#56515e}.app-body-count .practice-top .sub{font-size:13px;color:#9589a6;margin-top:4px}.dots{min-width:44px;min-height:44px;align-self:flex-start;margin-top:-8px}.app-body-count .counter-hero{margin:0 20px 18px;padding:13px 16px;border-radius:12px;background:#e7e9df;border:1px solid #d1d5c5;box-shadow:inset 0 1px 3px #5b645b18}.counter-label{font-size:13px;color:#626a57}.app-body-count .big-count{font-size:58px;margin:5px 0;line-height:1.2;text-align:center;letter-spacing:3px;font-weight:400}.app-body-count .big-count.free{font-size:44px;letter-spacing:0;overflow-wrap:anywhere;white-space:normal}.sync-line{justify-content:center;gap:8px;font-size:12px;min-height:28px;color:#6b725f}.sync-line .text-btn{font-size:12px;min-height:32px;color:#576347}.app-body-count .stats-wrap{padding:15px 20px 20px}.stats-head{color:#8d819e;font-size:13px;margin-bottom:12px}.segmented{background:#f3eefb;border-radius:16px;padding:2px}.segmented button{font-size:13px;min-height:30px;padding:3px 12px;border-radius:15px;color:#9483b2}.segmented button.active{box-shadow:0 1px 4px #59497615;color:#7459b9}.stats{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.3fr);gap:12px}.stat span{font-size:13px;color:#8f829f}.stat b,.app-body-count .stat b{font-size:24px;line-height:1.35;letter-spacing:-.3px;margin-top:6px;overflow-wrap:anywhere;color:#9373cc}.stat.total b{color:#4d4279}.stat.total{text-align:right}.stat-symbol{display:none}
.app-body-count .count-controls{margin-top:14px;padding:0 30px;gap:14px}.app-body-count .count-main{width:134px;height:134px;min-height:134px;border:3px solid #a98bda;background:#9172cf;box-shadow:0 0 0 5px #e7dcf8,0 6px 16px #8767ba22;margin:10px 0 16px;font-size:18px;color:white;transition:transform .12s,box-shadow .12s}.app-body-count .count-main:active{transform:scale(.96);box-shadow:0 0 0 5px #e7dcf8}.app-body-count .count-main strong{font-size:34px}.app-body-count .count-controls .btn{min-height:42px;height:42px;font-size:16px;border-radius:11px;color:#7962c6}.count-explanation{font-size:13px;line-height:1.8;color:#9689a5;margin:16px 0 0;text-align:center}.count-explanation summary{cursor:pointer;display:inline-block;min-height:32px;padding:4px 12px;color:#8b74b1}.count-explanation p{text-align:left;padding:10px 12px;background:white;border-radius:12px}.app-body-count .callout{font-size:14px;line-height:1.7;background:#fcf7ea;border-color:#f0e3c4;padding:13px 15px}.callout small{font-size:12px}.callout .btn{min-height:42px;color:#8a682a;border-color:#e4d0a3;background:white;font-size:13px}.recent{padding:19px 20px;margin-top:18px}.mini-head h3{font-size:16px}.mini-head .text-btn{min-height:40px;font-size:13px}.record-row{padding:15px 0}.record-text strong{font-size:14px}.record-text p{font-size:12px}.record-edit{min-width:42px;min-height:42px;font-size:13px}.record-qty{font-size:21px}.record-icon{width:32px;height:32px}
.section-head h2{font-size:24px}.section-head p{font-size:14px;line-height:1.8}.section-head .btn{font-size:13px;min-height:42px}.list-card{padding:20px;margin-bottom:16px}.list-card h3{font-size:19px}.list-card p{font-size:13px}.list-card .actions{gap:9px;margin-top:17px}.list-card .btn{font-size:14px;min-height:42px}.pill{font-size:12px;padding:4px 9px}.device-card-icon{display:none}.group-tab{font-size:14px}.group-tab span{font-size:12px}.channel{min-height:44px;font-size:14px}.channel b{font-size:12px}.practice-option{font-size:14px;min-height:42px}.calendar-toolbar h3{font-size:18px}.calendar-toolbar .btn{min-width:42px;min-height:42px}.weekday{font-size:13px}.day{font-size:16px;height:60px}.day .qty{font-size:10px}.date-summary .mini-head{font-size:14px}.date-summary{padding:18px}
dialog{width:440px;padding:26px 28px;border-radius:24px;box-shadow:0 24px 80px #3b29552b}dialog h2{font-size:24px;color:#66518c}.dialog-close{min-width:44px;min-height:44px;margin-right:-10px}.dialog-context{font-size:14px;color:#8e7da4;margin:3px 0 20px}.dialog-description{font-size:15px;line-height:1.8;color:#877a95}.form-field{font-size:16px}.form-field input,.form-field select{min-height:48px;font-size:18px;border-color:#dbceee;border-radius:12px}.form-hint{font-size:13px;color:#9487a3}.dialog-actions{gap:12px;margin-top:26px}.dialog-actions .btn{flex:1;min-height:46px;font-size:16px;border-radius:12px}.dialog-actions .btn.primary{background:#7962c6;border-color:#7962c6;color:white}.dialog-actions .btn.primary:hover{background:#6e56bb}.checks{font-size:14px}.checks input{width:17px;height:17px;flex-shrink:0}.reset-preview{border-top:1px solid #eee7f6;border-bottom:1px solid #eee7f6;padding:5px 0;margin:0 0 17px}.reset-preview>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0}.reset-preview span{font-size:14px;color:#8a7b9d}.reset-preview strong{font-size:23px;font-weight:400;color:#66518c}.reset-preview small{font-size:13px;color:#967ab8;margin-left:7px}.reset-preview i{font-style:normal;font-size:18px;margin:0 5px;color:#b4a3cb}
.hardware-panel{padding:22px 20px 16px}.hardware-heading .eyebrow{display:none}.hardware-heading h2{font-size:20px}.device-select{font-size:15px;min-height:44px}.hw-simulator{margin-top:14px}.hw-device{width:clamp(210px,calc((100dvh - 460px)*.87),300px)}.hw-status-strip{font-size:12px}.hw-reading-caption{font-size:14px}.hardware-foot .row{font-size:13px}.hardware-foot .action-row .btn{min-height:40px;font-size:13px}.view-channel-btn{min-height:42px;font-size:14px}.hint-strip{font-size:12px}.bottom-note{font-size:11px;color:#a59aaf;padding-bottom:10px}
@media(max-height:780px){.app-body-count .inner-page-header{margin-bottom:10px}.app-body-count .practice-top{padding-top:14px}.app-body-count .counter-hero{margin-bottom:12px;padding-top:9px;padding-bottom:9px}.app-body-count .big-count{font-size:52px}.app-body-count .stats-wrap{padding:10px 18px 14px}.app-body-count .count-main{width:112px;height:112px;min-height:112px;margin:5px 0 9px}.app-body-count .count-controls{margin-top:10px;gap:8px}.count-explanation{margin-top:10px}.hardware-panel{padding-top:16px}.hw-device{width:240px}.hw-simulator{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.count-main{transition:none}}
.app-window>.ip-list-toolbar{--ip-purple:#7d63c8;position:static;flex-shrink:0;margin:9px auto 12px;padding:5px 16px 3px;background:#fff;box-shadow:0 3px 16px #7c62bc12}
.app-window>.ip-list-toolbar>button{min-height:60px}.ip-tool-icon{width:40px;height:40px}
.ip-practice-card .ip-raw-count{font-family:ChillRound,'PingFang SC',sans-serif;font-size:53px;letter-spacing:2px}
.hw-channel-number{white-space:nowrap}.hw-lcd-top{font-size:clamp(7px,1.05vw,12px)}
.ip-source-stat>span,.ip-practice-card .ip-sync-text,.ip-reading-label,.ip-list-context{color:#7f6d91}
.ip-source-stat>strong{color:#8062b4}.ip-source-total>strong{color:#554477}
.ip-list-context{position:sticky;top:0;z-index:3;background:#f5f2fc;padding:6px 0}
.app-body-practices .ip-list-header{padding-top:14px;padding-bottom:12px}
@media(max-height:780px){.ip-hardware-reading{margin-top:10px;padding-bottom:12px}.ip-source-stats{margin-top:14px}.ip-practice-card .ip-practice-actions{margin-top:15px}.ip-list-header{padding-top:8px;padding-bottom:8px}.ip-list-context{margin-bottom:12px}.hardware-panel{padding-bottom:10px}.hw-device{width:220px}.hardware-heading h2{font-size:18px}.hint-strip{margin-top:8px;padding-top:7px}}
