:root,[data-theme=chill]{--bg:linear-gradient(160deg,#cde8ff 0%,#fffbe8 60%,#e8f8ff 100%);--card-bg:rgba(255,255,255,0.50);--card-border:rgba(255,255,255,0.85);--card-shadow:0 4px 20px rgba(0,100,255,0.06);--blur:blur(20px);--card-blur:blur(10px);--header:#12413B;--header-shadow:0 4px 16px rgba(18,65,59,0.35);--tab:linear-gradient(135deg,#0e3530,#12413B);--tab-ab:rgba(255,200,80,0.92);--tab-at:#12413B;--tab-in:rgba(255,255,255,0.45);--text:#003566;--text-muted:#5a80aa;--primary:#007AFF;--gold:#FFC850;--input-bg:rgba(255,255,255,0.75);--input-border:rgba(0,100,200,0.2);--input-focus:#007AFF;--gbg:linear-gradient(135deg,rgba(255,255,255,0.55),rgba(255,255,255,0.22));--gb-border:rgba(255,255,255,0.8);--gb-shadow:0 4px 18px rgba(0,100,255,0.12);--gb-text:#003566;--btn-primary:linear-gradient(135deg,#007AFF,#00C4E9);--btn-ps:0 4px 16px rgba(0,122,255,0.3);--btn-gold:linear-gradient(135deg,#FFC850,#FFF73D);--btn-gold-text:#003a6e;--dot:#007AFF;--mode-idle:rgba(255,255,255,0.5);--mode-idle-b:rgba(0,100,200,0.15);--mode-active:linear-gradient(135deg,#007AFF,#00C4E9);--mode-at:#fff;--mode-as:0 4px 14px rgba(0,122,255,0.28);--modal-bg:rgba(244,250,255,0.97);--toast-bg:linear-gradient(135deg,#007AFF,#00C4E9);--tip-bg:linear-gradient(135deg,#007AFF,#00C4E9);--cal-day:rgba(255,255,255,0.45);--today:2px solid #007AFF;--bubble-bg:#FFC850;--bubble-text:#003566;--badge-b-bg:rgba(0,100,255,0.1);--badge-b-t:#0044cc;--badge-g-bg:rgba(50,180,50,0.1);--badge-g-t:#1a6e1a;--badge-gold-bg:rgba(255,180,0,0.15);--badge-gold-t:#8a5e00;--badge-r-bg:rgba(230,80,20,0.1);--badge-r-t:#b33000;--badge-gr-bg:rgba(0,0,0,0.07);--badge-gr-t:#5a80aa;--daytip-bg:linear-gradient(135deg,#007AFF,#00C4E9);--seg-bg:rgba(0,122,255,0.07);--body-bg:#12413B;--perf-bar:#007AFF}[data-theme=hardcore]{--bg:linear-gradient(160deg,#04040e 0%,#09091f 100%);--card-bg:rgba(12,12,30,0.62);--card-border:rgba(80,100,255,0.14);--card-shadow:0 4px 20px rgba(0,0,0,0.7);--blur:blur(28px);--card-blur:blur(10px);--header:#07071a;--header-shadow:0 4px 20px rgba(0,0,0,0.9);--tab:linear-gradient(135deg,#050514,#0c0c22);--tab-ab:rgba(74,108,255,0.25);--tab-at:#7aadff;--tab-in:rgba(255,255,255,0.28);--text:#b8cce8;--text-muted:#3a4a68;--primary:#4a6cff;--gold:#FFC850;--input-bg:rgba(255,255,255,0.05);--input-border:rgba(74,108,255,0.22);--input-focus:#4a6cff;--gbg:linear-gradient(135deg,rgba(74,108,255,0.16),rgba(74,108,255,0.04));--gb-border:rgba(74,108,255,0.3);--gb-shadow:0 4px 18px rgba(0,0,0,0.7);--gb-text:#7aadff;--btn-primary:linear-gradient(135deg,#3a5aee,#2a3acc);--btn-ps:0 4px 16px rgba(74,108,255,0.4);--btn-gold:linear-gradient(135deg,rgba(255,200,80,0.15),rgba(255,200,80,0.06));--btn-gold-text:#FFC850;--dot:#4a6cff;--mode-idle:rgba(255,255,255,0.04);--mode-idle-b:rgba(74,108,255,0.18);--mode-active:linear-gradient(135deg,#3a5aee,#1a2acc);--mode-at:#fff;--mode-as:0 4px 14px rgba(74,108,255,0.45);--modal-bg:rgba(8,8,22,0.98);--toast-bg:linear-gradient(135deg,#3a5aee,#1a2acc);--tip-bg:linear-gradient(135deg,#0d0d25,#1a1a3e);--cal-day:rgba(255,255,255,0.04);--today:2px solid #4a6cff;--bubble-bg:#3a5aee;--bubble-text:#fff;--badge-b-bg:rgba(74,108,255,0.14);--badge-b-t:#7aadff;--badge-g-bg:rgba(109,200,42,0.12);--badge-g-t:#6DC82A;--badge-gold-bg:rgba(255,200,80,0.12);--badge-gold-t:#FFC850;--badge-r-bg:rgba(255,138,31,0.12);--badge-r-t:#FF8A1F;--badge-gr-bg:rgba(255,255,255,0.06);--badge-gr-t:#3a4a68;--daytip-bg:linear-gradient(135deg,#0d0d28,#1a1a42);--seg-bg:rgba(74,108,255,0.07);--body-bg:#050510;--perf-bar:#4a6cff}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%}body{display:flex;justify-content:center;background:var(--body-bg);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text',sans-serif;transition:background .45s}#appWrapper{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:0 0;color:var(--text);position:relative;z-index:2;transition:color .45s}@keyframes bgBubbleRise{0%{transform:translateY(0) translateX(0);opacity:0}6%,88%{opacity:1}100%{transform:translateY(-110vh) translateX(var(--bsway,0));opacity:0}}@media(min-width:600px){#appWrapper{max-width:100%}}@media(max-width:599px){#appWrapper{max-width:480px}}#appScroll{flex:1;overflow-y:auto;padding:0 0 90px;-webkit-overflow-scrolling:touch}.header{background:var(--header);box-shadow:var(--header-shadow);padding:env(safe-area-inset-top,16px) 16px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:sticky;top:0;z-index:100;transition:background .45s}.header-byline{font-size:10px;color:rgba(255,200,80,.75);font-weight:600;letter-spacing:.5px;margin-top:3px}#nextBubble{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);right:10px;z-index:200;padding:6px 10px;border-radius:14px;font-size:11px;font-weight:700;background:var(--bubble-bg);color:var(--bubble-text);box-shadow:0 3px 12px rgba(0,0,0,.22);max-width:145px;text-align:center;line-height:1.3;display:none}#nextBubble.show{display:block;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn}#nextBubble .nb-name{font-size:11px;font-weight:800;display:block}#nextBubble .nb-days{font-size:10px;opacity:.82;display:block;margin-top:1px}.tabnav{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:100;display:flex;background:var(--tab);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);padding:8px 16px calc(env(safe-area-inset-bottom,0px)+8px);gap:8px;transition:background .45s}.tabnav button{flex:1;padding:8px 4px;border:1px solid transparent;border-radius:12px;font-size:11px;font-weight:600;cursor:pointer;background:0 0;color:var(--tab-in);display:flex;flex-direction:column;align-items:center;gap:2px;transition:.25s cubic-bezier(.34,1.56,.64,1)}.tabnav button.active{background:var(--tab-ab);color:var(--tab-at)}.tabnav button .icon{font-size:16px}.page{display:none;padding:8px 12px 0;animation:.3s fadeUp}.page.active{display:block}.card{background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--card-border);border-radius:18px;padding:13px;margin-bottom:10px;box-shadow:var(--card-shadow);transition:background .45s,border .45s}.card-title{font-size:13px;font-weight:800;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:7px}.card-title .dot{width:7px;height:7px;background:var(--dot);border-radius:50%;flex-shrink:0}.field{margin-bottom:7px}.field label{display:block;font-size:9px;font-weight:800;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.7px}.field input,.field select{width:100%;padding:7px 10px;border:1.5px solid var(--input-border);border-radius:11px;font-size:13px;color:var(--text);background:var(--input-bg);backdrop-filter:var(--blur);outline:0;transition:border-color .2s;font-family:inherit;appearance:none;-webkit-appearance:none}.field input:focus,.field select:focus{border-color:var(--input-focus);box-shadow:0 0 0 2px rgba(0,122,255,.1)}[data-theme=hardcore] .field input,[data-theme=hardcore] .field select{color:#b8cce8}[data-theme=hardcore] .field input::placeholder{color:#3a4a68}[data-theme=hardcore] .field input[type=date]{color-scheme:dark}.field input[type=date]{-webkit-appearance:none;appearance:none}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.time-group{display:flex;align-items:center;gap:6px}.time-sel{flex:1;padding:7px 20px 7px 8px;border:1.5px solid var(--input-border);border-radius:11px;font-size:13px;color:var(--text);background:var(--input-bg);backdrop-filter:var(--blur);outline:0;font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.time-sel:focus{border-color:var(--input-focus)}[data-theme=hardcore] .time-sel{color:#b8cce8}.time-sep{font-size:15px;font-weight:800;color:var(--text-muted)}.slot-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;margin-top:4px}.slot-badge.morning{background:rgba(255,200,80,.2);color:#a07000}[data-theme=hardcore] .slot-badge.morning{background:rgba(255,200,80,.15);color:#ffc850}.slot-badge.afternoon{background:rgba(0,100,255,.12);color:var(--primary)}.btn{width:100%;padding:10px;border:none;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:.25s cubic-bezier(.34,1.56,.64,1)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--btn-primary);color:#fff;box-shadow:var(--btn-ps)}.btn-glass{background:var(--gbg);backdrop-filter:var(--blur);border:1px solid var(--gb-border);color:var(--gb-text);box-shadow:var(--gb-shadow)}.btn-gold{background:var(--btn-gold);color:var(--btn-gold-text);border:1px solid rgba(255,200,80,.3)}.notif-inactive{display:block;width:100%;padding:11px;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;text-align:center;background:rgba(100,100,100,.12);border:1.5px dashed rgba(150,150,150,.4);color:var(--text-muted);transition:.3s}.notif-active{display:block;width:100%;padding:11px;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;text-align:center;background:linear-gradient(135deg,#16a34a,#22c55e);border:none;color:#fff;box-shadow:0 4px 20px rgba(34,197,94,.5);transition:.3s}.exam-item{background:var(--input-bg);border-radius:11px;padding:9px 10px;margin-bottom:6px;border-left:4px solid var(--primary);animation:.2s fadeUp}.exam-item.diff-easy{border-left-color:#6dc82a}.exam-item.diff-medium{border-left-color:#00c4e9}.exam-item.diff-hard{border-left-color:#ff8a1f}.exam-item-header{display:flex;justify-content:space-between;align-items:center}.exam-subject{font-size:13px;font-weight:700;color:var(--text)}.exam-actions button{background:0 0;border:none;font-size:14px;cursor:pointer;padding:2px 4px;opacity:.7}.confirm-bar{display:none;background:rgba(255,60,60,.08);border-radius:8px;padding:5px 8px;margin-top:4px;font-size:11px;color:var(--text);align-items:center;gap:7px}.confirm-bar.show{display:flex}.confirm-yes{padding:3px 8px;border:none;border-radius:7px;font-size:10px;font-weight:700;cursor:pointer;background:#e04040;color:#fff}.confirm-no{padding:3px 8px;border:1px solid var(--gb-border);border-radius:7px;font-size:10px;font-weight:700;cursor:pointer;background:var(--gbg);color:var(--gb-text)}.exam-meta{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.badge{padding:2px 7px;border-radius:20px;font-size:9px;font-weight:700}.badge-blue{background:var(--badge-b-bg);color:var(--badge-b-t)}.badge-green{background:var(--badge-g-bg);color:var(--badge-g-t)}.badge-gold{background:var(--badge-gold-bg);color:var(--badge-gold-t)}.badge-red{background:var(--badge-r-bg);color:var(--badge-r-t)}.badge-gray{background:var(--badge-gr-bg);color:var(--badge-gr-t)}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cal-title{font-size:13px;font-weight:800;color:var(--text);text-transform:capitalize}.cal-nav{background:var(--gbg);backdrop-filter:var(--blur);border:1px solid var(--gb-border);border-radius:9px;padding:4px 10px;font-size:15px;cursor:pointer;color:var(--text)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-lbl{font-size:9px;font-weight:700;text-align:center;color:var(--text-muted);padding:2px 0;text-transform:uppercase}.cal-day{border-radius:8px;padding:3px;background:var(--cal-day);border:1px solid transparent;min-height:62px;cursor:pointer;transition:transform .15s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.cal-day:hover{transform:translateY(-2px) scale(1.04)}.cal-day.today{border:var(--today)!important}.cal-day.ex-easy{background:#5db820!important;border-color:#4a9618!important}.cal-day.ex-med{background:#00a8cc!important;border-color:#0087a3!important}.cal-day.ex-hard{background:#e07010!important;border-color:#b85a08!important}.cdn{font-weight:800;font-size:10px;color:var(--text);padding:1px 2px}.cal-day.ex-easy .cdn,.cal-day.ex-hard .cdn,.cal-day.ex-med .cdn{color:#fff}.cal-exam-block{display:flex;flex-direction:row;align-items:center;margin:1px 0}.cal-exam-emoji{font-size:12px;line-height:1}.cal-exam-name{font-size:8px;font-weight:800;color:#fff;text-align:center;line-height:1.2;word-break:break-word;text-shadow:0 1px 2px rgba(0,0,0,.3)}.cds{font-size:8px;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;opacity:.85}.cal-day.past{opacity:.55}.cal-day.past:not(.ex-easy):not(.ex-med):not(.ex-hard){background:var(--cal-day)!important;filter:grayscale(20%)}.cal-day.ex-easy .cds,.cal-day.ex-hard .cds,.cal-day.ex-med .cds{color:rgba(255,255,255,.9)}#modal{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s}#modal.open{opacity:1;pointer-events:all}#modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(8px)}#modal-sheet{position:relative;z-index:1;background:var(--modal-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--card-border);border-radius:22px 22px 0 0;padding:15px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;transform:translateY(100%);transition:transform .38s cubic-bezier(.34,1.56,.64,1);color:var(--text)}#modal.open #modal-sheet{transform:translateY(0)}.modal-handle{width:32px;height:4px;background:var(--input-border);border-radius:2px;margin:0 auto 12px}.modal-day-title{font-size:15px;font-weight:800;color:var(--text);margin-bottom:12px;text-transform:capitalize}.modal-sess-block{margin-bottom:8px;background:var(--seg-bg);border-radius:12px;padding:9px 10px}.modal-sess-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.modal-sess-label{font-size:10px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.modal-subj-sel{flex:1;padding:5px 8px;border:1px solid var(--input-border);border-radius:9px;font-size:12px;color:var(--text);background:var(--input-bg);font-family:inherit;appearance:none;-webkit-appearance:none;outline:0;cursor:pointer}[data-theme=hardcore] .modal-subj-sel{color:#b8cce8}.seg-study{background:rgba(0,0,0,.04);border-radius:8px;padding:6px 9px;margin:3px 0}[data-theme=hardcore] .seg-study{background:rgba(255,255,255,.04)}.seg-study .ss{font-size:13px;font-weight:700;color:var(--text)}.seg-study .st{font-size:11px;color:var(--text-muted);margin-top:1px}.seg-break-row{background:rgba(255,150,50,.08);border-radius:7px;padding:4px 9px;margin:2px 0;display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted)}[data-theme=hardcore] .seg-break-row{background:rgba(255,150,50,.06)}.seg-meal{background:rgba(255,150,0,.09);border-radius:10px;padding:6px 10px;margin:5px 0;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text-muted)}[data-theme=hardcore] .seg-meal{background:rgba(255,150,0,.06)}.seg-empty{font-size:11px;color:var(--text-muted);text-align:center;padding:6px 0;font-style:italic}.daytip{margin-top:10px;padding:10px 11px;background:var(--daytip-bg);border-radius:11px;font-size:11px;color:rgba(255,255,255,.92);line-height:1.5;border:1px solid var(--card-border)}[data-theme=hardcore] .daytip{color:#8ab0e0}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-btn{padding:13px 9px;border:1.5px solid var(--mode-idle-b);border-radius:14px;background:var(--mode-idle);backdrop-filter:var(--blur);cursor:pointer;text-align:center;transition:.28s cubic-bezier(.34,1.56,.64,1);font-family:inherit;color:var(--text)}.mode-btn.active{background:var(--mode-active);color:var(--mode-at);border-color:transparent;box-shadow:var(--mode-as)}.mode-btn .mi{font-size:22px;display:block;margin-bottom:4px}.mode-btn .ml{font-size:13px;font-weight:800;display:block}.mode-btn .md{font-size:10px;opacity:.65;display:block;margin-top:2px}.profile-header{background:var(--header);border-radius:16px;padding:14px;margin-bottom:10px;display:flex;align-items:center;gap:12px}.profile-info h2{font-size:15px;font-weight:800;color:#fff;margin-bottom:2px}.profile-info p{font-size:11px;color:rgba(255,255,255,.6)}#profileSummary p{font-size:12px;line-height:1.9;color:var(--text)}#profileSummary strong{color:var(--primary)}[data-theme=hardcore] #profileSummary strong{color:#7aadff}.tip-card{background:var(--tip-bg);border-radius:15px;padding:11px 12px;color:#fff;margin-bottom:10px;display:flex;align-items:flex-start;gap:9px;border:1px solid var(--card-border)}[data-theme=hardcore] .tip-card{color:#8ab0e0;border:1px solid rgba(74,108,255,.2)}.tip-icon{font-size:16px;flex-shrink:0;padding-top:1px}.tip-text{font-size:11px;line-height:1.5;opacity:.95}.perf-exam-row{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--input-border)}.perf-exam-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.perf-exam-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.perf-exam-name{font-size:13px;font-weight:700;color:var(--text)}.perf-bar-track{height:8px;background:var(--input-bg);border-radius:20px;overflow:hidden;margin-bottom:4px}.perf-bar-fill{height:100%;border-radius:20px;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.perf-exam-meta{font-size:10px;color:var(--text-muted)}.perf-stat{display:flex;align-items:baseline;gap:6px;margin:3px 0}.perf-num{font-size:20px;font-weight:800;color:var(--text)}.perf-lbl{font-size:11px;color:var(--text-muted)}#installBanner{display:none;margin:0 12px 9px;background:var(--card-bg);backdrop-filter:var(--card-blur);border:1px solid var(--card-border);border-radius:15px;padding:10px 12px;color:var(--text);animation:.4s fadeUp}#installBanner.show{display:flex;align-items:center;gap:9px}#installBanner p{flex:1;font-size:11px;line-height:1.4}#installBanner button{background:var(--btn-primary);color:#fff;border:none;border-radius:9px;padding:6px 11px;font-weight:700;font-size:11px;cursor:pointer;white-space:nowrap}.empty{text-align:center;padding:20px;color:var(--text-muted)}.empty .ei{font-size:32px;display:block;margin-bottom:7px}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(18px);background:var(--toast-bg);color:#fff;padding:9px 16px;border-radius:13px;font-size:12px;font-weight:700;z-index:450;opacity:0;transition:.35s cubic-bezier(.34,1.56,.64,1);pointer-events:none;max-width:82vw;text-align:center;line-height:1.4}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.install-steps{display:flex;flex-direction:column;gap:10px;margin-top:4px}.install-platform{background:var(--input-bg);border-radius:13px;padding:12px 13px;border:1px solid var(--input-border)}.install-plat-title{font-size:12px;font-weight:800;color:var(--text);margin-bottom:7px}.install-list{padding-left:16px;margin:0}.install-list li{font-size:12px;color:var(--text);line-height:1.7;margin-bottom:1px}.install-list strong{color:var(--primary)}[data-theme=hardcore] .install-list strong{color:#7aadff}.install-note{margin-top:8px;padding:7px 9px;background:rgba(0,122,255,.07);border-radius:9px;font-size:11px;color:var(--text-muted);line-height:1.5}[data-theme=hardcore] .install-note{background:rgba(74,108,255,.08)}.aide-card{padding:12px}.aide-btn{width:100%;display:flex;align-items:center;gap:12px;padding:13px 12px;border:none;border-radius:14px;cursor:pointer;font-family:inherit;text-align:left;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;margin-bottom:0}.aide-btn:active{transform:scale(.97)}.aide-btn-primary{background:var(--btn-primary);color:#fff;box-shadow:var(--btn-ps)}.aide-btn-gold{background:linear-gradient(135deg,#ffc850,#f0a500);color:#5a3500;box-shadow:0 4px 16px rgba(255,180,0,.35)}[data-theme=hardcore] .aide-btn-gold{background:linear-gradient(135deg,rgba(255,200,80,.18),rgba(255,200,80,.08));color:#ffc850;box-shadow:0 4px 16px rgba(0,0,0,.5);border:1px solid rgba(255,200,80,.25)}.aide-btn-teal{background:linear-gradient(135deg,#00c4e9,#0090bb);color:#fff;box-shadow:0 4px 16px rgba(0,180,220,.35)}[data-theme=hardcore] .aide-btn-teal{background:linear-gradient(135deg,rgba(0,196,233,.18),rgba(0,196,233,.06));color:#00c4e9;box-shadow:0 4px 16px rgba(0,0,0,.5);border:1px solid rgba(0,196,233,.25)}.aide-btn-install{background:var(--gbg);backdrop-filter:var(--blur);border:1.5px dashed var(--input-border)!important;color:var(--text);box-shadow:var(--gb-shadow)}.aide-btn-install.installed{background:linear-gradient(135deg,#16a34a,#22c55e);border:none!important;color:#fff;box-shadow:0 4px 16px rgba(34,197,94,.4)}.aide-icon{font-size:24px;flex-shrink:0;width:32px;text-align:center}.aide-text{flex:1;display:flex;flex-direction:column;gap:2px}.aide-title{font-size:13px;font-weight:800}.aide-sub{font-size:10px;opacity:.75}.aide-arrow{font-size:18px;opacity:.6;font-weight:700}.btn-effacer{width:100%;padding:10px;border:1.5px dashed rgba(220,50,50,.4);border-radius:11px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;background:rgba(220,50,50,.06);color:#c04040;transition:.2s}.btn-effacer:hover{background:rgba(220,50,50,.12)}[data-theme=hardcore] .btn-effacer{border-color:rgba(255,80,80,.3);color:#ff8080;background:rgba(220,50,50,.08)}.chapter-list{display:flex;flex-direction:column;gap:5px;margin-top:6px}.chapter-row{display:flex;align-items:center;gap:6px}.chapter-input{flex:1;padding:6px 9px;border:1.5px solid var(--input-border);border-radius:9px;font-size:12px;color:var(--text);background:var(--input-bg);outline:0;font-family:inherit}.chapter-input:focus{border-color:var(--input-focus)}[data-theme=hardcore] .chapter-input{color:#b8cce8}.chapter-del{background:0 0;border:none;cursor:pointer;font-size:15px;opacity:.6;padding:2px 4px;flex-shrink:0}.chapter-add{background:var(--gbg);backdrop-filter:var(--blur);border:1px solid var(--gb-border);border-radius:9px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;color:var(--gb-text);margin-top:4px;width:100%}.chap-item{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-bottom:1px solid var(--input-border)}.chap-item:last-child{border-bottom:none}.chap-cb{width:18px;height:18px;border-radius:5px;border:2px solid var(--input-border);cursor:pointer;flex-shrink:0;appearance:none;-webkit-appearance:none;background:var(--input-bg);margin-top:1px;transition:.2s}.chap-cb:checked{background:var(--primary);border-color:var(--primary)}[data-theme=hardcore] .chap-cb:checked{background:#4a6cff;border-color:#4a6cff}.chap-label{flex:1;font-size:13px;color:var(--text);line-height:1.4;cursor:pointer;transition:.2s}.chap-label.done{text-decoration:line-through;opacity:.45}.chap-badge{font-size:9px;padding:2px 6px;border-radius:10px;background:rgba(109,200,42,.15);color:#2a8a00;font-weight:700;flex-shrink:0}[data-theme=hardcore] .chap-badge{background:rgba(109,200,42,.1);color:#6dc82a}#statsModal{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s}#statsModal.open{opacity:1;pointer-events:all}#statsModal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(8px)}#statsModal-sheet{position:relative;z-index:1;background:var(--modal-bg);backdrop-filter:var(--blur);border:1px solid var(--card-border);border-radius:22px 22px 0 0;padding:16px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;transform:translateY(100%);transition:transform .38s cubic-bezier(.34,1.56,.64,1);color:var(--text);margin:0 auto}#statsModal.open #statsModal-sheet{transform:translateY(0)}#pomodoroWidget{position:fixed;top:calc(env(safe-area-inset-top,0px)+58px);right:10px;z-index:205;background:var(--card-bg);backdrop-filter:var(--card-blur);border:1.5px solid var(--card-border);border-radius:14px;padding:6px 10px;min-width:72px;text-align:center;box-shadow:var(--card-shadow);display:none;cursor:pointer;user-select:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1),border-color .3s}#pomodoroWidget:hover{transform:scale(1.06)}#pomodoroWidget:active{transform:scale(.97)}#pomodoroWidget.show{display:block;animation:.3s popIn}#pomodoroWidget.pomo-break{border-color:rgba(255,150,50,.55)}#pomoTime{font-size:15px;font-weight:800;color:var(--text);display:block;line-height:1.2;font-variant-numeric:tabular-nums}#pomoLabel{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-top:1px;display:flex;align-items:center;justify-content:center;gap:3px}.pomo-run-dot{width:5px;height:5px;background:#6dc82a;border-radius:50%;display:none;animation:1.1s ease-in-out infinite pomoBlink;flex-shrink:0}.pomo-run-dot.on{display:inline-block}@keyframes pomoBlink{0%,100%{opacity:1}50%{opacity:.15}}.pomo-ring{width:44px;height:44px;margin:0 auto 3px;position:relative}.pomo-ring svg{transform:rotate(-90deg)}#pomoModal{position:fixed;inset:0;z-index:360;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s}#pomoModal.open{opacity:1;pointer-events:all}#pomoModal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(10px)}#pomoModal-sheet{position:relative;z-index:1;background:var(--modal-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--card-border);border-radius:24px 24px 0 0;padding:18px 24px 40px;width:100%;max-width:460px;text-align:center;transform:translateY(100%);transition:transform .38s cubic-bezier(.34,1.56,.64,1);color:var(--text)}#pomoModal.open #pomoModal-sheet{transform:translateY(0)}.pomo-modal-ring{margin:4px auto 10px;position:relative;width:160px;height:160px}.pomo-modal-ring svg{transform:rotate(-90deg);width:160px;height:160px}#pomoModalTime{font-size:48px;font-weight:800;color:var(--text);line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}#pomoModalPhase{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin:6px 0 20px;display:flex;align-items:center;justify-content:center;gap:5px}.pomo-modal-inputs{display:flex;gap:20px;justify-content:center;margin-bottom:22px}.pomo-inp-grp{display:flex;flex-direction:column;align-items:center;gap:3px}.pomo-inp-lbl{font-size:9px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.pomo-inp{width:54px;padding:6px 4px;border:1.5px solid var(--input-border);border-radius:10px;font-size:16px;font-weight:700;text-align:center;background:var(--input-bg);color:var(--text);font-family:inherit;outline:0}.pomo-inp:focus{border-color:var(--input-focus)}.pomo-inp-unit{font-size:9px;color:var(--text-muted)}.pomo-modal-btns{display:flex;gap:12px;justify-content:center;align-items:center}.pomo-play-btn{width:62px;height:62px;border-radius:50%;border:none;cursor:pointer;font-size:24px;background:var(--btn-primary);color:#fff;box-shadow:var(--btn-ps);display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.pomo-play-btn:active{transform:scale(.9)}.pomo-reset-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--input-border);cursor:pointer;font-size:20px;background:var(--gbg);color:var(--gb-text);display:flex;align-items:center;justify-content:center;transition:transform .2s}.pomo-reset-btn:active{transform:scale(.9)}.conf-stars{display:flex;gap:3px;margin-top:3px}.conf-star{width:18px;height:18px;border-radius:50%;border:2px solid var(--input-border);cursor:pointer;transition:.2s;background:0 0;flex-shrink:0}.conf-star.active-1{background:#6dc82a;border-color:#6dc82a}.conf-star.active-2{background:#ffc850;border-color:#ffc850}.conf-star.active-3{background:#ff8a1f;border-color:#ff8a1f}.bar-chart-wrap{margin-top:10px}.bar-chart-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.bar-chart-label{font-size:10px;font-weight:700;color:var(--text);min-width:80px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-chart-track{flex:1;height:14px;background:var(--input-bg);border-radius:20px;overflow:visible;border:1.5px solid var(--input-border);position:relative}.bar-chart-fill{height:100%;border-radius:20px;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.bar-chart-val{font-size:9px;color:var(--text-muted);min-width:30px;text-align:right}@media print{#appScroll,#appWrapper,body{overflow:visible!important;height:auto!important;max-width:100%!important;background:#fff!important}#editActions,#installBanner,#nextBubble,#pomodoroWidget,#toast,.btn-effacer,.btn-glass,.card:not(.print-cal),.chapter-add,.header,.page,.tabnav,button{display:none!important}.card.print-cal{display:block!important;break-inside:avoid}#printCalendarContainer{display:block!important}.cal-day,.cal-grid,.cal-lbl{display:grid!important}.cal-day{border:1px solid #aaa!important;min-height:48px!important;background:#fff!important;page-break-inside:avoid;font-size:8px!important}.cal-day.ex-easy{background:#d4f0c0!important}.cal-day.ex-med{background:#c0eaf8!important}.cal-day.ex-hard{background:#fde0c0!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;backdrop-filter:none!important}}@keyframes logoSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.logo-popping{animation:.6s cubic-bezier(.4,0,.2,1) forwards logoSpin!important;transform-origin:center}@keyframes popIn{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.shake{animation:.3s shake}#editModal{position:fixed;inset:0;z-index:410;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s}#editModal.open{opacity:1;pointer-events:all}#editModal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(8px)}#editModal-sheet{position:relative;z-index:1;background:var(--modal-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--card-border);border-radius:22px 22px 0 0;padding:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;transform:translateY(100%);transition:transform .38s cubic-bezier(.34,1.56,.64,1);color:var(--text);margin:0 auto}#editModal.open #editModal-sheet{transform:translateY(0)}#authOverlay{position:fixed;inset:0;z-index:9998;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;overflow-y:auto;background:linear-gradient(160deg,#cde8ff 0,#fffbe8 60%,#e8f8ff 100%)}#authOverlay.hidden{display:none}#authCard{width:100%;max-width:400px;background:rgba(255,255,255,.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1.5px solid rgba(255,255,255,.9);border-radius:28px;padding:32px 28px;box-shadow:0 8px 40px rgba(0,100,255,.1)}.auth-logo{display:flex;justify-content:center;margin-bottom:20px}.auth-logo-wrap{cursor:pointer;width:112px;height:112px;border-radius:50%;background:#12413b;overflow:hidden;position:relative;isolation:isolate;transform:translateZ(0);box-shadow:0 6px 20px rgba(18,65,59,.28);flex-shrink:0}.auth-logo-wrap img{display:block;width:112px;height:112px;border-radius:0;border:none;outline:0}.auth-logo-wrap::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 11px #12413b;pointer-events:none;z-index:2}.logo-sm-wrap{position:relative;width:48px;height:48px;border-radius:50%;overflow:hidden;isolation:isolate;transform:translateZ(0);flex-shrink:0}.logo-sm-wrap img{display:block;width:48px;height:48px;border:none;outline:0}.logo-sm-wrap::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 5px #065f46;pointer-events:none;z-index:2}[data-theme=hardcore] .logo-sm-wrap::after{box-shadow:inset 0 0 0 5px #020610}input[type=password]::-ms-clear,input[type=password]::-ms-reveal{display:none}input[type=password]::-webkit-credentials-auto-fill-button{visibility:hidden}#authTitle{font-size:22px;font-weight:800;color:#12413b;text-align:center;margin-bottom:4px}#authSubtitle{font-size:12px;color:#5a80aa;text-align:center;margin-bottom:20px}.auth-field{margin-bottom:13px;position:relative}.auth-field label{display:block;font-size:11px;font-weight:700;color:#12413b;margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}.auth-field input{width:100%;padding:12px 14px;border:1.5px solid rgba(0,100,200,.18);border-radius:12px;font-size:14px;background:rgba(255,255,255,.8);color:#003566;font-family:inherit;outline:0;transition:border-color .2s}.auth-field input:focus{border-color:#007aff}#authError{min-height:18px;font-size:12px;color:#e0401a;text-align:center;margin-bottom:8px;font-weight:600}.auth-remember{display:flex;align-items:center;gap:8px;font-size:12px;color:#5a80aa;margin-bottom:16px;cursor:pointer}.auth-remember input{width:15px;height:15px;accent-color:#007AFF;cursor:pointer}#authSubmitBtn{width:100%;padding:13px;background:linear-gradient(135deg,#007aff,#00c4e9);color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 4px 16px rgba(0,122,255,.28);transition:opacity .2s;font-family:inherit}#authSubmitBtn:disabled{opacity:.55;cursor:default}.auth-toggle{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:12px;color:#5a80aa}.auth-toggle button{background:0 0;border:none;color:#007aff;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit;padding:0}.auth-sep{width:100%;height:1px;background:rgba(0,100,200,.1);margin:14px 0}.auth-pwd-wrap{position:relative}.auth-pwd-wrap input{padding-right:38px}.auth-pwd-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:0 0;border:none;cursor:pointer;font-size:16px;color:#5a80aa;padding:0;line-height:1}.auth-user-bar{display:flex;align-items:center;justify-content:space-between;background:rgba(18,65,59,.06);border-radius:10px;padding:7px 12px;margin-bottom:10px;font-size:12px;color:#12413b}.auth-signout-btn{background:0 0;border:1.5px solid #e04020;border-radius:8px;color:#e04020;font-size:11px;font-weight:700;padding:4px 10px;cursor:pointer;font-family:inherit}#splashScreen{position:fixed;inset:0;z-index:9999;overflow:hidden;background:radial-gradient(ellipse at 50% 0,#0fb5a0 0,#0a7a8c 30%,#0a4d6e 60%,#071d3f 100%);transition:opacity .6s,visibility .6s}#splashScreen.hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-bubble{position:absolute;border-radius:50%;animation:linear infinite splashBubbleUp}.splash-bubble.filled{background:rgba(13,200,185,.18)}.splash-bubble.outlined{background:0 0;border:1.5px solid rgba(13,200,185,.45);box-shadow:0 0 10px rgba(13,200,185,.15),inset 0 0 6px rgba(13,200,185,.08)}@keyframes splashBubbleUp{0%{transform:translateY(0);opacity:0}8%{opacity:1}92%{opacity:.7}100%{transform:translateY(-110vh);opacity:0}}#installAuthWrap{width:100%;max-width:400px;margin-top:12px}.install-auth-toggle{width:100%;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.68);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1.5px solid rgba(255,255,255,.92);border-radius:18px;padding:12px 16px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;color:#065f46;box-shadow:0 4px 16px rgba(6,95,70,.07);transition:background .2s}.install-auth-toggle:hover{background:rgba(255,255,255,.88)}.install-auth-icon{font-size:19px}.install-auth-label{flex:1;text-align:left}.install-auth-chevron{font-size:17px;font-weight:400;color:#0ea5e9;transition:transform .25s;display:inline-block}.install-auth-chevron.open{transform:rotate(90deg)}.install-auth-body{max-height:0;overflow:hidden;transition:max-height .38s,padding .38s;background:rgba(255,255,255,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(255,255,255,.92);border-top:none;border-radius:0 0 18px 18px;margin-top:-10px;padding:0 14px}.install-auth-body.open{max-height:640px;padding:16px 14px 18px}