/* Keep the entry and practice room large, quiet and easy to operate. */
.bow-entry{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:var(--weak);border-radius:20px;padding:18px;margin:4px 0 18px;flex-shrink:0}
.bow-entry img{width:64px;height:64px;object-fit:contain}.bow-entry>span:nth-child(2){flex:1}.bow-entry b{display:block;font-size:24px;font-weight:700}.bow-entry small{display:none}.bow-entry .chevron{flex-shrink:0}
.meditation-view{overflow-y:auto;overscroll-behavior:contain}.meditation-view>*{flex-shrink:0}.meditation-view .section-heading{margin-bottom:20px}.meditation-view .med-feature{padding:20px}.meditation-view .feature-content{padding:20px 0}.meditation-view .list-title{margin-top:22px}.meditation-view .course{min-height:70px;padding:14px 0}.meditation-view .course-list{margin-top:6px}.meditation-view .med-footer{padding-top:16px}
.app-shell:has(.bows-page){grid-template-rows:minmax(0,1fr);background:#fffdfb}.app-shell:has(.bows-page) .topbar,.app-shell:has(.bows-page) #mobile-nav{display:none}.app-shell:has(.bows-page) main{padding:12px 24px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}
.bows-page{display:flex;flex-direction:column;flex:1;min-height:0}.bows-page h1:focus{outline:none}.bows-page .primary,.bows-page .secondary{min-height:68px;font-size:22px;border-radius:20px}.bows-page .text-button{font-size:18px;min-height:52px}.bow-header{flex-shrink:0;min-height:52px;display:flex;align-items:center}.bow-header .text-button{padding-left:0;color:#6b7684;font-weight:500}
.bow-setup-hero{flex:1;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 0}.bow-setup-hero h1{font-size:40px;letter-spacing:-1px}.bow-setup-hero img{width:240px;height:240px;object-fit:contain;margin-top:16px}.bow-resume-count{font-size:40px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums}.bow-resume-count span{font-size:24px;color:#8b7c74;font-weight:400}
#bow-options{flex-shrink:0}.bow-settings{margin:0 0 16px}.bow-settings summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;font-size:20px;font-weight:600;cursor:pointer;list-style:none}.bow-settings summary::-webkit-details-marker{display:none}.bow-settings summary:after{content:'+';font-size:26px;color:#8b7c74;font-weight:400}.bow-settings[open] summary:after{content:'−'}.bow-settings summary:focus-visible{outline:3px solid #b95048;outline-offset:3px;border-radius:8px}
.bow-field{border:0;padding:0;margin:16px 0 0;min-width:0}.bow-field legend{font-size:18px;font-weight:600;padding:0;margin-bottom:10px}.bow-options{display:flex;gap:4px;padding:4px;border-radius:16px;background:#f2f0ed}.bow-options label{position:relative;flex:1;min-width:0;margin:0;color:#79706c}.bow-options input{position:absolute;opacity:0;width:1px;height:1px}.bow-options span{min-height:54px;padding:12px 6px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:18px;cursor:pointer}.bow-options input:checked+span{background:#fff;color:var(--accent);font-weight:650}.bow-options input:focus-visible+span{outline:3px solid #b95048;outline-offset:2px}.bow-sound{display:flex;justify-content:space-between;align-items:center;min-height:64px;margin:12px 0 0;font-size:18px;color:#4e5968}.bow-sound input{accent-color:var(--accent);width:26px;height:26px}
.bow-actions{display:flex;gap:12px;margin-top:12px}.bow-actions>button{flex:1;min-width:0}.bow-confirm{text-align:center;font-size:20px;padding:12px 0}.bow-warning{font-size:16px;color:#914137;background:#fbefec;border-radius:12px;padding:12px;line-height:1.6;margin:8px 0}.bow-warning[hidden]{display:none}
.bow-session-body{flex:1;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 0}.bow-session-body h1{font-size:32px;letter-spacing:-.8px;word-break:keep-all}.bow-session-art{width:180px;height:180px;object-fit:contain;margin:28px 0 12px}.bow-count{font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.bow-count strong{font-size:112px;font-weight:650;letter-spacing:-5px;color:#633b34}.bow-count span{font-size:28px;color:#a18d82}.bow-session-controls{flex-shrink:0}.bow-session-controls [hidden]{display:none}.bow-session-controls .bow-add{min-height:80px;font-size:26px}.bow-adjust{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 6px;font-size:18px;color:#786f69}.bow-adjust select{font:inherit;color:var(--accent);background:var(--weak);border:0;border-radius:12px;min-height:52px;padding:10px 18px}.bow-adjust select:focus-visible{outline:3px solid #b95048;outline-offset:2px}
.bow-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bow-done{flex:1;min-height:340px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px 0}.bow-done img{width:240px;height:240px;object-fit:contain;margin-bottom:24px}.bow-done h1{font-size:32px;letter-spacing:-.8px}
@media(max-height:700px){.bow-setup-hero{min-height:240px;padding:12px 0}.bow-setup-hero img{width:180px;height:180px;margin-top:8px}.bow-session-body{min-height:300px;padding:16px 0}.bow-session-art{width:130px;height:130px;margin:16px 0 8px}.bow-count strong{font-size:96px}.bow-done img{width:180px;height:180px}}
@media(max-width:350px){.app-shell:has(.bows-page) main{padding-left:18px;padding-right:18px}.bow-options span{font-size:17px}.bow-session-body h1,.bow-done h1{font-size:28px}}
@media(max-height:600px){.bows-page{min-height:calc(100dvh - 48px)}}
