:root{font-family:Arial,Helvetica,system-ui,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;font-size:14px;--border:var(--border);--blue:#2277f5;--red:#d63737;--green:#159b45;--muted:var(--muted)}*{box-sizing:border-box}body{margin:0}#app{min-height:100dvh;display:flex;flex-direction:column}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #558cdd;outline-offset:2px}a{color:#2367bb;text-decoration:none}input,select,textarea{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:8px}input:focus,textarea:focus,select:focus{outline:2px solid #7aa8ed;outline-offset:-1px}textarea{resize:vertical;line-height:1.45}p{line-height:1.6;margin:12px 0}h1{font-size:24px;font-weight:600;margin:0 0 22px}h2{font-size:20px;font-weight:500;margin:0 25px 22px 0}h3{font-size:13px;margin:20px 0 8px}.top{position:relative;display:flex;align-items:flex-start;justify-content:center;min-height:64px;padding:0 18px;gap:10px;flex-shrink:0}.brand{position:absolute;left:25px;top:15px;font-size:20px;font-weight:700;letter-spacing:-1px;color:var(--muted)}.top nav{display:flex;justify-content:center;background:var(--surface);border:1px solid var(--border);border-top:0;border-radius:0 0 13px 13px;padding:0 7px;box-shadow:0 1px 1px #00000012;max-width:100%}.nav{border:0;background:none;white-space:nowrap;font-weight:600;padding:14px 13px;font-size:14px}.nav:hover,.nav.active{background:var(--hover)}.nav.active{color:var(--text)}.settings-button{position:absolute;right:24px;top:8px}.icon-btn{background:none;border:0;border-radius:4px;padding:8px;font-size:16px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(var(--surface),#f5f5f5);border:1px solid var(--border);border-radius:5px;padding:7px 16px;min-height:34px;line-height:1.3;color:var(--text);font-size:13px;text-align:center;box-shadow:0 1px 1px #00000005}.button:hover{background:var(--hover)}.button:active{background:var(--border)}.button.primary{background:var(--surface);border-color:#779bc9;box-shadow:0 0 0 1px #719cce30;color:var(--text)}.button.primary:hover{background:#e9f2ff}.button.danger{background:#fff3f3;border-color:#d89d9d;color:#a42222}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.text-button{background:none;border:0;padding:7px;color:var(--muted);font-size:12px}.text-button:hover{color:#176bcd;text-decoration:underline}main{width:100%;max-width:1000px;margin:0 auto;flex:1;padding:25px 30px 105px}.decks-main{max-width:900px;padding-top:38px}.deck-panel{border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:14px 16px 16px;box-shadow:0 1px 1px #00000012}.deck-head,.deck-row{display:grid;grid-template-columns:minmax(160px,1fr) 80px 90px 100px 34px;align-items:center}.deck-head{height:33px;border-bottom:1px solid var(--border);margin-bottom:7px;font-size:13px;font-weight:600;text-align:center}.deck-head>span:first-child{text-align:left;padding-left:3px}.deck-row{min-height:37px;border-radius:14px}.deck-title{display:flex;align-items:center;padding-left:calc(var(--depth)*19px);min-width:0;overflow:hidden}.collapse{width:20px;min-width:20px;height:29px;background:none;border:0;padding:0;color:var(--text);font-size:16px}.collapse-placeholder{width:20px;min-width:20px}.deck-name{padding:9px 4px;border:0;background:none;color:var(--text);text-align:left;line-height:1.4;overflow-wrap:anywhere;min-width:0}.count-cell{text-align:center;font-size:14px}.zero{color:var(--border)}.gear{padding:4px;font-size:18px}.studied-today{text-align:center;margin-top:42px;font-size:13px;color:var(--text)}.studied-today strong{font-weight:400}.bottom-bar{position:fixed;bottom:27px;left:0;right:0;background:var(--bg);border-top:1px solid var(--border);padding:14px 22px;z-index:10;min-height:63px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.deck-bottom-actions,.overview-bottom{display:flex;justify-content:center;align-items:center;gap:12px}.deck-bottom-actions .button{min-width:125px}footer{min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 20px;border-top:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:10px;position:fixed;bottom:0;left:0;right:0;z-index:11}footer button{font-size:10px;border:0;padding:0;background:none;color:var(--muted);text-decoration:underline;cursor:pointer}.overview-main{padding-top:38px}.deck-overview{max-width:650px;margin:0 auto;text-align:center;padding:15px 20px}.deck-overview h1{font-size:25px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}.deck-description{font-size:13px;color:var(--muted);white-space:pre-wrap;margin:0 auto 25px;max-width:480px}.overview-counts{margin:28px auto 20px;width:225px;font-size:16px}.overview-counts>div{display:flex;gap:30px;align-items:center;justify-content:space-between;line-height:1.9}.overview-counts dt{font-weight:400}.overview-counts dd{margin:0;font-weight:500;min-width:30px;text-align:right}.study-now{padding:9px 35px;font-size:15px}.overview-total{margin-top:35px;font-size:11px;color:var(--muted)}.done-message{font-size:16px}.next-due{font-size:12px;color:var(--muted)}.empty{text-align:center;padding:40px 16px;color:var(--muted);font-size:13px}.empty p{font-size:13px}.review-main{max-width:1050px;padding:12px 30px 150px}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:11px;margin:0 0 25px}.review-heading .text-button{color:var(--muted);text-align:left}.review-card{max-width:800px;min-height:280px;margin:20px auto 0;padding:25px 20px;background:var(--bg)}.review-bottom{display:grid;grid-template-columns:120px minmax(0,560px) 120px;justify-content:space-between;align-items:end;gap:16px;padding:15px 25px 16px;min-height:95px}.review-side{display:flex;align-items:center;padding-bottom:0}.review-side.right{justify-content:flex-end}.review-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.review-counts{font-size:15px;color:var(--muted);margin:0 0 11px;word-spacing:3px}.reveal{min-width:170px;padding:8px 20px}.ratings{display:flex;align-items:flex-end;justify-content:center;gap:10px;max-width:100%;width:100%}.rating-option{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:105px;min-width:0}.interval{font-size:12px;white-space:nowrap}.rating{min-width:0;width:100%;padding:8px 10px}.rating.red,.rating.green,.rating.blue,.rating.orange{color:var(--text)}.rating[data-rating="3"]{border-color:#668fbd;box-shadow:0 0 0 1px #668fbd35}.orange{color:#ad6d15}.complete{max-width:600px;text-align:center;margin:70px auto 0}.complete h1{font-size:24px;font-weight:500}.complete p{font-size:13px}.complete .text-button{display:block;margin:15px auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:12px 0 25px}.page-title h1{margin:0 0 8px}.page-title p{font-size:12px;color:var(--muted);margin:0}.eyebrow{display:none}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.stat-card{display:flex;flex-direction:column;gap:12px;background:var(--surface);padding:25px;border:1px solid var(--border);border-radius:7px}.stat-card strong{font-size:29px;font-weight:400;color:#3979bc}.stat-card span{font-size:11px;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:25px;margin-bottom:20px}.panel h2{font-size:17px;font-weight:500;margin-bottom:14px}.panel p{font-size:12px;color:var(--muted)}.quiet{font-size:11px;color:var(--muted)}.calendar{display:grid;grid-template-columns:repeat(14,1fr);gap:7px;margin:20px 0}.day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--hover);border-radius:4px;min-height:60px;font-size:11px;color:var(--muted)}.day strong{font-weight:400}.day.level1{background:#d9e9fb}.day.level2{background:#b5d1ef}.day.level3{background:#76a8d6}.day.level4{background:#3577b1;color:#fff}dialog{border:1px solid var(--border);border-radius:8px;width:calc(100% - 32px);max-width:490px;padding:28px;background:var(--bg);color:var(--text);box-shadow:0 16px 70px #00000030;max-height:90dvh;overflow:auto}dialog.wide-dialog{max-width:680px}dialog::backdrop{background:#00000038}.dialog-close{position:absolute;right:9px;top:7px;font-size:23px;padding:2px 8px}dialog p{font-size:13px;line-height:1.6}form{display:flex;flex-direction:column;gap:15px}form>label{font-size:12px}form>label>input,form>label>textarea{display:block;width:100%;margin-top:7px}.form-hint{font-size:11px!important;color:var(--muted);margin:0 0 14px!important;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:12px}.menu-actions{display:flex;flex-direction:column;gap:6px}.menu-item{border:0;background:none;padding:10px 12px;text-align:left;font-size:13px;border-radius:4px}.menu-item:hover{background:var(--selected)}.text-danger{color:#b32f2f}.settings-list{margin:20px 0;font-size:13px}.settings-list>div{display:flex;justify-content:space-between;gap:25px;padding:11px 0;border-bottom:1px solid var(--border)}.settings-list dd{margin:0;text-align:right;max-width:60%;overflow-wrap:anywhere}.settings-list dt{color:var(--muted)}.file-zone{display:flex;align-items:center;flex-direction:column;gap:10px;border:1px dashed var(--border);background:var(--surface);border-radius:5px;padding:20px;margin:20px 0;font-size:22px}.file-zone strong{font-size:14px}.file-zone span{font-size:11px;color:var(--muted)}.file-zone input{max-width:100%;font-size:12px;padding:8px}.editor-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0;font-size:12px;align-items:center}.type-label,.editor-selectors label{display:flex;align-items:center;gap:8px;min-width:0}.type-value{border:1px solid var(--border);background:var(--surface);padding:8px;flex:1;min-width:0;text-align:center;border-radius:4px}.editor-selectors select{flex:1;min-width:0;width:100%;font-size:12px}.editor-toolbar{display:flex;align-items:center;gap:3px;border-bottom:1px solid var(--border);padding-bottom:8px}.format-btn,.attachment-button{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:3px;font-size:14px;width:30px;height:28px;padding:3px;cursor:pointer;position:relative;overflow:hidden}.format-btn:hover,.attachment-button:hover{background:var(--selected)}.toolbar-separator{display:inline-block;width:1px;height:22px;background:var(--border);margin:0 4px}.attachment-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;font-size:0}.attachment-names{font-size:10px;color:var(--muted);margin-left:8px;max-width:230px;overflow-wrap:anywhere}.field-label{display:block;color:var(--muted);font-size:12px!important}.field-label textarea{width:100%;min-height:80px;background:var(--surface);color:var(--text);padding:10px;margin-top:7px}.tags-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px!important}.tags-label input{margin-top:0;flex:1;min-width:0}.editor-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:14px;margin-top:8px}.editor-status{color:#6c7e90;font-size:11px}.editor-bottom .button{min-width:85px}.browse-main{max-width:1350px;padding:15px 25px 60px}.browser-search{display:flex;align-items:center;gap:10px;margin-bottom:15px}.browser-search input{flex:1;min-width:0;font-size:13px}.browser-search label{font-size:13px}.browser-layout{display:grid;grid-template-columns:205px minmax(0,1fr);border:1px solid var(--border);border-radius:5px;overflow:hidden;min-height:620px;background:var(--surface)}.browser-sidebar{border-right:1px solid var(--border);padding:13px 7px;background:var(--hover);overflow:auto;max-height:calc(100dvh - 190px)}.sidebar-item{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;line-height:1.4;border:0;border-radius:3px;background:none;font-size:12px;padding:7px 8px 7px calc(8px + var(--depth,0)*12px);overflow-wrap:anywhere}.sidebar-item span{color:var(--muted);font-size:10px}.sidebar-item:hover,.sidebar-item.active{background:var(--selected)}.browser-sidebar h3{font-size:11px;color:var(--muted);font-weight:600;padding-left:8px;margin:17px 0 6px}.browser-content{min-width:0}.browser-table{max-height:270px;min-height:100px;overflow:auto;background:var(--surface);border-bottom:1px solid var(--border)}.browser-table-head,.browser-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,.6fr) 140px;align-items:center;gap:12px;padding:7px 13px;font-size:12px;min-height:34px}.browser-table-head{position:sticky;top:0;background:var(--hover);color:var(--text);z-index:1;border-bottom:1px solid var(--border);font-size:11px}.browser-row{width:100%;background:var(--surface);text-align:left;border:0;border-bottom:1px solid #f2f2f2}.browser-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.browser-row.selected,.browser-row:hover{background:var(--selected)}.browser-row.is-suspended{color:#a98543}.browser-summary{font-size:11px;color:var(--muted);padding:8px 15px;margin:0;border-bottom:1px solid var(--border)}.browser-editor{padding:18px}.browser-editor .editor-bottom{margin-top:0}.mobile-browser-filters{display:none}.preview-card{background:var(--surface);padding:25px 15px;margin:20px 0;min-height:200px}.muted{color:var(--muted)}.count{font-size:13px;color:var(--muted);margin-left:10px;font-weight:400}#toast{position:fixed;bottom:120px;left:50%;transform:translate(-50%) translateY(12px);opacity:0;pointer-events:none;max-width:calc(100% - 32px);width:max-content;background:var(--text);color:var(--surface);border-radius:6px;padding:12px 18px;font-size:12px;line-height:1.6;box-shadow:0 4px 25px #0002;z-index:100;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%)}#toast.error{background:#9f3333}.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}@media(max-width:1000px){.brand{left:15px;font-size:17px}.settings-button{right:10px}.nav{padding:14px 10px;font-size:13px}.browser-layout{grid-template-columns:170px minmax(0,1fr)}.browser-table-head,.browser-row{grid-template-columns:minmax(100px,1fr) 100px 115px}.review-bottom{grid-template-columns:90px minmax(0,1fr) 90px;gap:10px}.stat-grid{gap:10px}.stat-card{padding:20px}}@media(max-width:700px){.top{display:block;min-height:95px;padding:36px 10px 0}.brand{top:10px;left:16px;font-size:18px}.settings-button{top:3px;right:10px}.top nav{width:100%;border-radius:6px;border-top:1px solid var(--border);padding:0;justify-content:space-evenly}.nav{padding:12px 6px;font-size:11px;flex:1}main{padding:15px 15px 110px}.decks-main{padding-top:15px}.deck-panel{border-radius:9px;padding:9px 8px 12px}.deck-head,.deck-row{grid-template-columns:minmax(110px,1fr) 45px 55px 65px 25px}.deck-head{font-size:10px;min-height:33px}.deck-row{min-height:37px;border-radius:8px}.deck-name{font-size:12px;padding:9px 2px}.deck-title{padding-left:calc(var(--depth)*12px)}.collapse,.collapse-placeholder{min-width:14px;width:14px}.count-cell{font-size:12px}.gear{font-size:15px}.studied-today{font-size:11px;margin-top:30px}.bottom-bar{padding:12px 10px;bottom:27px}.deck-bottom-actions{gap:7px}.deck-bottom-actions .button{min-width:0;flex:1;padding:9px 6px;font-size:11px}.button{min-height:36px}.overview-main{padding-top:20px}.deck-overview{padding:10px}.deck-overview h1{font-size:21px;margin-bottom:20px}.deck-description{font-size:12px}.overview-counts{font-size:15px;width:195px}.overview-bottom{gap:9px}.overview-bottom .button{font-size:11px;padding:8px 14px}.review-heading{font-size:10px;margin-bottom:15px}.review-heading .text-button{padding-left:0;max-width:70%;font-size:11px}.review-main{padding:5px 15px 150px}.review-card{padding:15px 0;min-height:250px;margin-top:15px}.review-bottom{padding:12px 10px;grid-template-columns:55px minmax(0,1fr) 55px;gap:5px;min-height:100px}.review-side .button{font-size:10px;padding:7px 5px;min-height:34px}.review-counts{font-size:13px;margin-bottom:10px}.reveal{min-width:150px;font-size:12px}.ratings{gap:3px}.rating-option{gap:8px}.rating{font-size:10px;padding:7px 2px}.interval{font-size:10px}.complete{margin-top:40px}.complete h1{font-size:22px}dialog{padding:24px 18px;max-height:92dvh}dialog h2{font-size:19px;margin-bottom:22px}.editor-selectors{grid-template-columns:1fr;font-size:12px;gap:8px}.type-label{max-width:100%}.editor-selectors .type-value{flex:1}.field-label textarea{font-size:15px;min-height:100px}.editor-bottom .button{min-width:70px;padding:8px 12px}.editor-status{font-size:10px;max-width:45%}.attachment-names{max-width:160px}.browse-main{padding:8px 10px 50px}.browser-search{gap:8px;margin-bottom:10px}.browser-search label{display:none}.browser-search .button{padding:7px 12px;font-size:11px}.browser-layout{display:block;min-height:0}.browser-sidebar{display:none}.mobile-browser-filters{display:flex;gap:7px;padding:8px;background:var(--hover);border-bottom:1px solid var(--border)}.mobile-browser-filters select{min-width:0;width:50%;font-size:11px;padding:7px}.browser-table{max-height:220px}.browser-table-head,.browser-row{grid-template-columns:minmax(90px,1fr) 80px 90px;padding:8px 9px;gap:7px;font-size:11px}.browser-table-head{font-size:10px}.browser-editor{padding:14px 12px}.browser-summary{font-size:10px;padding:8px 10px}.browser-editor .editor-toolbar{margin-top:0}.browser-editor .field-label textarea{min-height:95px}.panel{padding:20px}.panel p{font-size:12px}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{padding:20px}.stat-card span{font-size:11px}.calendar{grid-template-columns:repeat(7,1fr);gap:5px}.day{min-height:45px}.page-title h1{font-size:22px}.settings-list{font-size:12px}.settings-list>div{gap:15px}.form-hint{font-size:10px!important}footer{font-size:9px;padding:5px 12px}footer button{font-size:9px}.tags-label input{font-size:13px}body{padding-top:var(--po-safe-top,0px);padding-bottom:env(safe-area-inset-bottom,0)}}@media(max-width:370px){.nav{font-size:10px;padding:12px 4px}.deck-head,.deck-row{grid-template-columns:minmax(100px,1fr) 35px 45px 60px 22px}.deck-head{font-size:9px}.deck-name{font-size:11px}.review-bottom{grid-template-columns:47px minmax(0,1fr) 47px;gap:4px}.rating,.review-side .button{font-size:9px}.deck-bottom-actions .button{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.overview-study-layout{display:flex;align-items:center;justify-content:center;gap:60px;margin:28px 0 20px}.overview-study-layout .overview-counts{margin:0;width:195px}.overview-start{max-width:300px}.overview-start .study-now{border-radius:18px;background:#3374e8;color:var(--surface);border:1px solid #3374e8;padding:9px 24px;font-size:14px}.overview-start .study-now:hover{background:#2464d7}@media(max-width:600px){.overview-study-layout{gap:30px}.overview-study-layout .overview-counts{width:170px;font-size:14px}.overview-start .study-now{padding:10px 22px;font-size:13px}}@media(max-width:370px){.overview-study-layout{gap:20px}.overview-study-layout .overview-counts{width:145px}}.brand{display:inline-flex;align-items:center;gap:6px;line-height:28px;letter-spacing:-.5px;color:var(--text)}.brand img{width:28px;height:28px;object-fit:contain;border-radius:50%}@media(max-width:700px){.brand{top:5px;line-height:26px}.brand img{width:26px;height:26px}}@media(min-width:701px)and (max-width:860px){.top{min-height:100px;padding-top:40px}.brand{top:8px}.settings-button{top:4px}}:root{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:15px;--bg:#303030;--toolbar:#383838;--surface:#3b3b3b;--card:#292929;--hover:#474747;--selected:#484848;--text:#f5f5f5;--muted:#b4b0ac;--border:#55514e;--blue:#92b8df;--red:#e68c86;--green:#bdcf99;--orange:#ddb378;--accent:#d3c9bd;--on-accent:#34302c;color-scheme:dark;color:var(--text);background:var(--bg)}:root[data-theme=dark]{--bg:#121212;--toolbar:#1c1c1c;--surface:#242424;--card:#191919;--hover:#303030;--selected:#353535;--text:#f5f5f5;--muted:#aaa7a3;--border:#3d3d3d;--blue:#8ab4df;--red:#e58b86;--green:#b9cf94;--orange:#d9b67b;--accent:#b9cdb6;--on-accent:#192518;color-scheme:dark}:root[data-theme=light]{--bg:#fafafa;--toolbar:#f0f0f0;--surface:#fff;--card:#fff;--hover:#e9e9e9;--selected:#e3e3e3;--text:#292929;--muted:#707070;--border:#d5d5d5;--blue:#3b6897;--red:#ac4a42;--green:#58782c;--orange:#946522;--accent:#d7e4d0;--on-accent:#243620;color-scheme:light}html,body{background:var(--bg);color:var(--text)}body{padding-top:var(--po-safe-top,0px);padding-bottom:0}#app{min-height:calc(100dvh - var(--po-safe-top,0px));display:flex;flex-direction:column}h1,h2,h3{color:var(--text)}button,input,textarea,select{font-family:inherit}a{color:var(--blue)}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input,select,textarea{background:var(--card);color:var(--text);border-color:var(--border);border-radius:7px}input:focus,textarea:focus,select:focus{outline-color:var(--blue)}button:disabled{opacity:.32}.blue{color:var(--blue)}.red,.coral{color:var(--red)}.green{color:var(--green)}.orange{color:var(--orange)}.zero{opacity:.24;color:var(--muted)}.appbar{height:80px;min-height:80px;position:sticky;top:var(--po-safe-top,0px);z-index:20;display:flex;align-items:center;gap:3px;padding:8px 12px;background:var(--toolbar);color:var(--text)}.appbar-button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;width:42px;height:44px;padding:9px;border:0;border-radius:50%;color:var(--text);background:transparent;flex-shrink:0}.appbar-button:hover{background:var(--hover)}.app-title{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;margin:0 6px 0 7px;font-size:23px;line-height:1.2;font-weight:400}.app-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-title small{font-size:14px;line-height:1.5;color:var(--muted);font-weight:400}.toolbar-spacer{flex:1}.review-toolbar{height:64px;min-height:64px}.toolbar-counts{display:flex;align-items:center;gap:10px;margin-left:6px;font-size:19px}.current-count{text-decoration:underline;text-underline-offset:4px}.icon-btn{color:var(--muted)}.icon-btn:hover{background:var(--hover)}main{width:100%;max-width:1040px;margin:0 auto;flex:1;padding:24px 22px 35px}.decks-main{max-width:1040px;padding:0 0 calc(58px + env(safe-area-inset-bottom,0px));position:relative}.deck-panel{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}.deck-list{padding:0}.deck-row{display:grid;grid-template-columns:minmax(0,1fr) 116px 32px;min-height:64px;border-radius:0;align-items:center;padding:0 14px 0 12px;gap:4px}.deck-row:hover,.deck-row.selected{background:var(--selected)}.deck-title{padding-left:calc(var(--depth)*19px);min-width:0;align-self:stretch}.collapse,.collapse-placeholder{width:24px;min-width:24px}.collapse{height:44px;color:var(--muted);font-size:32px;font-family:Arial,sans-serif;line-height:1;transform:rotate(0)}.collapse.is-open{transform:rotate(90deg)}.deck-name{font-size:20px;font-weight:400;line-height:1.35;padding:15px 5px 15px 8px;flex:1;align-self:stretch;display:flex;align-items:center;color:var(--text);overflow-wrap:anywhere}.deck-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border:0;padding:13px 0;background:none;text-align:right;min-height:52px;align-items:center}.count-cell{font-size:17px;text-align:right}.gear{display:flex;align-items:center;justify-content:center;width:30px;height:38px;border-radius:8px;padding:5px;opacity:0}.deck-row:hover .gear,.gear:focus-visible{opacity:1}.filtered-deck .deck-name{color:var(--blue)}.session-summary{position:fixed;bottom:0;left:0;right:0;z-index:12;text-align:center;background:var(--bg);color:var(--muted);font-size:12px;line-height:1.4;padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));min-height:37px}.empty{color:var(--muted);font-size:15px}.empty p{font-size:15px}.fab{position:fixed;right:max(22px,calc((100vw - 1040px)/2 + 22px));bottom:calc(62px + env(safe-area-inset-bottom,0px));z-index:32;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;border:0;background:var(--surface);color:var(--text);box-shadow:0 3px 8px #0002}.fab svg{width:28px;height:28px;transition:transform .15s}.fab.expanded svg{transform:rotate(45deg)}.fab:hover{background:var(--hover)}.fab-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;border:0;z-index:30;cursor:default}.fab-actions{position:fixed;right:max(22px,calc((100vw - 1040px)/2 + 22px));bottom:calc(138px + env(safe-area-inset-bottom,0px));z-index:31;display:flex;flex-direction:column;align-items:flex-end;gap:17px;max-width:calc(100% - 30px)}.fab-option{display:flex;align-items:center;justify-content:flex-end;gap:17px;border:0;background:transparent;color:var(--text);padding:0;max-width:100%;font-size:14px}.fab-option span{background:var(--surface);padding:7px 11px;border-radius:6px;line-height:1.3;box-shadow:0 2px 6px #0002}.fab-option i{display:flex;align-items:center;justify-content:center;width:43px;height:43px;min-width:43px;background:var(--surface);border-radius:14px;font-style:normal}.fab-option:hover span,.fab-option:hover i{background:var(--hover)}.button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:9px;box-shadow:none;font-size:14px;min-height:39px;padding:9px 16px}.button:hover,.button:active{background:var(--hover)}.button.primary{background:var(--accent);color:var(--on-accent);border-color:transparent;box-shadow:none}.button.primary:hover{background:var(--accent);filter:brightness(.94)}.button.danger{background:transparent;color:var(--red);border-color:var(--red)}.text-button{color:var(--muted);font-size:13px}.text-button:hover{color:var(--text)}.overview-main{padding-top:32px}.deck-overview{padding:15px 10px}.deck-overview h1{font-size:25px}.deck-description,.overview-total,.next-due{color:var(--muted)}.overview-start .study-now{background:var(--accent);color:var(--on-accent);border:0;border-radius:16px}.overview-start .study-now:hover{background:var(--accent);filter:brightness(.94)}.overview-bottom{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border:0;-webkit-backdrop-filter:none;backdrop-filter:none;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));z-index:15;min-height:72px}.overview-main{padding-bottom:100px}.overview-counts dt{color:var(--muted)}.review-main{max-width:920px;padding:8px 12px calc(93px + env(safe-area-inset-bottom,0px));width:100%;display:flex;flex-direction:column}.review-card{background:var(--card);border-radius:13px;max-width:none;width:100%;padding:24px 16px;margin:0;min-height:calc(100dvh - 166px - var(--po-safe-top,0px));color:var(--text);flex:1}.review-bottom{display:block;min-height:83px;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px))}.review-bottom>.reveal,.review-bottom>.ratings{max-width:896px;margin:0 auto;width:100%}.reveal{display:block;background:var(--surface);border:0;border-radius:18px;min-height:58px;font-size:18px;line-height:1.4;color:var(--text);box-shadow:none}.ratings{display:flex;justify-content:stretch;gap:8px;align-items:stretch;width:100%}.ratings .rating{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;flex:1;min-width:0;width:auto;max-width:none;min-height:61px;padding:7px 5px;font-size:18px;line-height:1.3;border:0;border-radius:18px;background:var(--surface);box-shadow:none}.ratings .rating .interval{font-size:13px}.ratings .rating.red{color:var(--red)}.ratings .rating.green{color:var(--green)}.ratings .rating.blue{color:var(--blue)}.ratings .rating.orange{color:var(--orange)}.ratings .rating[data-rating="3"]{border:0;box-shadow:none}.practice-notice{font-size:11px;color:var(--muted);padding:1px 4px 9px}.complete{max-width:650px;margin:64px auto 0;color:var(--text);padding:20px}.complete p{color:var(--muted);font-size:14px}.complete h1{font-size:25px}.complete .text-button{color:var(--muted)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:27px 24px;box-shadow:0 12px 60px #0005;width:calc(100% - 32px);max-width:490px;max-height:90dvh}dialog::backdrop{background:#0006}.dialog-close{color:var(--muted);right:8px;top:6px}.menu-actions{gap:0}.menu-item{color:var(--text);padding:13px 16px;min-height:46px;font-size:15px;border-radius:5px}.menu-item:hover{background:var(--hover)}.menu-actions hr{width:100%;border:0;border-top:1px solid var(--border);margin:4px 0}.text-danger{color:var(--red)}.overflow-menu{position:fixed;inset:calc(8px + var(--po-safe-top,0px)) 8px auto auto;margin:0;padding:5px;max-width:315px;border-radius:7px;border-color:transparent;box-shadow:0 6px 24px #0004}.overflow-menu::backdrop{background:#0002}.drawer-dialog{position:fixed;inset:0 auto 0 0;margin:0;width:min(315px,86vw);max-width:none;max-height:none;height:100dvh;border:0;border-radius:0 18px 18px 0;padding:32px 14px 20px;overflow:auto}.drawer-brand{display:flex;align-items:center;gap:13px;padding:12px 12px 28px}.drawer-brand img{border-radius:50%}.drawer-brand strong{font-size:21px;font-weight:500;display:block}.drawer-brand small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.drawer-dialog .dialog-close{top:2px;right:4px;font-size:23px}.drawer-nav{display:flex;flex-direction:column;gap:4px}.drawer-item{background:none;border:0;display:flex;align-items:center;gap:22px;text-align:left;padding:15px 17px;border-radius:25px;color:var(--text);font-size:15px}.drawer-item.active,.drawer-item:hover{background:var(--selected)}.drawer-item svg{width:22px;height:22px;color:var(--muted)}.drawer-bottom{font-size:11px;color:var(--muted);margin:30px 16px}.form-hint,.settings-list dt,.panel p,.quiet,.field-label,.tags-label{color:var(--muted)}.settings-list>div{border-bottom-color:var(--border)}.file-zone{background:var(--card);border-color:var(--border)}.file-zone span{color:var(--muted)}form>label select{display:block;margin-top:7px;width:100%}.panel{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:22px}.panel h2{font-size:18px}.page-title{margin-top:4px}.page-title h1{font-size:25px}.page-title p{color:var(--muted)}.theme-picker{display:flex;gap:12px;border:0;padding:0;margin:18px 0 24px}.theme-picker legend{color:var(--muted);font-size:13px;margin-bottom:10px}.theme-option{display:flex;align-items:center;flex-direction:column;gap:8px;font-size:12px;cursor:pointer;position:relative;flex:1;max-width:160px;min-width:0}.theme-option input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.theme-swatch{display:block;border:2px solid transparent;border-radius:12px;padding:11px 8px 8px;width:100%;height:86px;position:relative;overflow:hidden;box-shadow:0 0 0 1px var(--border)}.theme-option.selected .theme-swatch{border-color:var(--blue)}.theme-option:focus-within .theme-swatch{outline:2px solid var(--blue);outline-offset:3px}.theme-swatch:before,.theme-swatch i,.theme-swatch b{content:"";display:block;height:9px;border-radius:2px;background:currentColor;opacity:.28;margin:0 0 9px}.theme-swatch:before{width:42%}.theme-swatch i{width:82%}.theme-swatch b{width:65%}.swatch-light{background:#fafafa;color:#262626}.swatch-dark{background:#121212;color:#e5e2de}.swatch-gray{background:#303030;color:#e7e3df}.answer-setting{display:flex;align-items:flex-start;flex-direction:column;gap:9px;font-size:13px}.answer-setting select{font-size:13px;max-width:100%;width:100%}.browser-layout,.browser-content,.browser-table,.browser-row{background:var(--card);border-color:var(--border)}.browser-sidebar,.browser-table-head,.mobile-browser-filters{background:var(--surface);border-color:var(--border);color:var(--muted)}.sidebar-item{color:var(--text)}.sidebar-item.active,.sidebar-item:hover,.browser-row.selected,.browser-row:hover{background:var(--selected)}.sidebar-item span,.browser-sidebar h3,.browser-summary,.editor-status,.attachment-names{color:var(--muted)}.browser-row.is-suspended{color:var(--orange)}.browser-summary,.editor-toolbar,.editor-bottom{border-color:var(--border)}.type-value,.format-btn,.attachment-button,.field-label textarea,.tags-label input{background:var(--card);color:var(--text);border-color:var(--border)}.format-btn:hover,.attachment-button:hover{background:var(--hover)}.preview-card{background:var(--card);border-radius:12px;color:var(--text)}.editor-header{display:flex;align-items:center;gap:10px;margin:-8px -8px 23px}.editor-header h2{flex:1;font-size:21px;margin:0;font-weight:400}.editor-header .icon-btn{display:flex;align-items:center;justify-content:center;width:39px;height:40px;color:var(--text)}.editor-dialog>.dialog-close{display:none}.editor-dialog{padding-top:22px}.stat-card{background:var(--surface);border-color:var(--border);border-radius:12px}.stat-card strong{color:var(--blue)}.stat-card span{color:var(--muted)}.day{background:var(--surface);color:var(--muted)}#toast{background:var(--text);color:var(--bg);bottom:105px}#toast.error{background:#ac4944;color:#fff}@media(min-width:1041px){.appbar{padding-left:calc((100vw - 1040px)/2 + 10px);padding-right:calc((100vw - 1040px)/2 + 10px)}}@media(max-width:700px){main{padding:19px 15px 30px}.appbar{height:76px;min-height:76px;padding:7px 8px;gap:0}.appbar-button{width:41px;min-width:41px;height:44px;padding:10px}.app-title{font-size:22px;margin:0 4px 0 5px}.app-title small{font-size:13px}.decks-main{padding:0 0 calc(58px + env(safe-area-inset-bottom,0px))}.deck-row{grid-template-columns:minmax(0,1fr) 98px;gap:0;min-height:62px;padding:0 15px 0 10px}.deck-title{padding-left:calc(var(--depth)*15px)}.collapse,.collapse-placeholder{width:22px;min-width:22px}.collapse{font-size:30px}.deck-name{font-size:19px;padding:15px 4px 15px 6px}.deck-counts{gap:3px;min-height:52px}.count-cell{font-size:16px}.gear{display:none}.session-summary{font-size:11px;white-space:normal;min-height:36px;padding-top:10px;padding-bottom:calc(9px + env(safe-area-inset-bottom,0px))}.overview-main{padding:27px 15px 110px}.overview-study-layout{flex-direction:column;gap:28px}.overview-study-layout .overview-counts{font-size:16px;width:210px}.overview-start .study-now{font-size:16px;padding:12px 45px}.deck-overview h1{font-size:23px}.overview-bottom .button{font-size:12px}.review-toolbar{height:60px;min-height:60px}.toolbar-counts{font-size:17px;gap:8px;margin-left:3px}.review-main{padding:7px 8px calc(91px + env(safe-area-inset-bottom,0px))}.review-card{padding:21px 15px;min-height:calc(100dvh - 156px - var(--po-safe-top,0px));border-radius:12px;margin:0}.review-bottom{padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));min-height:81px}.ratings .rating{min-height:61px;font-size:17px;padding:7px 3px}.ratings .rating .interval{font-size:12px}.reveal{min-height:59px;font-size:17px}.complete{padding:20px 7px;margin-top:60px}.complete h1{font-size:23px}.complete p{font-size:13px}.panel{padding:20px 17px}.theme-picker{gap:10px}.theme-swatch{height:78px}dialog{padding:25px 19px;max-height:92dvh;border-radius:17px}dialog.overflow-menu{padding:5px;max-width:305px}dialog.drawer-dialog{padding:27px 12px 20px;border-radius:0 18px 18px 0;max-height:none}dialog.editor-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:20px 17px 30px}.editor-header{margin:-5px -5px 23px;position:sticky;top:-20px;background:var(--surface);padding:5px 0;z-index:3}.editor-dialog .editor-selectors{gap:12px}.editor-dialog .field-label textarea{min-height:125px}.editor-dialog .editor-bottom .actions{display:none}.editor-dialog .editor-status{max-width:100%}.browser-layout{border-radius:9px}.browse-main{padding:12px 9px 28px}.browser-editor{padding:16px 12px}.editor-bottom .button{min-width:0}.stat-grid{gap:10px}.stat-card{padding:20px 16px}.stat-card strong{font-size:27px}}@media(max-width:370px){.deck-row{grid-template-columns:minmax(0,1fr) 89px;padding-right:11px}.deck-name{font-size:18px}.count-cell{font-size:15px}.app-title{font-size:20px}.appbar-button{width:38px;min-width:38px;padding:8px}.app-title small{font-size:12px}.theme-picker{gap:8px}.theme-swatch{height:72px}}.theme-option input{top:0;right:0;bottom:0;left:0;z-index:1}.theme-option>span{pointer-events:none}.theme-option{scroll-margin-top:100px}.home-screen-dialog [hidden]{display:none!important}.library-main{max-width:900px}.library-panel{padding:0 20px}.library-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--border)}.library-row:last-child{border-bottom:0}.library-row h2{margin:0 0 7px;font-size:19px}.library-row p{margin:0 0 8px}.library-row small{color:var(--muted);font-size:12px}.library-row>.button{flex-shrink:0}.library-main .page-title p{max-width:620px;line-height:1.6}@media(max-width:550px){.library-row{align-items:flex-start;flex-direction:column;gap:11px}.library-row>.button{width:100%;min-height:44px}.library-row h2{font-size:20px}}.ai-languages{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ai-languages input{width:100%;margin-top:7px}.ai-swap{display:flex;align-items:center;gap:10px}.ai-swap input{width:auto;margin:0}.ai-preview{max-height:50dvh;overflow:auto;border:1px solid var(--border);border-radius:8px}.ai-preview-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--border)}.ai-preview-row:last-child{border-bottom:0}.ai-preview-row>span,.ai-preview-row>strong{padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}.ai-preview-row>strong{position:sticky;top:0;background:var(--surface)}.ai-import-dialog .dialog-actions{flex-wrap:wrap}.ai-import-dialog textarea{font-size:14px}@media(max-width:420px){.ai-languages{grid-template-columns:1fr}.ai-import-dialog .dialog-actions .button{flex:1}}.settings-main,.stats-main{max-width:740px}.settings-main h1{font-size:25px;margin:20px 0}.settings-main>input{width:100%;padding:15px 18px;border-radius:28px;margin:4px 0 22px}.settings-groups{display:flex;flex-direction:column}.settings-group{display:flex;align-items:center;gap:22px;width:100%;min-height:92px;padding:20px 14px;background:none;border:0;color:var(--text);text-align:left;border-radius:10px;cursor:pointer}.settings-group:hover{background:var(--hover)}.settings-group>svg{flex:none;color:var(--muted)}.settings-group>span{flex:1;min-width:0}.settings-group strong{display:block;font-size:19px;font-weight:400;overflow-wrap:anywhere}.settings-group small{display:block;color:var(--muted);font-size:14px;line-height:1.5;margin-top:5px}.settings-group b{color:var(--muted);font-size:23px;font-weight:400}.settings-back{padding:8px 0;font-size:15px}.settings-main .quiet{line-height:1.6}.stats-period{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.stats-period label{color:var(--muted)}.stats-period select{padding:10px 14px;min-width:160px}.simple-stats{grid-template-columns:1fr 1fr}.simple-stats .stat-card{min-height:135px}.simple-stats strong{font-size:36px}.simple-stats span{line-height:1.4}.stats-caption{font-size:13px;line-height:1.6;color:var(--muted);margin:14px 2px 24px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-heading h2{margin:0;font-size:19px;text-transform:capitalize;font-weight:400}.calendar-heading button{width:44px;height:44px;font-size:30px;background:transparent;border:0;border-radius:50%}.activity-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.weekday{font-size:12px;color:var(--muted);padding-bottom:10px}.activity-day{aspect-ratio:1;max-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;border-radius:10px;font-size:15px}.activity-day i{width:5px;height:5px;border-radius:50%;background:transparent}.activity-day.studied{background:var(--accent);color:var(--on-accent)}.activity-day.studied i{background:currentColor}.activity-day.today{border-color:var(--blue)}.activity-day.future{opacity:.3}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px!important;margin:18px 0 0!important}.calendar-legend i{width:9px;height:9px;background:var(--accent);border-radius:50%}.activity-panel{padding:14px 16px 20px}.review-toolbar{--review-toolbar-height:48px;height:var(--review-toolbar-height);min-height:var(--review-toolbar-height);gap:2px;padding-top:6px;padding-bottom:6px}.review-toolbar .appbar-button{width:40px;min-width:40px;height:44px;padding:8px}.review-toolbar .toolbar-counts{font-size:20px;gap:9px;margin-left:2px;font-variant-numeric:tabular-nums;white-space:nowrap}.review-toolbar .current-count{text-underline-offset:5px;text-decoration-thickness:1px}.review-toolbar .app-mode-menu{margin-left:0}.review-toolbar .app-mode-button{width:40px;height:44px}.review-main{--review-toolbar-height:48px;--review-bottom-height:88px;max-width:920px;padding:8px 8px calc(var(--review-bottom-height) + env(safe-area-inset-bottom,0px));min-height:calc(100dvh - var(--review-toolbar-height) - var(--po-safe-top,0px));gap:0}.review-main .review-card{border-radius:18px;padding:24px 18px;margin:0;min-height:calc(100dvh - var(--review-toolbar-height) - var(--review-bottom-height) - 8px - var(--po-safe-top,0px) - env(safe-area-inset-bottom,0px));box-shadow:none}.review-bottom{min-height:88px;padding:10px 8px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg)}.review-bottom>.reveal,.review-bottom>.ratings{max-width:904px}.review-bottom .reveal{min-height:62px;border-radius:16px;font-size:19px;font-weight:400;color:var(--text);background:var(--surface)}.review-bottom .ratings{gap:8px}.review-bottom .ratings .rating{min-height:62px;border-radius:16px;font-size:18px;font-weight:400}:root[data-theme=dark] .review-toolbar,:root[data-theme=dark] .review-bottom{background:#0b0b0b}:root[data-theme=dark] .review-main{background:#0b0b0b}:root[data-theme=dark] .review-card{background:#000}:root[data-theme=dark] .review-bottom .reveal,:root[data-theme=dark] .review-bottom .rating{background:#11161a}@media(max-width:370px){.review-toolbar{gap:0;padding-left:5px;padding-right:5px}.review-toolbar .appbar-button,.review-toolbar .app-mode-button{width:36px;min-width:36px}.review-toolbar .toolbar-counts{font-size:18px;gap:7px;margin-left:0}.review-main .review-card{padding:22px 14px}.review-bottom .reveal{font-size:18px}.review-bottom .ratings .rating{font-size:17px}}.study-tap-setting{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:18px 2px;border-bottom:1px solid var(--border);cursor:pointer}.study-tap-setting>span{flex:1;min-width:0}.study-tap-setting strong{display:block;font-size:18px;font-weight:400}.study-tap-setting small{display:block;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.5}.study-tap-setting input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--blue);cursor:pointer}#toast:empty{display:none}.appbar,.review-toolbar{height:48px;min-height:48px;padding-top:2px;padding-bottom:2px}.app-title{font-size:20px;line-height:1.2}.due-count{font-variant-numeric:tabular-nums}.launch-mode-setting{display:grid;gap:12px;font-size:15px}.launch-mode-setting select{width:100%;min-height:44px;font-size:16px}:root{--po-safe-top:var(--tg-content-safe-area-inset-top,0px)}:root[data-telegram-fullscreen=true]{--po-safe-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px))}[data-new-deck][hidden]{display:none}.tap-feedback{position:fixed;top:0;bottom:0;z-index:50;pointer-events:none;animation:tap-glow .55s ease-out forwards}.tap-feedback.again{background:linear-gradient(90deg,color-mix(in srgb,var(--red) 18%,transparent),transparent 50%)}.tap-feedback.good{background:linear-gradient(270deg,color-mix(in srgb,var(--green) 18%,transparent),transparent 50%)}@keyframes tap-glow{0%{opacity:0}20%{opacity:1}to{opacity:0}}.font-size-setting{display:flex;flex-direction:column;gap:6px;margin-top:14px}.font-size-setting span{display:flex;align-items:center;gap:10px}.font-size-setting input{flex:1}.font-size-setting output{min-width:44px;text-align:right;font-variant-numeric:tabular-nums}.spinner{display:inline-block;width:16px;height:16px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-3px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.book-progress{display:flex;flex-direction:column;gap:8px;width:100%}.book-progress-label{display:flex;align-items:center;gap:8px;font-size:14px}.book-progress-label output{margin-left:auto;font-variant-numeric:tabular-nums}.book-progress-track{height:8px;border-radius:999px;background:color-mix(in srgb,currentColor 15%,transparent);overflow:hidden}.book-progress-track i{display:block;height:100%;width:calc(var(--progress) * 100%);border-radius:inherit;background:var(--blue);transition:width .2s ease-out}.book-progress.indeterminate .book-progress-track i{width:35%;animation:progress-slide 1.1s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:reduce){.spinner,.book-progress.indeterminate .book-progress-track i{animation-duration:3s}}.font-step{flex:none;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}.font-step:active{background:color-mix(in srgb,currentColor 12%,transparent)}.study-exit{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;background:var(--bg);box-shadow:-12px 0 32px #00000059;pointer-events:none;animation:study-exit .32s cubic-bezier(.4,0,.2,1) forwards}@keyframes study-exit{0%{transform:translate(0)}to{transform:translate(100%)}}#toast.success{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:14px;font-size:15px;line-height:1.4}#toast.success:before{content:"✓";display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font-weight:700}
