@font-face{font-family:ChillRound;src:url('./assets/ChillRoundM.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f3f1f7;--ink:#403861;--muted:#9b90b0;--line:#eee8f6;--violet:#9678d3;--deep:#7d63c8;--lavender:#f5f2fc;--font:ChillRound,'PingFang SC','Microsoft YaHei',sans-serif}
html,body{height:100%;min-width:960px}body{padding:0;overflow-x:auto;overflow-y:hidden}#app{height:100dvh;min-height:600px;display:flex;flex-direction:column;width:100%;min-width:960px}.topbar{width:100%;max-width:1080px;padding:16px 22px 13px;flex-shrink:0}.topbar h1{font-size:22px;letter-spacing:1px;font-weight:500}.brand-caption{font-size:11px}.brand-mark{width:40px;height:40px;background:#e9e0f9;border:0;font-size:29px}.top-actions{gap:8px}.desktop-width-hint{display:none}
.workspace{display:grid;grid-template-columns:minmax(410px,470px) minmax(340px,380px);justify-content:center;align-items:stretch;gap:48px;max-width:1080px;width:100%;padding:0 22px 12px;flex:1;min-height:0;overflow:hidden}.app-window{display:flex;flex-direction:column;min-height:0;width:100%;border:1px solid #e5deed;border-radius:22px;background:#f5f2fc;box-shadow:0 8px 30px #4d346a09;overflow:hidden;container-type:inline-size}.app-header{background:#f5f2fc;padding:14px 20px 0;flex-shrink:0;border-bottom:1px solid #e9e0f3}.app-header-top{gap:12px}.app-title{font-size:19px;font-weight:400;letter-spacing:2px;color:#7d63c8}.phone-status{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;color:#a69bb6}.nav{margin-top:7px;gap:20px;justify-content:space-between}.nav button{font-size:12px;padding:8px 0 10px;color:#ac9bc4}.nav button.active{color:#7d63c8;font-weight:500}.nav button.active:after{background:#7d63c8;height:2px}.app-body{padding:20px;min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin;scrollbar-color:#d7c8e9 transparent;scrollbar-gutter:stable}.app-body-home,.app-body-practices{padding:0}.app-body-home .ip-home{padding:22px 25px 18px}.app-body-practices .ip-list{padding:0 25px 20px}.ip-view{font-family:var(--font)}.ip-home-footer{font-size:11px}.ip-practice-heading h3{font-weight:400}.ip-raw-count{font-family:ChillRound,ui-monospace,monospace;color:#4e3f7a}.ip-list-header{padding-top:17px}.ip-practice-card{border-radius:16px}.ip-practice-actions>button{font-size:16px;min-height:36px}.ip-list-toolbar{bottom:0}.ip-count-summary strong{white-space:nowrap;font-size:26px;letter-spacing:-.7px}.ip-cumulative-sources span{font-size:10px}.ip-cumulative-sources b{font-size:16px}.ip-source-summary{font-size:12px}.ip-sync-text{font-size:11px}.ip-reading-label{font-size:12px}
.hardware-panel{position:relative;top:auto;display:flex;flex-direction:column;align-self:stretch;height:100%;min-height:0;max-width:none;width:auto;padding:18px 20px 12px;overflow-y:auto;border:1px solid #e5deed;border-radius:22px;background:#fff;scrollbar-width:thin;scrollbar-color:#d7c8e9 transparent}.hardware-heading{padding:0}.hardware-heading h2{font-size:19px;font-weight:400;letter-spacing:.5px}.eyebrow{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:9px;letter-spacing:1px}.device-select{width:100%;margin:12px 0 6px;max-width:none;font-size:13px;padding:7px 10px;flex-shrink:0}.hw-simulator{margin:auto 0 0;flex-shrink:0;max-width:100%}.hw-device-wrap{padding:0 2px 0 26px}.hw-device{width:clamp(210px,calc((100dvh - 370px)*.87),310px);max-width:100%}.hw-side-button>span{font-size:12px;background:#fff9;border-radius:5px}.hw-help{display:none}.hw-reading-caption{margin-top:-7px;gap:8px;font-size:13px}.hw-reading-caption strong{font-size:18px;font-weight:400}.hw-step-label{font-size:12px}.hw-status-strip{font-size:11px;margin-top:7px;gap:10px}.hardware-foot{width:100%;max-width:none;margin:10px 0 0;padding:0}.hardware-foot .row{font-size:12px;padding:4px 0}.hardware-foot .row:first-child{display:none}.hardware-foot .action-row{gap:6px;margin-top:8px}.hardware-foot .action-row .btn{font-size:12px;min-height:34px;padding:6px 9px}.view-channel-btn{width:100%;margin-top:9px;flex-shrink:0;font-size:13px;min-height:36px}.hint-strip{font-size:10px;max-width:none;margin:12px 0 0;padding-top:10px}.hint-strip summary{cursor:pointer;color:#a293b2}.bottom-note{max-width:1080px;width:100%;padding:1px 22px 12px;flex-shrink:0;font-size:10px;display:flex;justify-content:space-between;gap:16px}.mobile-jump{display:none!important}
.inner-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:14px;color:#9678d3}.inner-page-header button{color:#9678d3;padding:0;font-size:13px}.practice-card{background:#fff;border:0;border-radius:16px}.practice-top{padding:19px 19px 10px}.practice-top h3{font-size:22px;font-weight:400;color:#665d75}.practice-top .sub{font-size:12px}.counter-hero{margin:4px 18px 18px;padding:12px 15px 13px;background:#c6c9b7;border:1px solid #a3aa94;border-radius:12px;box-shadow:inset 0 2px 5px #4d574a3b}.counter-label{font-size:12px;color:#56604b}.big-count,.big-count.free{font-family:ChillRound,ui-monospace,monospace;font-size:60px;color:#263224;line-height:1.2;letter-spacing:3px;white-space:nowrap;overflow:auto;margin:8px 0}.counter-note{display:none}.sync-line,.sync-line .text-btn{font-size:10px;color:#64705e}.sync-line .status-dot.on{box-shadow:none}.stats-wrap{background:white;padding:13px 18px 16px}.stats-head{font-size:11px}.stat span{font-size:11px}.stat b{font-size:24px;font-weight:400}.stat.hw b{font-weight:400}.segmented button{font-size:11px}.count-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 36px 0;margin-top:8px}.count-main{grid-column:1/-1;justify-self:center;display:flex;flex-direction:column;justify-content:center;gap:2px;width:128px;height:128px;min-height:128px;margin:8px 0 14px;border:4px solid #b99be7;border-radius:50%;background:linear-gradient(145deg,#a585df,#7d63c8);box-shadow:0 0 0 5px #e6d9f8,0 4px 11px #8361ad47;font-size:17px;flex:none}.count-main svg{display:none}.count-main strong{font-size:35px;line-height:1.3}.count-controls .btn{height:36px;min-height:36px;padding:5px 15px;border-color:#9678d3;border-radius:20px;color:#9678d3;background:#fff;font-size:14px}.recent{background:white;border-radius:14px;padding:16px;margin-top:18px}.mini-head h3{font-size:14px}.record-text strong{font-size:13px}.record-text p{font-size:11px}.record-icon{border-radius:50%}.record-qty{font-size:18px;color:#9678d3}.record-row{padding:13px 0}.record-edit{font-size:12px}.micro-note{font-size:11px;color:#ab9bc1}.date-summary{background:#fff;border-radius:14px}.calendar-grid{padding:10px;background:#fff;border-radius:14px}.day.selected{background:#e5fe7d;color:#724ebb;border-radius:50%}.day .qty{font-size:9px;color:#a18bba}.calendar-toolbar{color:#9678d3}.section-head h2{font-size:21px;font-weight:400}.section-head .eyebrow{display:none}.list-card{background:white;border:0;border-radius:16px}.list-card p{font-size:12px}.list-card h3{font-size:17px;font-weight:400}.group-tab{background:white}.channel{background:white}.empty-state{font-size:14px}
dialog{font-family:var(--font);background:#fff;border:0;border-radius:18px;padding:26px 30px;max-height:90vh;width:min(430px,calc(100vw - 36px))}dialog h2{font-size:23px;font-weight:400;color:#9678d3}dialog::backdrop{background:#3f30574d;backdrop-filter:blur(3px)}.form-field{font-size:15px;color:#736580}.form-field input,.form-field select,.form-field textarea{border-color:#b396d9;border-radius:9px;font-size:16px;padding:11px 13px}.dialog-description{font-size:13px;line-height:1.9}.form-hint{font-size:12px}.two-fields{grid-template-columns:1fr;gap:0}.dialog-actions .btn{border-radius:20px;min-width:92px;font-size:14px}.dialog-actions .btn.primary{background:#e5fe7d;border-color:#9678d3;color:#724ebb}.dialog-actions .btn.danger{background:#fff1f1}.checks{font-size:13px}.test-intro h2{font-weight:400}.test-intro p,.scenario p{font-size:12px}.test-box{background:white}.scenario h3{font-size:15px;font-weight:400}.scenario-check{font-size:11px}.tools-grid{gap:8px}.tools-grid .btn{white-space:normal}.btn.primary{font-weight:400}.btn.soft{background:#f1eaf9}.callout{font-size:13px}#toast{bottom:22px;font-size:13px;max-width:500px}
@media(max-width:959px){html,body,#app{min-width:960px}.desktop-width-hint{display:block;position:fixed;z-index:30;bottom:12px;left:12px;max-width:calc(100vw - 24px);padding:8px 12px;background:#4f3e70e6;border-radius:9px;color:#fff;font:12px/1.6 -apple-system,BlinkMacSystemFont,sans-serif;pointer-events:none}.workspace{gap:30px}.bottom-note{padding-bottom:12px}}
@media(max-height:700px){.topbar{padding-top:10px;padding-bottom:9px}.hardware-panel{padding-top:13px}.hardware-heading h2{font-size:17px}.hw-device{width:230px}.hint-strip{margin-top:8px;padding-top:6px}.hw-status-strip{margin-top:5px}.hardware-foot{margin-top:7px}.bottom-note{padding-bottom:7px}}
.ip-home-card{padding:16px 18px 18px}.ip-home-heading h2{font-size:19px}.ip-motto{margin-top:6px}.ip-today-ring{width:166px;margin:15px auto 18px}.ip-ring-inner{gap:10px}.ip-ring-inner>strong{font-size:43px}.ip-home-sources{display:none}.ip-home-targets{padding:16px 3px}.ip-start-count{min-height:50px;font-size:24px}.ip-streak-card{margin-top:18px}.hw-simulator{margin:8px 0 0}.hw-device{width:clamp(205px,calc((100dvh - 450px)*.87),300px)}
.app-body-count{padding:14px 18px}.app-body-count .inner-page-header{margin-bottom:9px;font-size:13px}.app-body-count .practice-top{padding:13px 17px 8px}.app-body-count .practice-top h3{font-size:20px}.app-body-count .practice-top .sub{font-size:11px;margin-top:2px}.app-body-count .counter-hero{margin:0 16px 12px;padding:9px 12px 10px}.app-body-count .big-count{font-size:51px;line-height:1.1;margin:5px 0}.app-body-count .stats-wrap{padding:10px 17px 12px}.app-body-count .stats-head{margin-bottom:7px}.app-body-count .stat b{font-size:23px}.app-body-count .count-controls{gap:7px;padding-top:0;margin-top:5px}.app-body-count .count-main{width:102px;height:102px;min-height:102px;margin:7px 0 10px;font-size:15px;border-width:3px}.app-body-count .count-main strong{font-size:30px}.app-body-count .count-controls .btn{height:31px;min-height:31px;font-size:13px}.app-body-count .micro-note{font-size:10px;margin-top:8px}
.ip-limit-note{display:block;width:100%;background:#fbf6e5;border:1px solid #ebddb8;border-radius:7px;padding:6px 9px;font-size:12px;color:#9b7b33;text-align:left;margin-top:8px}
