.app-body-editor{padding:0!important}.session-card,.session-text,.ritual-card,.achievement-card{background:#fff;border-radius:18px;padding:16px;margin-bottom:12px;color:#50465f}.session-identity{display:flex;align-items:center;justify-content:space-between;color:#9276c1;font-size:12px}.session-identity>span{display:flex;gap:6px;align-items:center}.session-identity button{border:0;background:none;color:#9276c1;font-size:24px;width:44px;height:44px;margin:-10px -10px -6px 0}.session-card h2{font-size:19px;line-height:1.5;overflow-wrap:anywhere;margin:6px 0 10px}.session-device{display:flex;align-items:center;gap:7px;color:#857593;font-size:13px;margin-bottom:10px}.session-hardware{background:#f3f0f7;border-radius:12px;padding:10px 12px}.session-hardware>span{font-size:12px;color:#84788c}.session-hardware>strong{display:block;font-family:ui-monospace,monospace;font-size:34px;letter-spacing:2px;color:#68518c}.session-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px;font-size:12px;color:#83758f}.session-totals span{min-width:0}.session-totals b{display:block;color:#795ab0;font-size:20px;font-weight:400;font-variant-numeric:tabular-nums}.session-totals b.count-9{font-size:18px}.session-sources b{font-size:17px}.session-count{text-align:center;padding:12px 16px 16px}.session-count>span{font-size:14px;color:#867396}.session-count>strong{display:block;font-size:40px;line-height:1.4;color:#68518c;font-weight:400}.session-count>strong.count-9{font-size:32px}.session-press{display:block;margin:10px auto 16px;width:112px;height:112px;border:7px solid #e8ddf6;border-radius:50%;background:#9472ce;color:white;font-size:32px;box-shadow:0 3px 12px #9472ce24;cursor:pointer}.session-submit{width:100%;min-height:46px;padding:10px;border:0;border-radius:12px;background:#7c63c6;color:#fff;font-size:16px;cursor:pointer}.session-submit:disabled{background:#d3c9e6;cursor:default}.session-text h3{margin:0 0 8px;font-size:14px;color:#8e71b5}.session-text p,.ritual-text{font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.session-secondary{display:flex;gap:10px;margin:12px 0}.session-secondary button,.session-add-vow{min-height:44px;flex:1;background:#fff;border:1px solid #e9e0f5;border-radius:12px;color:#8569b1;padding:8px 16px;font-size:14px}.session-add-vow{display:block;width:100%}.ritual-card h2{text-align:center;font-size:23px;color:#8265b5;margin:12px 0 24px}.ritual-step{text-align:center;font-size:12px;color:#a08bb5}.ritual-quantity{font-size:14px;text-align:center;color:#8b789b;margin:28px 0 16px}.ritual-text{min-height:200px}.group-order-list{display:grid;gap:4px}.group-order-row{display:flex;align-items:center;gap:8px;min-height:64px;border-bottom:1px solid #eee7f6}.group-order-row>div{flex:1;min-width:0}.group-order-row strong{display:block;font-size:14px;overflow-wrap:anywhere;font-weight:500}.group-order-row small{display:block;font-size:12px;color:#93849f}.group-order-row button{width:44px;height:44px;border:0;border-radius:10px;background:#f3edfa;color:#8265b5;font-size:22px}.group-order-row button:disabled{opacity:.25}.list-option-actions{display:grid;gap:10px}.achievement-card{display:block;width:100%;text-align:left;border:0;cursor:pointer}.achievement-card>span,.achievement-card p{font-size:12px;color:#8c79a1}.achievement-card h3{font-size:18px;overflow-wrap:anywhere}.achievement-card>strong{font-size:26px;color:#8b68bc;font-weight:400}.overview-opening{font-size:12px;color:#9c8aaf;margin:8px 0 0}.ip-plan-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#877499;padding-bottom:8px}.ip-plan-line b{font-weight:400}.detail-connection>span{font-size:12px}.form-field textarea{width:100%;font:inherit;font-size:16px;line-height:1.7;border:1px solid #e8e0f1;border-radius:10px;padding:12px;color:#51465f;resize:vertical}
.session-text{padding:12px 16px}.session-text p{max-height:100px;overflow:auto;padding-right:4px;overscroll-behavior:contain}.session-count{padding:8px 12px 12px}.session-press{width:96px;height:96px;margin:8px auto 12px}.session-card .session-totals{margin-top:6px}.session-card{padding:12px 16px}

.session-text-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-8px 0 0}.session-text-heading h3{margin:0;font-size:14px}.session-edit-vow{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:0 2px;border:0;background:transparent;color:#8063b2;font:inherit;font-size:14px;cursor:pointer}.session-edit-vow:focus-visible{outline:2px solid #9b80c5;outline-offset:2px;border-radius:6px}.session-text .session-vow-reading{font-size:16px;line-height:1.9}.session-vow-reading.is-empty{color:#92869e;font-size:14px}.session-vow-reading:focus-visible{outline:2px solid #d8c8ee;outline-offset:3px;border-radius:4px}

/* Reading and counting share one screen; only the text scrolls. */
.app-window .app-body-reading{display:flex;flex-direction:column;overflow:hidden;padding:0 16px 8px;gap:10px}
.session-context{flex:none;min-width:0;padding:0 2px;color:#645074}
.session-context-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.session-origin{display:flex;align-items:center;gap:5px;min-width:0;color:#927fa4;font-size:12px;line-height:1.5}
.session-origin>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.session-data-link{flex:none;min-height:44px;padding:0 0 0 10px;color:#8669b5;font-size:14px;background:none;border:0;cursor:pointer}
.session-title{margin:0;font-size:20px;line-height:1.5;font-weight:500;overflow-wrap:anywhere;max-height:90px;overflow:auto;scrollbar-width:thin}
.session-channel-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#927fa4;margin-top:5px}
.session-hardware-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;margin-top:8px;border-radius:12px;background:#eeebf4}
.session-hardware-compact>div:first-child{flex:none}.session-hardware-compact>div>span{display:block;font-size:12px;color:#8c7c9b}
.session-hardware-compact strong{display:block;font-size:28px;font-weight:400;line-height:1.2;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#6c548d}
.session-hardware-status{text-align:right;min-width:0}.session-hardware-status>span{font-size:12px;line-height:1.5;color:#8c7c9b}
.session-hardware-status>button{min-height:44px;font-size:13px;color:#795aab;padding:0;background:transparent;border:0;cursor:pointer}
.app-body-reading .session-text{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;padding:0 16px 12px;border-radius:18px;background:#fff;overflow:hidden}
.app-body-reading .session-text-heading{flex:none;margin:0;min-height:48px;gap:10px}
.app-body-reading .session-text-heading h3{font-size:14px;color:#927dac;font-weight:400}
.app-body-reading .session-vow-reading{flex:1;min-height:0;max-height:none;overflow:auto;font-size:18px;line-height:1.95;letter-spacing:.3px;color:#554762;padding:0 2px 16px 0;scrollbar-width:thin;scrollbar-color:#ddd1ec transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.app-body-reading .session-vow-reading.is-empty{font-size:16px;color:#a397af}
.session-dock{display:grid;grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:24px;flex:none;padding:10px 24px 8px;background:#f5f2fc}
.session-dock-summary{min-width:0}.session-dock-summary>span{display:block;color:#8b78a0;font-size:14px;line-height:20px}
.session-dock-summary>strong{display:block;font-size:36px;line-height:44px;font-weight:400;letter-spacing:.5px;color:#6d548e;font-variant-numeric:tabular-nums;--count-size-7:30px;--count-size-8:28px;--count-size-9:25px}
.session-dock .session-submit{margin-top:6px;border-radius:12px;min-height:44px;padding:8px 12px;font-size:16px;white-space:nowrap}
.session-dock .session-press{display:flex;flex-direction:column;align-items:center;justify-content:center;width:116px;height:116px;margin:0;padding:0;border:6px solid #e8ddf6;border-radius:50%;background:#9373c9;box-shadow:0 3px 12px #9472ce18;touch-action:manipulation;user-select:none;transition:background .1s}
.session-dock .session-press>span{font-size:16px;line-height:24px;color:#f7f2ff}.session-dock .session-press>strong{font-size:36px;line-height:44px;font-weight:400}
.session-dock .session-press:active{background:#7c5bb5;box-shadow:inset 0 2px 5px #63439633}
.session-dock button:focus-visible,.session-data-link:focus-visible{outline:2px solid #8c6cbd;outline-offset:3px}

/* The default page prioritizes counting; reading is an optional second page. */
.app-window .app-body-count{display:flex;flex-direction:column;gap:8px;padding:0 16px 4px;overflow-y:auto}
.session-overview{flex:none;background:#fff;border-radius:16px;padding:8px 14px}
.session-overview .session-totals{margin:0;gap:14px;font-size:12px;line-height:18px}
.session-overview .session-totals b{font-size:23px;line-height:29px;--count-size-7:21px;--count-size-8:19px;--count-size-9:17px}
.session-overview .session-sources{padding-top:6px;border-top:1px solid #f2edf8;margin-top:6px}
.session-overview .session-sources b{font-size:19px;line-height:25px;--count-size-7:18px;--count-size-8:17px;--count-size-9:16px}
.session-main-controls{flex:1;min-height:246px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px;gap:3px}
.session-main-controls>span{font-size:14px;color:#8b78a0;line-height:20px}
.session-main-controls>strong{font-size:40px;font-weight:400;color:#6d548e;line-height:46px;font-variant-numeric:tabular-nums;--count-size-7:36px;--count-size-8:33px;--count-size-9:30px}
.session-main-controls .session-press{width:128px;height:128px;margin:3px 0 8px;touch-action:manipulation;user-select:none;font-size:40px}
.session-main-controls .session-press:active{background:#7c5bb5}
.session-main-controls .session-submit{max-width:280px;min-height:44px;padding:8px 12px}
.session-reading-entry{display:flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:44px;color:#8569b1;font-size:14px;border:0;background:transparent;cursor:pointer}
.session-reading-entry>span{font-size:20px;margin-left:3px}

/* A single quiet toolbar leaves the text and count key in view. */
.app-body-reading .session-text{padding-bottom:0}
.reading-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;min-height:48px;border-top:1px solid #f0eaf6;margin-top:4px}
.reading-play{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:44px;padding:0 6px 0 0;border:0;background:transparent;color:#795daf;font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}
.reading-play[aria-pressed="true"]{color:#614596}
.reading-speed{display:flex;align-items:center;gap:4px;color:#8b7b9a;font-size:14px;white-space:nowrap}
.reading-speed select{min-height:44px;width:70px;padding:0 2px 0 5px;border:0;background:transparent;color:#795daf;font:inherit;font-size:14px;cursor:pointer}
.reading-controls :disabled{color:#aaa0b6;cursor:default}
.reading-controls button:focus-visible,.reading-controls select:focus-visible{outline:2px solid #aa91cf;outline-offset:1px;border-radius:6px}
