@charset "UTF-8";
:root{--bg:#f7f5ef;--paper:#fffefa;--ink:#353d32;--muted:#7b8074;--green:#3c513e;--gold:#a7834f;--line:#e5e5d9;--soft:#eceee5;--brown:#805b36;--scale:1;color-scheme:light;font-family:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;font-size:calc(16px * var(--scale));color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;opacity:.5}button{border:0}svg{display:block}h1,h2,h3,p{margin:0}h1{font-family:Georgia,"Batang",serif;font-size:2.05rem;letter-spacing:-.07em;line-height:1.45;font-weight:500}h2{font-size:1.15rem;letter-spacing:-.04em;font-weight:600}h3{font-size:1rem}small,.muted{color:var(--muted)}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;border-right:1px solid var(--line);padding:42px 25px 24px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:#faf9f5}.brand{display:flex;align-items:center;gap:11px;font-size:1.25rem;letter-spacing:-.06em;font-weight:600}.brand-mark{color:var(--gold);font-size:3rem;line-height:1}.brand small{font-size:.64rem;display:block;letter-spacing:.12em;margin-top:6px;font-weight:400}.side-caption{font-size:.69rem;color:#8f9285;margin:46px 12px 21px}.sidebar nav{display:grid;gap:9px}.sidebar nav a{display:flex;align-items:center;gap:17px;padding:15px 17px;border-radius:7px;color:#6c7266;font-size:.88rem}.sidebar nav a>span{font-size:1.25rem;width:22px;text-align:center;line-height:1}.sidebar nav a.active{background:#e8ebdf;color:var(--green);font-weight:600}.sidebar nav a:hover{background:#eeefe8}.side-bottom{margin-top:auto;padding:65px 12px 2px}.tiny-lotus{font-size:2rem;color:#aaa78e}.side-bottom p{font-family:Georgia,"Batang",serif;font-size:.82rem;line-height:1.9;color:#7c806f;margin-top:12px}.local-indicator{display:block;margin-top:36px;font-size:.63rem;color:#74836d}.workspace{margin-left:246px;width:calc(100% - 246px)}.topbar{height:90px;margin:0 56px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--muted)}.topbar>div{display:flex;align-items:center;gap:24px}.breadcrumb{color:#68755e}.mobile-brand{display:none}#connection-status{font-size:.66rem}#connection-status:before{content:'●';font-size:.45rem;margin-right:7px;color:#7e8d6f}main{max-width:1300px;margin:0 auto;padding:38px 56px 26px;min-height:calc(100vh - 160px)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--gold);font-size:.64rem;font-weight:600;margin-bottom:12px}.intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:29px}.intro p{font-size:.85rem;color:var(--muted);margin-top:10px;line-height:1.8}.intro .quiet-badge{font-size:.69rem;color:#7b866f;padding:9px 13px;border:1px solid #d9dfcd;border-radius:24px;margin-bottom:5px}.home-grid{display:grid;grid-template-columns:minmax(370px,1.43fr) minmax(260px,1fr);gap:22px}.card{background:var(--paper);border:1px solid var(--line);border-radius:13px}.practice-card{padding:27px 28px 26px;text-align:center;position:relative;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;text-align:left}.card-top .pill{background:#f2ede2;color:#8d7958;padding:6px 10px;font-size:.62rem;border-radius:20px}.card-kicker{font-size:.73rem;color:#78806d}.bead-wrap{position:relative;max-width:355px;aspect-ratio:1;margin:13px auto 9px}.bead-svg{width:100%;height:100%;overflow:visible}.bead{fill:url(#wood);stroke:#8f6742;stroke-width:.6;transition:fill .15s,opacity .15s}.bead.done{fill:#526548;stroke:#40533b}.bead.current{fill:#b79556;stroke:#8f6a35;stroke-width:1.5}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;padding-bottom:8px}.lotus{width:42px;height:33px;color:#b49c74;margin-bottom:13px}.count{font-family:Georgia,serif;font-size:3.6rem;line-height:1;font-weight:400;color:#394c35;font-variant-numeric:tabular-nums}.count .slash{font-family:system-ui,sans-serif;font-size:1.2rem;color:#a6ac9e;margin:0 8px}.count .goal{font-size:1.5rem;color:#879078}.counter-caption{font-size:.68rem;margin-top:13px;color:#949780}.practice-name{font-family:"Batang",Georgia,serif;font-size:1.32rem;letter-spacing:.02em;margin-bottom:8px}.practice-description{font-size:.74rem;color:var(--muted);line-height:1.8}.primary,.secondary,.text-button,.danger,.chip{min-height:46px;padding:12px 20px;border-radius:7px;font-size:.85rem}.primary{background:var(--green);color:#fff}.primary:hover{background:#2d422f}.secondary{background:#f2f2e9;color:#56614c;border:1px solid #e1e3d5}.text-button{background:transparent;color:#6b785e;padding:9px 3px;min-height:42px;font-size:.74rem}.danger{background:#f8eee7;color:#89553d}.full{width:100%}.start-button{margin-top:23px;display:flex;align-items:center;justify-content:center;gap:12px;min-height:53px}.practice-card .under-note{margin-top:13px;font-size:.64rem;color:#949889}.right-column{display:grid;gap:20px;align-content:start}.stats-card{padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.section-title small{font-size:.67rem}.stat-row{display:grid;grid-template-columns:1fr 1fr 1fr}.stat{text-align:center;padding:0 7px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font-family:Georgia,serif;font-size:1.65rem;font-weight:400;color:#4e6046}.stat strong small{font-size:.68rem;margin-left:3px;color:#7e8875}.stat>span{font-size:.66rem;color:#888e7c;display:block;margin-top:8px}.empty-today{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:flex;gap:13px;align-items:center}.empty-today>span{font-size:1.3rem;color:#a3ad92}.empty-today p{font-size:.74rem;line-height:1.8;color:#6e7864}.empty-today small{font-size:.66rem}.quote-card{background:#ecefe5;padding:27px 25px;border-radius:12px;position:relative;min-height:151px;overflow:hidden}.quote-card .eyebrow{color:#8a927b;font-size:.58rem}.quote-card blockquote{font-family:"Batang",Georgia,serif;font-size:.97rem;line-height:1.9;margin:0;color:#637255;position:relative;z-index:1}.quote-plant{position:absolute;width:100px;height:130px;right:5px;bottom:-18px;color:#ccd4bc;transform:rotate(-14deg)}.quick-card{padding:21px 24px}.quick-card p{font-size:.71rem;line-height:1.8;color:var(--muted);margin-top:9px}.quick-card>a{display:flex;align-items:center;justify-content:space-between;font-size:.82rem}.quick-card>a>span:last-child{color:#8d987d}.bottom-note{display:flex;justify-content:center;gap:10px;align-items:center;margin-top:25px;color:#969b8b;font-size:.68rem}.page-footer{max-width:1188px;margin:0 auto;padding:20px 56px 25px;display:flex;align-items:center;gap:12px;font-size:.61rem;color:#a0a592}.page-footer span:first-child{letter-spacing:.18em}.page-footer span:last-child{margin-left:auto}.page-head{margin-bottom:30px}.page-head p{color:var(--muted);font-size:.85rem;line-height:1.8;margin-top:10px}.panel{padding:28px}.form-label{display:block;font-size:.85rem;margin:22px 0 10px;font-weight:600}.form-label:first-child{margin-top:0}input,select{border:1px solid #d5d9ca;background:var(--paper);padding:13px 14px;border-radius:7px;color:var(--ink);min-height:49px;max-width:100%}select{width:100%}.target-options{display:flex;flex-wrap:wrap;gap:10px}.chip{background:#f1f1e9;border:1px solid #e0e3d5;color:#68745b;min-width:75px}.chip.selected{background:#e8eddf;border-color:#78906b;color:#354e31}.target-custom{display:flex;gap:10px;align-items:center;margin-top:15px}.target-custom input{width:180px}.setup-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(260px,.8fr);gap:24px;align-items:start}.setup-summary{background:#edeedc;padding:28px;line-height:1.9;font-size:.8rem;color:#69775a;border-radius:12px}.setup-summary h2{margin-bottom:15px}.setup-summary ul{padding-left:18px}.session-panel{max-width:690px;margin:auto;text-align:center}.session-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.session-top h1{font-size:1.5rem}.status-pill{color:#698059;background:#e9efdf;padding:8px 12px;border-radius:20px;font-size:.7rem}.status-pill.paused{background:#f3eadb;color:#8c744a}.touch-counter{display:block;width:100%;padding:12px 15px 19px;background:var(--paper);color:inherit;border:1px solid var(--line);border-radius:15px;user-select:none;-webkit-user-select:none;touch-action:manipulation}.touch-counter .bead-wrap{max-width:370px;margin:0 auto}.touch-hint{font-size:.84rem;color:#647655}.touch-sub{font-size:.7rem;color:var(--muted);margin-top:10px}.session-info{display:flex;justify-content:space-between;margin:19px 3px;color:#7a846f;font-size:.76rem}.session-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.paused-message{background:#f1ecdd;padding:12px;border-radius:8px;margin-top:13px;font-size:.78rem;color:#8b754e}.completed-banner{padding:24px;margin-top:18px;background:#edf0e3;border-radius:12px}.completed-banner h2{color:#526548;margin-bottom:9px}.completed-banner p{font-size:.84rem;color:#7a836c;line-height:1.8}.button-row{display:flex;gap:12px;margin-top:21px}.button-row>*{flex:1}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:23px}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.item-card{padding:23px;display:flex;flex-direction:column;gap:12px;align-items:start}.item-card .category{font-size:.65rem;color:#93947d;letter-spacing:.08em}.item-card h2{font-family:"Batang",Georgia,serif;font-weight:500}.item-card p{font-size:.76rem;line-height:1.8;color:var(--muted)}.item-card .item-footer{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto}.item-footer small{font-size:.68rem}.item-footer button{min-height:40px;padding:8px 13px;font-size:.75rem}.add-item{margin-bottom:25px;display:flex;justify-content:space-between;align-items:center;gap:18px}.add-item p{font-size:.77rem;line-height:1.8;color:var(--muted);margin-top:7px}.record-tabs{margin-bottom:20px}.record-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.records-stats{margin-bottom:24px;padding:26px}.record-row{display:flex;align-items:center;gap:20px;padding:20px 23px;border-bottom:1px solid var(--line)}.record-row:last-child{border-bottom:0}.record-icon{font-size:1.4rem;color:var(--gold)}.record-details{flex:1}.record-details h3{font-size:.87rem;margin-bottom:8px}.record-details p{font-size:.69rem;color:var(--muted);line-height:1.8}.record-total{text-align:right;font-size:1.1rem;color:#526548}.record-total small{display:block;font-size:.65rem;color:var(--muted);margin-top:8px}.empty-state{padding:48px 25px;text-align:center;color:#8d947f;font-size:.84rem;line-height:2}.empty-symbol{font-size:2rem;color:#aab398;margin-bottom:12px}.record-day{padding:15px 22px;background:#f0f1e8;color:#77836a;font-size:.75rem}.month-note{font-size:.83rem;line-height:1.9;color:#6d7a60;margin-bottom:22px}.settings-section{margin-bottom:25px}.settings-section h2{padding:0 0 18px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line);padding:21px 0}.setting-row:last-child{border:0}.setting-row h3{font-size:.87rem;font-weight:500;line-height:1.6}.setting-row p{font-size:.72rem;color:var(--muted);line-height:1.8;margin-top:7px;max-width:560px}.setting-row select{width:auto}.switch{width:48px;height:28px;min-width:48px;border-radius:20px;background:#d8ddcf;position:relative;padding:0}.switch:after{content:'';position:absolute;left:4px;top:4px;border-radius:50%;height:20px;width:20px;background:#fff;transition:transform .15s}.switch[aria-checked=true]{background:#617a51}.switch[aria-checked=true]:after{transform:translateX(20px)}.notice{background:#eeefe6;padding:17px 20px;font-size:.74rem;color:#778268;line-height:1.9;border-radius:9px;margin-top:20px}.device-panel{text-align:center;padding:38px;max-width:650px;margin:auto}.device-symbol{font-size:3.5rem;color:#9aa78b;margin-bottom:15px}.device-panel h2{margin:20px 0 10px}.device-panel p{font-size:.82rem;line-height:1.9;color:var(--muted)}.device-status{display:inline-block;background:#f0f1e9;padding:8px 15px;border-radius:20px;font-size:.75rem;margin-bottom:21px;color:#859175}.device-specs{text-align:left;margin:28px 0 0;padding-top:8px;border-top:1px solid var(--line)}.device-specs>div{display:flex;justify-content:space-between;font-size:.8rem;margin:18px 0;color:#78856b}.device-specs span:last-child{color:#9b9f91}dialog{border:1px solid var(--line);border-radius:15px;padding:30px;max-width:calc(100% - 30px);width:470px;background:var(--paper);color:var(--ink);box-shadow:0 15px 80px #26391b26}dialog::backdrop{background:#26301f66}dialog h2{font-size:1.2rem;margin-bottom:15px}dialog p{font-size:.84rem;color:var(--muted);line-height:1.9}dialog input,dialog select{width:100%}.dialog-close{float:right;background:transparent;color:var(--muted);font-size:1.4rem;padding:0 0 10px 15px}.form-error{color:#a3593e;line-height:1.7;font-size:.77rem;min-height:22px;margin-top:10px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);border-radius:8px;background:#34482f;color:white;padding:13px 22px;font-size:.8rem;z-index:20;display:none;max-width:calc(100% - 30px);line-height:1.7}#toast.show{display:block}.mobile-nav{display:none}.loading{padding:70px;text-align:center;color:var(--muted)}.error-panel{padding:30px;line-height:2;color:#8d553e}.install-note{font-size:.75rem;line-height:1.9;margin:15px 0;color:var(--muted)}.settings-links{display:flex;gap:15px;flex-wrap:wrap}.text-link{text-decoration:underline;text-underline-offset:4px;color:#536d46;font-size:.8rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){main{padding-top:46px}.bead-wrap{max-width:370px}.practice-card{padding-top:30px}.quote-card{min-height:177px;padding:30px}.quote-card blockquote{font-size:1.1rem}}
@media(max-width:1150px){.sidebar{width:208px;padding-left:18px;padding-right:18px}.workspace{margin-left:208px;width:calc(100% - 208px)}main{padding:32px}.topbar{margin:0 32px}.home-grid{gap:17px;grid-template-columns:1.2fr 1fr}.practice-card{padding:23px 20px}.stats-card{padding:23px 18px}.stat strong{font-size:1.4rem}.quote-card{padding:23px 19px}.page-footer{padding:20px 32px}.intro .quiet-badge{display:none}}
@media(max-width:850px){.sidebar{width:180px;padding:30px 14px}.brand{font-size:1.04rem;gap:7px}.brand-mark{font-size:2.5rem}.brand small{font-size:.53rem}.sidebar nav a{padding:14px 12px;gap:12px;font-size:.79rem}.workspace{margin-left:180px;width:calc(100% - 180px)}.home-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.stats-card{grid-column:1/-1}.quote-card blockquote{font-size:.85rem}.setup-layout{grid-template-columns:1fr}.setup-summary{display:none}.topbar>div{gap:15px}.topbar #connection-status{display:none}.library-grid{grid-template-columns:1fr}}
@media(max-width:620px){.sidebar{display:none}.workspace{margin:0;width:100%}.topbar{height:67px;margin:0 22px;font-size:.65rem}.breadcrumb{display:none}.mobile-brand{display:block;font-size:1.08rem;color:#4c5b42;font-weight:600;letter-spacing:-.05em}.topbar #connection-status{display:none}main{padding:27px 19px 20px;min-height:calc(100dvh - 190px)}h1{font-size:1.75rem}.intro{margin-bottom:23px}.intro p{font-size:.78rem}.eyebrow{font-size:.6rem}.home-grid{gap:18px}.practice-card{padding:22px 22px 24px}.bead-wrap{max-width:315px;margin-top:11px;margin-bottom:4px}.right-column{gap:15px}.quote-card{grid-column:1/-1;padding:23px;min-height:145px}.quote-card blockquote{font-size:1rem}.quick-card{grid-column:1/-1}.bottom-note{font-size:.65rem;margin-top:21px}.page-footer{padding:8px 22px 100px;font-size:.55rem}.page-footer span:last-child{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);background:#fdfcf7f5;border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0;padding:9px 8px calc(9px + env(safe-area-inset-bottom));z-index:10;backdrop-filter:blur(12px)}.mobile-nav a{text-align:center;color:#929987;font-size:1.25rem;line-height:1.2;padding:5px 1px}.mobile-nav a span{display:block;font-size:.61rem;margin-top:6px}.mobile-nav a.active{color:#3e5833;font-weight:600}.panel{padding:23px 20px}.session-top h1{font-size:1.3rem}.session-controls{gap:9px}.session-controls button{padding:13px 6px;font-size:.79rem}.session-top{margin-bottom:17px}.touch-counter .bead-wrap{max-width:335px}.touch-counter{padding:6px 9px 25px}.count{font-size:3.6rem}.session-info{font-size:.7rem}.session-panel .session-controls .primary{min-height:51px}.page-head p{font-size:.78rem}.add-item{align-items:start}.add-item button{white-space:nowrap;padding:12px;font-size:.73rem}.add-item p{font-size:.7rem}.record-toolbar{align-items:start;flex-direction:column}.record-toolbar input{width:100%}.record-tabs{margin-bottom:0}.record-row{padding:19px 17px;gap:13px}.record-total{font-size:.95rem}.record-details h3{font-size:.81rem}.record-details p{font-size:.64rem}.setting-row{gap:15px}.setting-row p{font-size:.67rem}.setting-row h3{font-size:.8rem}.setting-row select{max-width:125px}.device-panel{padding:27px 20px}dialog{padding:25px 22px}#toast{bottom:93px;width:max-content;max-width:calc(100% - 30px);text-align:center}.loading{padding:50px 15px}.page-footer{line-height:1.9}.full{min-height:51px}}
.reading-entry{display:flex;align-items:center;gap:21px;padding:24px;margin:10px 0 25px}.reading-entry-symbol{font-size:2rem;color:var(--gold)}.reading-entry strong{font-size:1.02rem;font-weight:600}.reading-entry small{display:block;font-size:.75rem;margin-top:10px}.reading-entry>span:last-child{margin-left:auto;color:#789067}.reading-search-panel{margin:18px 0 27px}.reading-search-panel>label{font-size:.85rem;font-weight:600;display:block;margin-bottom:13px}.reading-search-panel input{width:100%}.reading-filter{margin:20px 0 0}.recent-readings{margin:27px 0}.recent-readings h2{font-size:.91rem;margin-bottom:16px}.recent-readings>div{display:flex;gap:10px;flex-wrap:wrap}.recent-readings a{padding:11px 15px;background:#ebeede;border-radius:7px;color:#64765a;font-size:.75rem;line-height:1.6}.recent-readings a span{margin-left:12px}.result-count{font-size:.73rem;color:#8b937e;margin:22px 0 18px}.reader{max-width:880px;margin:auto}.reader-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}.reader-heading{padding:0 4px 27px}.reader-heading h1{font-size:1.85rem;line-height:1.7}.reader-heading p{color:var(--muted);line-height:1.9;font-size:.82rem;margin-top:8px}.reader-paper{padding:30px 35px}.reader-tools{display:flex;align-items:start;justify-content:space-between;gap:17px;border-bottom:1px solid var(--line);padding-bottom:22px}.reader-tools .filter-row{margin:0;gap:7px}.reader-tools .chip{font-size:.72rem;min-width:0;min-height:42px;padding:10px 14px}.reader-font{display:flex;gap:7px;flex-shrink:0}.reader-font button{font-size:.81rem;min-width:39px;min-height:42px;padding:8px}.reading-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.15;font-family:"Batang","Noto Serif CJK KR",Georgia,serif;padding:34px 2px 40px;color:#424a3b;min-height:220px}.reader-audio{border-top:1px solid var(--line);padding-top:24px}.audio-buttons{display:flex;gap:10px}.audio-buttons button{flex:1}.reading-options{display:flex;gap:22px;margin-top:21px;flex-wrap:wrap}.reading-options label{font-size:.77rem;display:flex;align-items:center;gap:8px;color:#6b7a5e}.reading-options input{accent-color:#556e45;min-height:22px;height:22px;width:22px;padding:0;margin:0}.reader-start{padding:24px 0}.reading-source{padding:7px 3px 15px;font-size:.7rem;line-height:1.9;color:#8b927e}.reading-source h2{font-size:.79rem;font-weight:500;margin-bottom:12px}.reading-source p{margin:9px 0}.reading-source .text-link{font-size:.7rem}.related-reading{display:block;width:100%;margin-top:17px}.related-list{display:grid;gap:11px;margin-top:22px;max-height:60dvh;overflow-y:auto}.related-list a{padding:15px;border:1px solid var(--line);border-radius:8px;background:#f7f7ee}.related-list strong{display:block;font-size:.88rem;font-weight:500}.related-list small{display:block;font-size:.71rem;margin-top:9px;line-height:1.8}.related-list a>span{display:block;font-size:.7rem;color:#708263;margin-top:10px}.reader-practice-state{display:flex;gap:15px;align-items:center;flex-wrap:wrap;background:#e9eddf;border:1px solid #dbe1ce;padding:14px 18px;border-radius:8px;margin-bottom:20px;font-size:.75rem;color:#6b7d59}.reader-practice-state>span{margin-left:auto}.reader-practice-state strong{color:#455d35}
@media(max-width:620px){.reader-paper{padding:22px 20px}.reader-tools{flex-direction:column;gap:17px}.reader-heading{padding-bottom:21px}.reader-heading h1{font-size:1.6rem}.reader-heading p{font-size:.76rem}.reader-top{margin-bottom:17px}.reader-top button,.reader-top a{font-size:.71rem}.reading-body{line-height:2.1;padding:29px 0 33px}.audio-buttons{gap:7px}.audio-buttons button{padding:13px 7px;font-size:.77rem}.reading-options{gap:18px}.reading-options label{font-size:.72rem}.reading-entry{gap:15px;padding:22px 18px}.reading-entry small{font-size:.66rem}.reading-search-panel{padding:22px 19px}.reading-filter{gap:8px}.reading-filter .chip{min-width:0;padding:10px 13px;font-size:.75rem}.reader-practice-state{font-size:.68rem;gap:10px}.reader-paper .install-note{font-size:.66rem}}
[hidden]{display:none!important}
.touch-counter:disabled{opacity:1;cursor:default}
@media(max-width:620px) and (max-height:700px){body[data-route="practice"] main{padding-top:16px}.session-top{margin-bottom:12px}.session-top .eyebrow{display:none}.session-top h1{font-size:1.2rem}.session-panel .touch-counter .bead-wrap{max-width:195px}.session-panel .touch-counter .count{font-size:2.6rem}.session-panel .touch-counter .count .goal{font-size:1.15rem}.session-panel .touch-counter .count .slash{font-size:1rem;margin:0 5px}.session-panel .touch-counter .lotus{width:28px;height:23px;margin-bottom:8px}.session-panel .touch-counter .counter-caption{font-size:.52rem;margin-top:8px}.session-panel .touch-counter{padding-bottom:15px}.session-panel .touch-hint{font-size:.73rem}.session-panel .touch-sub{font-size:.63rem;margin-top:7px}.session-info{margin:13px 3px;font-size:.66rem}.related-reading{margin-top:12px}}
.bead-number,.bead-check{text-anchor:middle;fill:#fff9ed;font-family:system-ui,sans-serif;font-weight:650;pointer-events:none}.bead-check{font-size:13px}.bead{stroke-width:1.2}.bead.done{fill:#526c49;stroke:#30482b}.bead.current{fill:#ffe8a1;stroke:#b97916;stroke-width:3}.current .bead-number{fill:#59380c}.bead-halo{fill:#f8d16b55;stroke:#e6b84f;stroke-width:1.5;filter:drop-shadow(0 0 5px #e8b539);animation:bead-glow 1.8s ease-in-out infinite}.recitation-label{font-size:.64rem;color:#77816c;margin-bottom:7px}.bead-phrase{display:block;max-width:57%;font-size:1.16rem;line-height:1.45;margin-bottom:15px;word-break:keep-all;color:#425a36}.recitation-guide{margin-top:21px;padding:20px 23px;text-align:left;background:#f1f2e8;border:1px solid var(--line);border-radius:12px}.recitation-guide h2{font-size:.9rem;margin-bottom:12px}.recitation-guide p{font-size:.8rem;line-height:1.8;color:#59694f}.recitation-guide .recitation-text{font-size:1.16rem;line-height:1.8;white-space:pre-wrap;color:#354b2b;margin-bottom:12px}.recitation-guide .recitation-note{font-size:.7rem;margin-top:10px;color:#77816c}.bead-legend{display:flex;flex-wrap:wrap;gap:7px 15px;font-size:.7rem;color:#657452;margin-top:15px}.bead-legend span:last-child{color:#926415}.count.long-count{font-size:2.4rem}.count.long-count .goal{font-size:1rem}textarea{font:inherit;width:100%;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);resize:vertical}
#app-update{position:fixed;inset:12px 12px auto auto;z-index:30;max-width:calc(100% - 24px);width:460px;background:#fffbed;border:1px solid #c7a252;padding:15px;border-radius:12px;box-shadow:0 4px 20px #33442222;display:flex;align-items:center;gap:12px;font-size:.85rem;line-height:1.6}#app-update button{white-space:nowrap;flex-shrink:0}.update-page{max-width:660px;margin:50px auto;padding:25px}.update-page p{line-height:1.9;margin:20px 0}
.related-reading-disclosure{text-align:left;margin-top:16px}.related-reading-disclosure summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;margin-top:0}.related-reading-disclosure summary::-webkit-details-marker{display:none}.disclosure-arrow{transition:transform .15s}.related-reading-disclosure[open] .disclosure-arrow{transform:rotate(180deg)}.related-reading-content{padding:18px 16px;background:#f2f3ea;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}.related-reading-content>p{font-size:.74rem;color:var(--muted);line-height:1.8}
.bead-wrap{aspect-ratio:360/460}.ring-center{inset:0 0 auto;height:78.26087%}.gold-string{filter:drop-shadow(0 1px 1px #a8792b44)}.buddha-pendant{filter:drop-shadow(0 2px 2px #8b5c1933)}
@media(max-width:620px) and (max-height:700px){body[data-route="practice"] .topbar{height:43px}body[data-route="practice"] main{padding-top:9px}.session-top{margin-bottom:7px}.session-panel .touch-counter{padding-top:2px;padding-bottom:7px}.session-panel .session-info{margin:7px 3px}.session-panel .touch-sub{margin-top:5px}}
@keyframes bead-glow{0%,100%{opacity:.65}50%{opacity:1;stroke-width:3}}
@media(max-width:620px) and (max-height:700px){.session-panel .touch-counter .bead-wrap{max-width:215px}.session-panel .bead-phrase{font-size:.85rem;margin-bottom:9px;max-width:57%}.session-panel .recitation-label{font-size:.55rem;margin-bottom:4px}.session-panel .touch-counter .count{font-size:2.15rem}.session-panel .touch-counter .counter-caption{margin-top:8px}.session-panel .touch-counter .count.long-count{font-size:1.6rem}.session-panel .touch-counter .count.long-count .goal{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
