:root,.light{--ij-ref-color-teal-50: #e8f5f4;--ij-ref-color-teal-100: #daf1f0;--ij-ref-color-teal-200: #a9dedb;--ij-ref-color-teal-300: #3fbfb9;--ij-ref-color-teal-400: #0ea9a4;--ij-ref-color-teal-500: #2b7a78;--ij-ref-color-teal-600: #126d6a;--ij-ref-color-teal-700: #0c4a48;--ij-ref-color-teal-800: #005241;--ij-ref-color-teal-850: #004638;--ij-ref-color-teal-900: #06201f;--ij-ref-color-gold-300: #d8b24a;--ij-ref-color-gold-500: #ac8c28;--ij-ref-color-neutral-0: #ffffff;--ij-ref-color-neutral-25: #fefefe;--ij-ref-color-neutral-50: #fafafa;--ij-ref-color-neutral-75: #f8f8f8;--ij-ref-color-neutral-100: #ededed;--ij-ref-color-neutral-200: #cdcdcd;--ij-ref-color-neutral-700: #323232;--ij-ref-color-neutral-800: #242424;--ij-ref-color-gray-50: #f2f5f4;--ij-ref-color-gray-100: #eaecee;--ij-ref-color-gray-200: #dee3e3;--ij-ref-color-gray-300: #a7b4b3;--ij-ref-color-gray-400: #788c8b;--ij-ref-color-gray-500: #536564;--ij-ref-color-gray-700: #2e3a39;--ij-ref-color-gray-800: #1f2a29;--ij-ref-color-gray-850: #161e1d;--ij-ref-color-gray-900: #0e1413;--ij-ref-color-green-50: #ebf6ec;--ij-ref-color-green-300: #4cc85b;--ij-ref-color-green-400: #1cbd12;--ij-ref-color-green-500: #00910e;--ij-ref-color-green-600: #005b09;--ij-ref-color-green-900: #14301a;--ij-ref-color-red-50: #fbe9e7;--ij-ref-color-red-300: #f07167;--ij-ref-color-red-500: #db2719;--ij-ref-color-red-700: #b72115;--ij-ref-color-red-900: #3a1614;--ij-ref-color-orange-50: #fff4e6;--ij-ref-color-orange-300: #ffb74d;--ij-ref-color-orange-500: #ff9500;--ij-ref-color-orange-900: #3a2a12;--ij-ref-color-yellow-50: #fff9e5;--ij-ref-color-yellow-300: #ffeb3b;--ij-ref-color-blue-50: #e6f8fd;--ij-ref-color-blue-300: #64b6d6;--ij-ref-color-blue-500: #2b89a6;--ij-ref-color-legacy-dashboard-main: #189eb2;--ij-ref-color-legacy-dashboard-main-dark: #0e6b89;--ij-ref-color-legacy-dashboard-action: #008b8a;--ij-ref-color-legacy-dashboard-panel: #0e8a8c;--ij-ref-color-legacy-dashboard-panel-dark: #0a6e70;--ij-ref-color-legacy-dashboard-report: #008f91;--ij-ref-color-legacy-dashboard-report-dark: #006d74;--ij-ref-color-legacy-dashboard-sitebar: #013f47;--ij-ref-color-legacy-dashboard-sitebar-active: #01797c;--ij-ref-color-legacy-dashboard-btn-teal: #169fb3;--ij-ref-color-legacy-dashboard-teal-tint: #e9f4f4;--ij-ref-color-legacy-dashboard-teal-tint-2: #d3ebeb;--ij-ref-color-legacy-dashboard-ink: #173448;--ij-ref-color-legacy-dashboard-navy: #0c2c4a;--ij-ref-color-legacy-dashboard-text: #1b2c4a;--ij-ref-color-legacy-dashboard-muted: #6a8094;--ij-ref-color-legacy-dashboard-muted-light: #8aa0b0;--ij-ref-color-legacy-dashboard-line: #e6ebef;--ij-ref-color-legacy-dashboard-line-2: #eef2f5;--ij-ref-color-legacy-dashboard-canvas: #f2f6f8;--ij-ref-color-legacy-dashboard-amber: #c98a1e;--ij-ref-color-legacy-dashboard-amber-tint: #fbf3e2;--ij-ref-color-legacy-teacher-accent-yellow: #fff700;--ij-ref-color-legacy-teacher-warning: #e08300;--ij-ref-color-legacy-teacher-info-indigo: #3419c8;--ij-ref-color-legacy-teacher-blue: #2c64d3;--ij-ref-color-legacy-teacher-dark-blue: #005fff;--ij-ref-color-legacy-teacher-purple: #aa2ca6;--ij-ref-color-legacy-teacher-grey: #666666;--ij-ref-color-legacy-teacher-light-grey: #bcbcbc;--ij-ref-color-legacy-chat-teal: #3f7a75;--ij-ref-color-legacy-chat-gold: #c8a24a;--ij-ref-color-legacy-chat-cream: #eff5ee;--ij-ref-color-legacy-chat-green-700: #3b6a4e;--ij-space-s1: 4px;--ij-space-s2: 8px;--ij-space-s3: 12px;--ij-space-s4: 16px;--ij-space-s5: 20px;--ij-space-s6: 24px;--ij-space-s8: 32px;--ij-space-s12: 48px;--ij-radius-sm: 8px;--ij-radius-md: 12px;--ij-radius-lg: 16px;--ij-radius-xl: 24px;--ij-radius-pill: 999px;--ij-size-touch-target-min: 48px;--ij-elevation-card: 0px 4px 12px 0px rgb(0 0 0 / .06);--ij-elevation-sheet: 0px -4px 24px 0px rgb(0 0 0 / .1);--ij-elevation-floating: 0px 6px 16px 0px rgb(0 0 0 / .14);--ij-font-family-ui: Tajawal, "Segoe UI", system-ui, -apple-system, sans-serif;--ij-font-family-quran-page: QCF4;--ij-font-family-quran-chrome: Neirizi, ArabicNumber;--ij-font-weight-light: 300;--ij-font-weight-regular: 400;--ij-font-weight-medium: 500;--ij-font-weight-semibold: 600;--ij-font-weight-bold: 700;--ij-font-weight-extrabold: 800;--ij-font-size-caption: 12px;--ij-font-size-body-sm: 14px;--ij-font-size-body: 16px;--ij-font-size-h3: 18px;--ij-font-size-h2: 20px;--ij-font-size-h1: 24px;--ij-font-size-display: 28px;--ij-font-line-height-tight: 1.2;--ij-font-line-height-snug: 1.35;--ij-font-line-height-normal: 1.4;--ij-font-line-height-quran: 1.9;--ij-color-bg-canvas: #fafafa;--ij-color-bg-surface: #fefefe;--ij-color-bg-surface-variant: #f8f8f8;--ij-color-text-primary: #242424;--ij-color-text-secondary: #536564;--ij-color-text-disabled: #a7b4b3;--ij-color-text-on-action: #fefefe;--ij-color-action-primary: #126d6a;--ij-color-action-primary-hover: #0f5b58;--ij-color-action-primary-tint: rgb(18 109 106 / .1);--ij-color-action-secondary: #0ea9a4;--ij-color-accent-gold: #ac8c28;--ij-color-border-default: #dee3e3;--ij-color-border-strong: #a7b4b3;--ij-color-border-focus: #0ea9a4;--ij-color-status-success-fg: #00910e;--ij-color-status-success-bg: #ebf6ec;--ij-color-status-warning-fg: #ff9500;--ij-color-status-warning-bg: #fff4e6;--ij-color-status-danger-fg: #db2719;--ij-color-status-danger-bg: #fbe9e7;--ij-color-status-info-fg: #2b89a6;--ij-color-status-info-bg: #e6f8fd;--ij-color-overlay-shadow: rgb(0 0 0 / .06);--ij-color-overlay-scrim: rgb(0 0 0 / .46);--ij-comp-button-height-sm: 40px;--ij-comp-button-height-md: 48px;--ij-comp-button-height-lg: 56px;--ij-comp-button-radius: 12px;--ij-comp-button-font-size: 14px;--ij-comp-button-font-weight: 700;--ij-comp-card-radius: 16px;--ij-comp-card-padding: 16px;--ij-comp-field-radius: 12px;--ij-comp-field-height: 48px;--ij-comp-field-fill: #f8f8f8;--ij-comp-chip-radius: 10px;--ij-comp-sheet-radius: 24px}.dark{--ij-elevation-card: 0px 4px 12px 0px rgb(0 0 0 / .4);--ij-elevation-sheet: 0px -4px 24px 0px rgb(0 0 0 / .4);--ij-elevation-floating: 0px 6px 16px 0px rgb(0 0 0 / .4);--ij-color-bg-canvas: #0e1413;--ij-color-bg-surface: #161e1d;--ij-color-bg-surface-variant: #1f2a29;--ij-color-text-primary: #f2f5f4;--ij-color-text-secondary: #a7b4b3;--ij-color-text-disabled: #536564;--ij-color-text-on-action: #06201f;--ij-color-action-primary: #3fbfb9;--ij-color-action-primary-hover: #6ed4ce;--ij-color-action-primary-tint: rgb(63 191 185 / .2);--ij-color-accent-gold: #d8b24a;--ij-color-border-default: #2e3a39;--ij-color-border-strong: #788c8b;--ij-color-border-focus: #3fbfb9;--ij-color-status-success-fg: #4cc85b;--ij-color-status-success-bg: #14301a;--ij-color-status-warning-fg: #ffb74d;--ij-color-status-warning-bg: #3a2a12;--ij-color-status-danger-fg: #f07167;--ij-color-status-danger-bg: #3a1614;--ij-color-status-info-fg: #64b6d6;--ij-color-status-info-bg: #142832;--ij-color-overlay-shadow: rgb(0 0 0 / .4);--ij-color-overlay-scrim: rgb(0 0 0 / .71);--ij-comp-field-fill: #1f2a29}@font-face{font-family:Tajawal;src:url(/offline/assets/Tajawal-Regular-BF6-vjr0.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Tajawal;src:url(/offline/assets/Tajawal-Medium-BEy05kv0.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Tajawal;src:url(/offline/assets/Tajawal-Bold-iiJYAreQ.ttf) format("truetype");font-weight:700;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--ij-font-family-ui);font-size:var(--ij-font-size-body);line-height:var(--ij-font-line-height-snug);color:var(--ij-color-text-primary);background:var(--ij-color-bg-canvas);min-block-size:100dvh}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:disabled{cursor:default;opacity:.55}img{max-inline-size:100%;display:block}:focus-visible{outline:2px solid var(--ij-color-border-focus);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skip-link{position:absolute;inset-inline-start:-9999px}.skip-link:focus{inset-inline-start:8px;inset-block-start:8px;background:var(--ij-color-bg-surface);padding:8px 14px;border-radius:8px;z-index:60}.app-shell{min-block-size:100dvh;display:flex;flex-direction:column}.shell-content{flex:1;display:flex;flex-direction:column;inline-size:100%;max-inline-size:640px;margin-inline:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px var(--ij-space-s4);padding-block-start:calc(10px + env(safe-area-inset-top));background:var(--ij-color-bg-surface);border-block-end:1px solid var(--ij-color-border-default);position:sticky;inset-block-start:0;z-index:30}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand__copy{display:flex;flex-direction:column;line-height:var(--ij-font-line-height-tight)}.brand__copy strong{font-size:var(--ij-font-size-body);font-weight:var(--ij-font-weight-bold)}.brand__copy span{font-size:var(--ij-font-size-caption);color:var(--ij-color-text-secondary)}.topbar__logo{inline-size:36px;block-size:auto}.sync-pill{display:inline-flex;align-items:center;gap:6px;min-block-size:36px;padding:4px 12px;border-radius:999px;font-size:var(--ij-font-size-caption);font-weight:var(--ij-font-weight-bold)}.sync-pill .dot{inline-size:8px;block-size:8px;border-radius:999px;background:currentColor}.sync-pill--ok{background:var(--ij-color-status-success-bg);color:var(--ij-color-status-success-fg)}.sync-pill--sending{background:var(--ij-ref-color-teal-50);color:var(--ij-color-action-primary)}.sync-pill--sync{background:var(--ij-color-action-primary);color:var(--ij-color-text-on-action)}.sync-pill--failed{background:var(--ij-color-status-danger-bg);color:var(--ij-color-status-danger-fg)}.page{flex:1;display:flex;flex-direction:column;padding:var(--ij-space-s4);padding-block-end:calc(var(--ij-space-s4) + env(safe-area-inset-bottom));gap:var(--ij-space-s3)}.page--wide{max-inline-size:none}.page-head{display:flex;align-items:center;gap:10px}.page-head h1{flex:1;min-inline-size:0;font-size:var(--ij-font-size-h2);font-weight:800;line-height:1.25}.page-body{display:flex;flex-direction:column;gap:var(--ij-space-s3)}.student-name{flex:1;min-inline-size:0}.student-name h1{font-size:var(--ij-font-size-h1);font-weight:800}.student-name p{font-size:13px;color:var(--ij-color-text-secondary)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:var(--ij-comp-button-height-md);padding-inline:var(--ij-space-s5);border-radius:var(--ij-comp-button-radius);background:var(--ij-color-action-primary);color:var(--ij-color-text-on-action);font-size:var(--ij-font-size-body);font-weight:var(--ij-font-weight-bold)}.button:not(:disabled):active{background:var(--ij-color-action-primary-hover)}.button--quiet{background:var(--ij-color-bg-surface);color:var(--ij-color-text-primary);border:1px solid var(--ij-color-border-default)}.button--red-text{background:var(--ij-color-bg-surface);color:var(--ij-color-status-danger-fg);border:1px solid var(--ij-color-border-default)}.icon-disc,.back-disc{display:inline-flex;align-items:center;justify-content:center;inline-size:44px;block-size:44px;border-radius:999px;color:var(--ij-color-text-secondary);background:var(--ij-color-bg-surface-variant);flex-shrink:0}.field{inline-size:100%;min-block-size:var(--ij-comp-field-height);padding-inline:var(--ij-space-s3);border-radius:var(--ij-comp-field-radius);border:1px solid var(--ij-color-border-default);background:var(--ij-comp-field-fill, var(--ij-color-bg-surface-variant));font:inherit;color:inherit}.field:focus{border-color:var(--ij-color-border-focus);outline:none}.lf{display:flex;flex-direction:column;gap:6px}.lf label{font-size:var(--ij-font-size-body-sm);font-weight:var(--ij-font-weight-bold)}.form-error{color:var(--ij-color-status-danger-fg);font-size:var(--ij-font-size-body-sm);font-weight:var(--ij-font-weight-medium)}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--ij-comp-chip-radius);font-size:var(--ij-font-size-caption);font-weight:var(--ij-font-weight-bold);background:var(--ij-color-bg-surface-variant);color:var(--ij-color-text-secondary);white-space:nowrap;flex-shrink:0}.tag--success{background:var(--ij-color-status-success-bg);color:var(--ij-color-status-success-fg)}.tag--info{background:var(--ij-color-status-info-bg);color:var(--ij-color-status-info-fg)}.tag--danger{background:var(--ij-color-status-danger-bg);color:var(--ij-color-status-danger-fg)}.tag--warning{background:var(--ij-color-status-warning-bg);color:var(--ij-color-status-warning-fg)}.tag--neutral{background:var(--ij-color-bg-surface-variant);color:var(--ij-color-text-secondary)}.tag--action{border:0}.circ{inline-size:40px;block-size:40px;border-radius:999px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ij-color-border-strong);background:var(--ij-color-bg-surface);color:transparent}.circ.done{background:var(--ij-color-status-success-fg);border-color:var(--ij-color-status-success-fg);color:var(--ij-color-text-on-action)}.circ.bad{background:var(--ij-color-status-danger-bg);border-color:var(--ij-color-status-danger-fg);color:var(--ij-color-status-danger-fg)}.circ:disabled{border-style:dashed;opacity:.5}.circ.done:disabled{border-style:solid;opacity:1}.attendance-block,.lesson-section{display:flex;flex-direction:column;gap:8px}.expansion-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.expansion-heading strong,.expansion-heading h3{font-size:var(--ij-font-size-body-sm);font-weight:var(--ij-font-weight-bold);color:var(--ij-color-text-secondary)}.att-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.att{min-block-size:var(--ij-comp-button-height-md);border-radius:var(--ij-comp-button-radius);background:var(--ij-color-bg-surface);border:1px solid var(--ij-color-border-default);font-size:15px;font-weight:var(--ij-font-weight-medium)}.att.on-g{background:var(--ij-color-action-primary);border-color:var(--ij-color-action-primary);color:var(--ij-color-text-on-action);font-weight:var(--ij-font-weight-bold)}.att.on-o{background:var(--ij-color-status-warning-bg);border-color:var(--ij-color-status-warning-fg);color:var(--ij-color-status-warning-fg);font-weight:var(--ij-font-weight-bold)}.att.on-r{background:var(--ij-color-status-danger-bg);border-color:var(--ij-color-status-danger-fg);color:var(--ij-color-status-danger-fg);font-weight:var(--ij-font-weight-bold)}.lesson-list{display:flex;flex-direction:column;gap:10px}.lesson-row{display:flex;align-items:center;gap:12px;background:var(--ij-color-bg-surface);border:1px solid var(--ij-color-border-default);border-radius:var(--ij-comp-card-radius);padding:12px 14px}.lesson-open{flex:1;display:flex;flex-direction:column;gap:3px;text-align:start;min-inline-size:0}.lesson-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lesson-title{font-size:var(--ij-font-size-body);font-weight:var(--ij-font-weight-bold)}.lesson-range{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ij-color-text-secondary)}.range-part b{font-weight:var(--ij-font-weight-bold);color:var(--ij-color-text-primary)}.chev{color:var(--ij-color-text-disabled);flex-shrink:0}.locked-value{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--ij-comp-card-radius);background:var(--ij-color-bg-surface-variant);font-size:var(--ij-font-size-body-sm)}.locked-value span{color:var(--ij-color-text-secondary);font-size:var(--ij-font-size-caption)}.focus-foot{position:sticky;inset-block-end:0;z-index:20;display:flex;gap:8px;padding:12px var(--ij-space-s4);padding-block-end:calc(12px + env(safe-area-inset-bottom));margin-inline:calc(-1 * var(--ij-space-s4));margin-block-end:calc(-1 * var(--ij-space-s4));background:var(--ij-color-bg-surface);border-block-start:1px solid var(--ij-color-border-default)}.prev-btn{inline-size:96px}.next-btn{flex:1}.editor-stage{display:contents}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40}.lesson-editor{position:fixed;inset-inline:0;inset-block-end:0;z-index:50;max-inline-size:640px;margin-inline:auto;max-block-size:86dvh;display:flex;flex-direction:column;background:var(--ij-color-bg-surface);border-start-start-radius:var(--ij-comp-sheet-radius);border-start-end-radius:var(--ij-comp-sheet-radius);box-shadow:0 -8px 30px #00000026}.grabber{inline-size:44px;block-size:4px;border-radius:999px;background:var(--ij-color-border-strong);margin:8px auto 0}.editor-head{display:flex;align-items:center;gap:12px;padding:10px var(--ij-space-s4)}.editor-head .who{flex:1;min-inline-size:0}.editor-head .who b{font-size:var(--ij-font-size-h3);font-weight:var(--ij-font-weight-bold)}.squircle-face{display:inline-flex;align-items:center;justify-content:center;inline-size:40px;block-size:40px;border-radius:14px;font-weight:var(--ij-font-weight-bold);flex-shrink:0}.f-teal{background:var(--ij-color-action-primary-tint);color:var(--ij-color-action-primary)}.editor-scroll{overflow-y:auto;padding:0 var(--ij-space-s4) var(--ij-space-s4);display:flex;flex-direction:column;gap:var(--ij-space-s4)}.editor-section h3{font-size:var(--ij-font-size-body-sm);font-weight:var(--ij-font-weight-bold);color:var(--ij-color-text-secondary);margin-block-end:8px}.range-group{display:flex;flex-direction:column;gap:8px}.range-row{display:flex;align-items:center;gap:10px}.range-row .lab{inline-size:32px;font-weight:var(--ij-font-weight-bold);color:var(--ij-color-text-secondary);font-size:var(--ij-font-size-body-sm)}.range-fields{flex:1;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px}.range-fields.range-single{grid-template-columns:minmax(0,1fr)}.field-label{font-size:var(--ij-font-size-caption);color:var(--ij-color-text-secondary);font-weight:var(--ij-font-weight-bold)}.stepper-block{display:flex;flex-direction:column;gap:8px}.stepper-labels{display:flex;justify-content:space-between;gap:6px;font-size:var(--ij-font-size-caption);color:var(--ij-color-text-secondary)}.stepper-labels [aria-current=step]{color:var(--ij-color-action-primary);font-weight:var(--ij-font-weight-bold)}.steppers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.steppers--single{grid-template-columns:minmax(0,1fr)}.stepper{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--ij-color-border-default);border-radius:var(--ij-comp-field-radius);padding:8px 6px}.stepper .lab{font-size:var(--ij-font-size-caption);font-weight:var(--ij-font-weight-bold);color:var(--ij-color-text-secondary)}.stepper .num{font-size:var(--ij-font-size-h3);font-weight:var(--ij-font-weight-bold)}.stp-btns{display:flex;gap:10px}.stp{inline-size:44px;block-size:36px;border-radius:10px;background:var(--ij-color-bg-surface-variant);font-size:var(--ij-font-size-h3);font-weight:var(--ij-font-weight-bold);color:var(--ij-color-action-primary)}.contract-note{display:flex;align-items:center;gap:8px;color:var(--ij-color-status-success-fg);font-size:var(--ij-font-size-body-sm);font-weight:var(--ij-font-weight-bold)}.editor-foot{padding:10px var(--ij-space-s4);padding-block-end:calc(10px + env(safe-area-inset-bottom));border-block-start:1px solid var(--ij-color-border-default)}.editor-foot .actions{display:flex;flex-direction:row;gap:8px}.editor-foot .actions .button{flex:3;inline-size:auto;min-inline-size:0;min-block-size:var(--ij-comp-button-height-lg);font-size:17px}.editor-foot .actions .button--cancel{flex:1;font-size:14px;padding-inline:8px;white-space:nowrap}.editor-placeholder{display:none}.install-card{display:flex;align-items:center;gap:12px;background:var(--ij-ref-color-teal-50);border:1px solid var(--ij-ref-color-teal-200);border-radius:var(--ij-comp-card-radius);padding:12px 14px}.install-card__copy{flex:1;display:flex;flex-direction:column;gap:3px;min-inline-size:0}.install-card__copy strong{font-size:var(--ij-font-size-body-sm);font-weight:var(--ij-font-weight-bold);color:var(--ij-color-action-primary)}.install-card__copy span{font-size:var(--ij-font-size-caption);color:var(--ij-color-text-secondary)}.install-card__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.install-card__actions .button{min-block-size:40px;padding-inline:var(--ij-space-s4);font-size:var(--ij-font-size-body-sm)}.episode-card{display:flex;flex-direction:column;gap:10px;text-align:start;inline-size:100%;background:var(--ij-color-bg-surface);border:1px solid var(--ij-color-border-default);border-radius:var(--ij-comp-card-radius);padding:var(--ij-comp-card-padding)}.episode-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--ij-font-size-body-sm);color:var(--ij-color-text-secondary)}.progress-track{block-size:6px;border-radius:999px;background:var(--ij-color-bg-surface-variant);overflow:hidden}.progress-fill{display:block;block-size:6px;border-radius:999px;background:var(--ij-color-action-primary)}.account-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block-start:auto;padding-block-start:var(--ij-space-s4);color:var(--ij-color-text-secondary);font-size:var(--ij-font-size-body-sm)}.roster-list{display:flex;flex-direction:column;gap:10px}.roster-row{display:flex;align-items:center;gap:12px;inline-size:100%;text-align:start;background:var(--ij-color-bg-surface);border:1px solid var(--ij-color-border-default);border-radius:var(--ij-comp-card-radius);padding:12px 14px;min-block-size:64px}.roster-row__copy{flex:1;display:flex;flex-direction:column;gap:2px;min-inline-size:0}.roster-row__copy strong{font-size:var(--ij-font-size-body);font-weight:var(--ij-font-weight-bold)}.roster-row__copy span{font-size:13px;color:var(--ij-color-text-secondary)}.roster-row__state{display:flex;align-items:center;gap:8px;flex-shrink:0}.avatar-disc{display:inline-flex;align-items:center;justify-content:center;inline-size:40px;block-size:40px;border-radius:999px;background:var(--ij-color-action-primary-tint);color:var(--ij-color-action-primary);font-weight:var(--ij-font-weight-bold);flex-shrink:0}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40}.sync-sheet{position:fixed;inset-inline:0;inset-block-end:0;z-index:50;max-inline-size:640px;margin-inline:auto;max-block-size:80dvh;display:flex;flex-direction:column;gap:10px;background:var(--ij-color-bg-surface);border-start-start-radius:var(--ij-comp-sheet-radius);border-start-end-radius:var(--ij-comp-sheet-radius);padding:8px var(--ij-space-s4) calc(var(--ij-space-s4) + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #00000026}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block-start:6px}.sheet-head h2{font-size:var(--ij-font-size-h3);font-weight:var(--ij-font-weight-bold)}.sheet-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.sheet-row{display:flex;flex-direction:column;gap:3px;border:1px solid var(--ij-color-border-default);border-radius:var(--ij-comp-field-radius);padding:10px 12px;font-size:var(--ij-font-size-body-sm)}.sheet-row b{font-weight:var(--ij-font-weight-bold)}.sheet-row__error{color:var(--ij-color-status-danger-fg);font-size:var(--ij-font-size-caption)}.compact-action{align-self:flex-start;color:var(--ij-color-status-danger-fg);font-size:var(--ij-font-size-caption);font-weight:var(--ij-font-weight-bold);min-block-size:32px}.auth-page{min-block-size:100dvh;display:flex;flex-direction:column;background:var(--ij-color-bg-canvas)}.auth-page .page{max-inline-size:480px;inline-size:100%;margin-inline:auto;justify-content:center}.auth-hero{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin-block-end:var(--ij-space-s4)}.auth-hero h1{font-size:var(--ij-font-size-display);font-weight:800}.auth-hero p{color:var(--ij-color-text-secondary);font-size:var(--ij-font-size-body-sm)}.app-icon{inline-size:72px;block-size:72px;display:flex;align-items:center;justify-content:center;margin-block-end:6px}.login-fields{display:flex;flex-direction:column;gap:var(--ij-space-s3)}.login-cta{inline-size:100%;margin-block-start:var(--ij-space-s4);min-block-size:var(--ij-comp-button-height-lg)}.login-note{text-align:center;color:var(--ij-color-text-secondary);font-size:var(--ij-font-size-caption);margin-block-start:10px}.login-version{text-align:center;color:var(--ij-color-text-tertiary, var(--ij-color-text-secondary));font-size:10px;opacity:.7;margin-block-start:18px;-webkit-user-select:all;user-select:all}.auth-alert{margin-block-start:10px;text-align:center}.init-panel{background:var(--ij-color-bg-surface);border:1px solid var(--ij-color-border-default);border-radius:var(--ij-comp-card-radius);padding:var(--ij-space-s5)}.init-progress{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.init-progress h2{font-size:var(--ij-font-size-h3)}.init-progress p{color:var(--ij-color-text-secondary);font-size:var(--ij-font-size-body-sm)}.init-bar{inline-size:100%;block-size:6px;border-radius:999px;background:var(--ij-color-bg-surface-variant);overflow:hidden}.init-bar span{display:block;block-size:6px;background:var(--ij-color-action-primary);border-radius:999px}.init-list{list-style:none;margin:var(--ij-space-s3) 0 0;padding:0;display:flex;flex-direction:column;gap:8px;inline-size:100%}.init-list li{display:flex;align-items:center;gap:8px;font-size:var(--ij-font-size-body-sm)}.init-check{inline-size:10px;block-size:10px;border-radius:999px;background:var(--ij-color-action-primary)}.init-error{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.init-error h2{font-size:var(--ij-font-size-body)}.init-error__mark{color:var(--ij-color-status-danger-fg)}.loader-ring{inline-size:24px;block-size:24px;border-radius:999px;border:3px solid var(--ij-color-border-default);border-block-start-color:var(--ij-color-action-primary);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;align-items:center;justify-content:center;padding:var(--ij-space-s8) 0;color:var(--ij-color-text-secondary);text-align:center}.empty-state h2{font-size:var(--ij-font-size-body);font-weight:var(--ij-font-weight-medium)}.ok-mark{color:var(--ij-color-status-success-fg)}.toast-host{position:fixed;inset-inline:0;inset-block-end:calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:70;pointer-events:none}.toast{background:var(--ij-ref-color-gray-800);color:var(--ij-ref-color-neutral-25);padding:10px 18px;border-radius:999px;font-size:var(--ij-font-size-body-sm);font-weight:var(--ij-font-weight-medium)}.route-fade-enter-active,.route-fade-leave-active{transition:opacity .15s ease}.route-fade-enter-from,.route-fade-leave-to{opacity:0}.select-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:60}.select-sheet{position:fixed;inset-inline:0;inset-block-end:0;z-index:70;max-inline-size:640px;margin-inline:auto;max-block-size:75dvh;display:flex;flex-direction:column;gap:10px;background:var(--ij-color-bg-surface);border-start-start-radius:var(--ij-comp-sheet-radius);border-start-end-radius:var(--ij-comp-sheet-radius);padding:0 var(--ij-space-s4) calc(var(--ij-space-s4) + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #00000026}.select-sheet .sheet-head{padding-block-start:2px}.sheet-search{display:flex;align-items:center;gap:8px;background:var(--ij-color-bg-surface-variant);border-radius:var(--ij-comp-field-radius);padding:10px 12px;color:var(--ij-color-text-secondary)}.sheet-search input{flex:1;border:0;background:transparent;font:inherit;font-size:var(--ij-font-size-body);color:var(--ij-color-text-primary)}.sheet-search input:focus{outline:none}.opt-list{overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding-block-end:6px}.opt-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-block-size:50px;padding:8px 10px;text-align:start;background:none;border:0;border-block-end:1px solid var(--ij-color-border-default);font:inherit;font-size:var(--ij-font-size-body);color:var(--ij-color-text-primary);border-radius:10px;cursor:pointer}.opt-row:last-child{border-block-end:0}.opt-row.is-selected{background:var(--ij-color-action-primary-tint);color:var(--ij-color-action-primary);font-weight:var(--ij-font-weight-bold)}.opt-text{display:flex;flex-direction:column;gap:2px}.opt-sub{font-size:var(--ij-font-size-caption);color:var(--ij-color-text-secondary);font-weight:var(--ij-font-weight-regular)}.select-field{flex:1;min-inline-size:0;display:flex;align-items:center;justify-content:space-between;gap:6px;min-block-size:44px;padding:8px 12px;background:var(--ij-color-bg-surface);border:1px solid var(--ij-color-border-default);border-radius:var(--ij-comp-field-radius);font:inherit;font-size:var(--ij-font-size-body);color:var(--ij-color-text-secondary);text-align:start;cursor:pointer}.select-field.has-value{color:var(--ij-color-text-primary);font-weight:var(--ij-font-weight-medium)}.select-field:disabled{background:var(--ij-color-bg-surface-variant);color:var(--ij-color-text-secondary);cursor:default}.select-field svg{flex:none;color:var(--ij-color-text-secondary)}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-wrap{position:relative;display:inline-flex;flex:none}.logo-web-badge{position:absolute;inset-block-end:-3px;inset-inline-start:-5px;inline-size:16px;block-size:16px;display:grid;place-items:center;background:var(--ij-color-bg-surface);color:var(--ij-color-action-primary);border:1px solid var(--ij-color-border-default);border-radius:999px}.button--cancel{color:var(--ij-color-status-danger-fg)}.maintenance-note{background:var(--ij-color-status-info-bg);color:var(--ij-color-status-info-fg);border-radius:10px;padding:10px 14px;margin-block-end:12px;font-size:var(--ij-font-size-caption);font-weight:var(--ij-font-weight-bold)}
