:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f5f7fb;--surface:#fff;--surface-soft:#eef3fb;--surface-muted:#f0f3f7;--text:#172033;--text-soft:#667085;--text-faint:#98a2b3;--line:#e6eaf0;--primary:#2d6cdf;--primary-dark:#1f56bd;--primary-soft:#eaf1ff;--orange:#f0a04b;--danger:#d95757;--danger-soft:#fff0ef;--success:#2b9b72;--shadow:0 10px 30px #1b2e520f;--radius-lg:22px;--radius-md:15px;--radius-sm:10px;background:#f5f7fb;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111827;--surface:#1c2535;--surface-soft:#23304a;--surface-muted:#202b3d;--text:#f1f5fb;--text-soft:#aab6c7;--text-faint:#77859b;--line:#334158;--primary:#79a5ff;--primary-dark:#a9c4ff;--primary-soft:#253b67;--danger:#ff8d8d;--danger-soft:#482d35;--success:#64d0a3;--shadow:0 10px 30px #0003}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111827;--surface:#1c2535;--surface-soft:#23304a;--surface-muted:#202b3d;--text:#f1f5fb;--text-soft:#aab6c7;--text-faint:#77859b;--line:#334158;--primary:#79a5ff;--primary-dark:#a9c4ff;--primary-soft:#253b67;--danger:#ff8d8d;--danger-soft:#482d35;--success:#64d0a3;--shadow:0 10px 30px #0003}}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 32%, transparent);outline-offset:2px}#root,.app-shell{min-height:100vh}.main-content{width:min(100%,720px);padding:26px 18px calc(112px + env(safe-area-inset-bottom));margin:0 auto}.home-main-content{width:100%;padding:0}.page{animation:.22s ease-out page-in}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.loading-screen{min-height:100vh;color:var(--text-soft);text-align:center;place-content:center;justify-items:center;gap:10px;padding:24px;display:grid}.loading-screen p{margin:0;font-size:14px}.loading-mark{background:var(--primary);color:#fff;border-radius:17px;place-items:center;width:52px;height:52px;font-size:26px;font-weight:800;display:grid;box-shadow:0 10px 22px #2d6cdf47}.login-screen{padding:20px}.login-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,390px);box-shadow:var(--shadow);text-align:center;justify-items:center;gap:12px;padding:32px 24px 26px;display:grid}.login-card .loading-mark{margin-bottom:2px}.login-card .eyebrow{margin:0}.login-card h1{font-size:24px}.login-hint{max-width:280px;color:var(--text-soft);font-size:13px;line-height:1.6}.login-form{text-align:left;gap:13px;width:100%;margin-top:6px;display:grid}.form-field{color:var(--text-soft);gap:6px;font-size:12px;font-weight:650;display:grid}.form-field input{border:1px solid var(--line);background:var(--surface-muted);width:100%;min-height:44px;color:var(--text);border-radius:11px;padding:0 13px}.form-field input:read-only{color:var(--text-soft)}.login-error{color:var(--danger);margin:0;font-size:13px;line-height:1.45}.login-submit{width:100%;margin-top:4px}.error-screen h1{color:var(--text);margin:10px 0 0;font-size:20px}.error-screen p{max-width:320px;line-height:1.6}.empty-icon{background:var(--danger-soft);width:46px;height:46px;color:var(--danger);border-radius:15px;place-items:center;font-size:24px;font-weight:800;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.today-header{align-items:center}.eyebrow{color:var(--primary);letter-spacing:.08em;margin:0 0 6px;font-size:12px;font-weight:750}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.035em;margin:0;font-size:clamp(25px,6vw,32px);line-height:1.18}h2{letter-spacing:-.02em;margin:0;font-size:18px}h3{letter-spacing:-.015em;margin:0;font-size:17px;line-height:1.42}.header-hint{color:var(--text-faint);text-align:right;max-width:100px;font-size:12px;line-height:1.4}.icon-button{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--text-soft);border-radius:13px;flex:none;place-items:center;font-size:25px;line-height:1;transition:transform .15s,border-color .15s,color .15s;display:grid;box-shadow:0 2px 8px #1b2e5208}.icon-button:hover{border-color:var(--primary);color:var(--primary)}.icon-button:active{transform:scale(.95)}.header-add{background:var(--primary);border-color:var(--primary);color:#fff;font-size:28px;box-shadow:0 8px 18px #2d6cdf38}.text-button{color:var(--primary);background:0 0;padding:8px 3px;font-size:13px;font-weight:700}.text-button:hover{color:var(--primary-dark)}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin:27px 0 12px;display:flex}.section-heading p{color:var(--text-soft);margin:4px 0 0;font-size:12px}.subject-queue-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;display:grid}.subject-queue-column{--subject-color:var(--primary);border:1px solid color-mix(in srgb, var(--subject-color) 22%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--subject-color) 3%, var(--surface));min-width:0;overflow:hidden}.subject-queue-header{border-bottom:1px solid color-mix(in srgb, var(--subject-color) 18%, var(--line));background:color-mix(in srgb, var(--subject-color) 8%, var(--surface));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;min-height:44px;padding:9px 8px;display:grid}.subject-queue-header h2{color:var(--subject-color);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.subject-queue-dot{background:var(--subject-color);border-radius:50%;width:7px;height:7px}.subject-queue-count{background:var(--surface);min-width:20px;color:var(--subject-color);text-align:center;border-radius:99px;padding:3px 5px;font-size:10px;font-weight:800}.subject-queue-list{gap:7px;padding:7px;display:grid}.subject-queue-empty{color:var(--text-faint);text-align:center;padding:24px 4px;font-size:10px}.project-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);transition:border-color .15s,box-shadow .15s;overflow:hidden;box-shadow:0 4px 15px #1b2e5209}.project-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line));box-shadow:var(--shadow)}.mastered-card{border-color:color-mix(in srgb, var(--success) 22%, var(--line))}.card-main{text-align:left;background:0 0;width:100%;padding:16px 16px 12px;display:block}.card-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.subject-pill{--pill-color:var(--primary);max-width:100%;color:var(--pill-color);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:750;display:inline-flex}.subject-pill.compact{font-size:11px}.subject-dot{background:var(--pill-color);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--pill-color) 14%, transparent);border-radius:50%;flex:none}.due-badge,.mastery-badge{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.due-badge.overdue{background:var(--danger-soft);color:var(--danger)}.mastery-badge{background:color-mix(in srgb, var(--success) 13%, var(--surface));color:var(--success)}.badge-check{font-size:12px}.card-main h3{color:var(--text)}.source-content{flex-wrap:wrap;align-items:baseline;gap:6px;max-width:100%;display:inline-flex}.source-content-tag{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:6px;flex:none;padding:2px 7px;font-size:.68em;font-weight:750;line-height:1.5;display:inline-flex}.source-content-text{min-width:0}.source-content.compact{flex-wrap:nowrap;align-items:center;width:100%}.source-content.compact .source-content-tag{font-size:10px}.source-content.compact .source-content-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-meta{color:var(--text-faint);flex-wrap:wrap;gap:5px;margin-top:10px;font-size:11px;display:flex}.tag-row{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.tag{background:var(--surface-muted);color:var(--text-soft);border-radius:6px;padding:4px 7px;font-size:11px}.card-actions{gap:8px;padding:0 16px 15px;display:flex}.card-complete-button{background:var(--primary);color:#fff;flex:auto;padding:0;font-size:21px;line-height:1;box-shadow:0 7px 16px #2d6cdf38}.subject-queue-column .project-card{box-shadow:none;border-radius:10px}.subject-queue-column .card-main{padding:9px 8px 7px}.subject-queue-column .card-topline{justify-content:flex-start;align-items:flex-start;gap:4px;margin-bottom:7px}.subject-queue-column .due-badge,.subject-queue-column .mastery-badge{padding:3px 5px;font-size:9px}.subject-queue-column .card-main h3{font-size:12px;line-height:1.4}.subject-queue-column .source-content{display:block}.subject-queue-column .source-content-tag{margin-bottom:4px;font-size:9px}.subject-queue-column .source-content-text{display:block}.subject-queue-column .card-meta{gap:3px;margin-top:7px;font-size:9px}.subject-queue-column .card-actions{gap:5px;padding:0 7px 8px}.subject-queue-column .card-actions .button{border-radius:8px;min-height:34px;padding:6px 7px;font-size:10px}.subject-queue-column .card-actions .card-complete-button{flex:auto;padding:0;font-size:17px}.button{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:10px 15px;font-size:13px;font-weight:750;transition:transform .15s,filter .15s,background .15s;display:inline-flex}.button:active{transform:scale(.98)}.button.primary{background:var(--primary);color:#fff;box-shadow:0 7px 16px #2d6cdf33}.button.primary:hover{filter:brightness(1.05)}.button.reset-button{background:var(--primary);color:#fff}.button.mastery-button{border-color:color-mix(in srgb, var(--orange) 44%, var(--line));background:color-mix(in srgb, var(--orange) 10%, var(--surface));color:color-mix(in srgb, var(--orange) 80%, #7a4b12)}.button.ghost{border-color:var(--line);background:var(--surface);color:var(--text-soft)}.button.ghost:hover{border-color:var(--primary);color:var(--primary)}.danger-ghost{color:var(--danger)!important;border-color:color-mix(in srgb, var(--danger) 30%, var(--line))!important}.empty-state{border:1px dashed var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 65%, transparent);text-align:center;justify-items:center;padding:42px 24px;display:grid}.empty-illustration{background:color-mix(in srgb, var(--success) 15%, var(--surface));width:58px;height:58px;color:var(--success);border-radius:19px;place-items:center;margin-bottom:15px;font-size:29px;font-weight:800;display:grid}.empty-state h2{font-size:18px}.empty-state p{max-width:290px;color:var(--text-soft);margin:9px 0 19px;font-size:13px;line-height:1.65}.bottom-nav{z-index:20;width:min(100%,720px);padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb, var(--line) 85%, transparent);background:color-mix(in srgb, var(--surface) 91%, transparent);-webkit-backdrop-filter:blur(18px);grid-template-columns:repeat(6,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{min-height:48px;color:var(--text-faint);background:0 0;place-items:center;gap:2px;font-size:10px;font-weight:650;display:grid}.nav-icon{border-radius:9px;place-items:center;width:29px;height:25px;font-size:20px;line-height:1;display:grid}.nav-item.active{color:var(--primary)}.nav-item.active .nav-icon{background:var(--primary-soft)}.page-home{min-height:100dvh}.clock-dashboard{width:100%;min-height:100dvh;padding:0 16px calc(72px + env(safe-area-inset-bottom));color:var(--text);text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:clamp(28px,4vh,54px);display:flex}.clock-dashboard-time{font-variant-numeric:tabular-nums;letter-spacing:-.06em;white-space:nowrap;font-size:clamp(64px,18vw,220px);font-weight:760;line-height:1}.clock-dashboard-countdown{color:var(--text);white-space:nowrap;justify-content:center;align-items:baseline;gap:.08em;font-size:clamp(16px,2vw,28px);font-weight:650;line-height:1;display:flex}.clock-dashboard-days{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:2.15em;font-weight:800;line-height:1}@media (orientation:landscape) and (height<=500px){.clock-dashboard{gap:clamp(18px,4vh,30px)}}.record-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);gap:18px;padding:20px;display:grid}.field-group{gap:8px;min-width:0;display:grid}.field-label{color:var(--text-soft);font-size:12px;font-weight:750}.required{color:var(--danger);margin-left:4px;font-size:10px;font-weight:650}.optional{color:var(--text-faint);margin-left:4px;font-size:10px;font-weight:500}.text-input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:10px;outline:none;padding:11px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.text-input::placeholder{color:var(--text-faint)}.text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}textarea.text-input{resize:vertical;min-height:80px;line-height:1.55}.content-input{font-size:16px}.subject-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.subject-option{border:1px solid var(--line);background:var(--surface);min-height:43px;color:var(--text-soft);border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.subject-option.selected{border-color:var(--option-color);background:color-mix(in srgb, var(--option-color) 11%, var(--surface));color:var(--option-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--option-color) 11%, transparent)}.subject-option-dot{background:var(--option-color);border-radius:50%;width:8px;height:8px}.source-manage-button{min-height:32px;padding:4px 2px;font-size:11px}.source-selector{flex-wrap:wrap;gap:8px;display:flex}.source-option{border:1px solid var(--line);background:var(--surface);min-height:37px;color:var(--text-soft);border-radius:99px;padding:7px 12px;font-size:12px;font-weight:700}.source-option.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 9%, transparent)}.source-empty-hint{color:var(--text-faint);margin:-1px 0 0;font-size:11px}.source-manager{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;gap:10px;padding:13px;display:grid}.source-manager-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.source-manager-heading strong{font-size:12px}.source-manager-heading span{color:var(--text-faint);font-size:10px}.source-manager-list{gap:7px;display:grid}.source-manager-row{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:7px;display:grid}.source-manager-row .text-input{background:var(--surface);min-height:40px}.source-remove-button{border:1px solid color-mix(in srgb, var(--danger) 25%, var(--line));background:var(--surface);width:42px;height:40px;color:var(--danger);border-radius:10px;font-size:21px;line-height:1}.source-add-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.source-add-row .button{min-height:44px}.source-library-save{width:100%;min-height:43px}.inline-fields{grid-template-columns:.9fr 1.1fr;gap:11px;display:grid}.more-toggle{color:var(--primary);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:0;font-size:12px;font-weight:700;display:flex}.chevron{font-size:19px;line-height:.8;transition:transform .15s}.chevron.up{transform:rotate(180deg)}.more-fields{gap:16px;padding-top:2px;display:grid}.save-record{width:100%;min-height:49px;margin-top:1px;font-size:14px}.source-library-section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);margin-top:18px;padding:15px;box-shadow:0 4px 14px #1b2e5206}.source-library-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.source-library-header h2{font-size:15px}.source-library-header p{color:var(--text-faint);margin:4px 0 0;font-size:10px}.source-library-preview{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.source-library-chip{background:var(--primary-soft);color:var(--primary);border-radius:99px;padding:5px 9px;font-size:11px;font-weight:700}.source-library-empty{color:var(--text-faint);margin:11px 0 0;font-size:11px}.source-library-section .source-manager{margin-top:12px}.records-section{margin-top:4px}.records-filters{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);gap:8px;padding:15px;display:grid}.records-filter-group{gap:8px;margin-top:5px;display:grid}.records-subject-options{flex-wrap:wrap;gap:7px;display:flex}.records-subject-option{border:1px solid var(--line);background:var(--surface);min-height:35px;color:var(--text-soft);border-radius:99px;padding:6px 12px;font-size:12px;font-weight:700}.records-subject-option.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.records-label-select{min-height:42px;font-size:13px}.records-result-count{color:var(--text-faint);margin:15px 2px 8px;font-size:11px}.records-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);display:grid;overflow:hidden}.records-item{border-bottom:1px solid var(--line);text-align:left;background:0 0;gap:8px;width:100%;min-width:0;padding:13px 14px;display:grid}.records-item:last-child{border-bottom:0}.records-item:hover{background:var(--surface-muted)}.records-item-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.records-item-date{color:var(--text-faint);white-space:nowrap;font-size:11px}.records-item-date span{margin-left:3px;font-size:16px}.records-item-content{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.records-item-tags{color:var(--text-soft);flex-wrap:wrap;gap:5px;font-size:10px;display:flex}.records-item-tags span{background:var(--surface-muted);border-radius:6px;padding:3px 6px}.records-empty{border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--text-faint);text-align:center;padding:24px 16px;font-size:12px}.records-load-more{width:100%;margin-top:10px}.calendar-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:16px 13px 13px}.month-toolbar{justify-content:space-between;align-items:center;padding:0 2px 15px;display:flex}.month-toolbar h2{font-size:17px}.month-toolbar .icon-button{width:35px;height:35px;box-shadow:none;background:0 0;border:0;font-size:27px}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{color:var(--text-faint);text-align:center;margin-bottom:4px;font-size:11px;font-weight:750}.calendar-cell{min-height:54px;color:var(--text-soft);background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:7px 2px 5px;display:flex;position:relative}.calendar-cell:hover{background:var(--surface-muted)}.calendar-cell.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.calendar-cell.today .day-number{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.calendar-cell.selected.today .day-number{background:var(--primary)}.calendar-cell.blank{pointer-events:none}.day-number{place-items:center;min-height:25px;font-size:12px;font-weight:700;display:grid}.day-dots{justify-content:center;align-items:center;gap:3px;min-height:8px;display:flex}.dot{border-radius:50%;width:5px;height:5px;display:inline-block}.dot.study{background:#2d6cdf}.dot.review{background:#2b9b72}.dot.expected{background:#f0a04b}.dot.overdue-dot{background:#d95757}.day-count{background:color-mix(in srgb, var(--orange) 15%, transparent);min-width:15px;color:color-mix(in srgb, var(--orange) 85%, #6b4518);border-radius:5px;padding:1px 3px;font-size:9px;font-weight:800;position:absolute;top:4px;right:4px}.calendar-legend{border-top:1px solid var(--line);color:var(--text-faint);flex-wrap:wrap;gap:10px;margin-top:10px;padding:9px 4px 0;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:4px;display:inline-flex}.selected-day-section{margin-top:4px}.mini-empty{border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--text-faint);text-align:center;padding:22px 16px;font-size:12px}.calendar-details{gap:14px;display:grid}.calendar-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.calendar-group.danger-group{border-color:color-mix(in srgb, var(--danger) 28%, var(--line))}.group-title{background:var(--surface-muted);color:var(--text-soft);justify-content:space-between;align-items:center;padding:10px 13px;font-size:12px;font-weight:750;display:flex}.danger-group .group-title{color:var(--danger);background:var(--danger-soft)}.group-title strong{background:color-mix(in srgb, var(--text-soft) 13%, transparent);border-radius:99px;place-items:center;min-width:20px;height:20px;font-size:10px;display:grid}.calendar-group-list{display:grid}.calendar-project-row{border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:12px 13px;display:grid}.calendar-project-row:hover{background:var(--surface-muted)}.calendar-project-content{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.calendar-project-suffix{color:var(--text-faint);white-space:nowrap;font-size:10px}.calendar-project-suffix span{vertical-align:-1px;font-size:15px}.detail-header{justify-content:space-between;align-items:center;min-height:42px;margin-bottom:16px;display:flex}.back-button{color:var(--text-soft);background:0 0;align-items:center;gap:5px;padding:7px 0;font-size:13px;font-weight:700;display:inline-flex}.back-button span{font-size:27px;line-height:.6}.detail-header-actions{gap:8px;display:flex}.detail-hero{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:20px}.detail-topline{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:14px;display:flex}.detail-hero h1{font-size:clamp(23px,6vw,30px)}.detail-source{color:var(--text-soft);margin:8px 0 0;font-size:13px}.detail-tags{margin-top:13px}.detail-note{border-left:3px solid var(--primary);background:var(--surface-muted);color:var(--text-soft);white-space:pre-wrap;border-radius:0 9px 9px 0;margin:15px 0 0;padding:11px 12px;font-size:12px;line-height:1.6}.detail-stats{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:13px;display:grid;overflow:hidden}.detail-stat{background:var(--surface);flex-direction:column;justify-content:center;gap:6px;min-height:72px;padding:12px 13px;display:flex}.detail-stat span{color:var(--text-faint);font-size:11px}.detail-stat strong{color:var(--text);font-size:13px}.text-danger{color:var(--danger)!important}.next-review-panel{border:1px solid color-mix(in srgb, var(--primary) 20%, var(--line));border-radius:var(--radius-md);background:var(--primary-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:13px;padding:16px;display:flex}.next-review-copy{gap:3px;display:grid}.next-review-copy .eyebrow{margin-bottom:1px}.next-review-copy strong{color:var(--text);font-size:16px}.next-review-copy>span:last-child{color:var(--text-soft);font-size:11px}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.detail-actions .button{min-height:40px}.mastery-management{border:1px solid color-mix(in srgb, var(--success) 25%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--success) 8%, var(--surface));justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding:14px 15px;display:flex}.mastery-management strong{font-size:13px}.mastery-management p{color:var(--text-soft);margin:4px 0 0;font-size:11px;line-height:1.5}.mastery-management .button{white-space:nowrap;min-height:36px;padding:7px 10px;font-size:11px}.detail-section{margin-top:24px}.upcoming-list,.history-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.upcoming-item{border-bottom:1px solid var(--line);min-height:43px;color:var(--text-soft);align-items:center;gap:10px;padding:10px 13px;font-size:12px;display:flex}.upcoming-item:last-child{border-bottom:0}.upcoming-dot{background:var(--primary);border-radius:50%;flex:none;width:8px;height:8px}.upcoming-dot.mastered{background:var(--success)}.upcoming-label{color:var(--text-faint);font-size:11px}.upcoming-current{background:var(--primary-soft);color:var(--primary);border-radius:5px;margin-left:auto;padding:3px 6px;font-size:10px;font-weight:700}.history-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:57px;padding:10px 13px;display:flex}.history-row:last-child{border-bottom:0}.history-icon{background:var(--primary-soft);width:26px;height:26px;color:var(--primary);border-radius:9px;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.history-icon.master{background:color-mix(in srgb, var(--orange) 15%, var(--surface));color:var(--orange)}.history-icon.unmaster{background:var(--danger-soft);color:var(--danger)}.history-icon.reset{background:var(--primary-soft);color:var(--primary)}.history-copy{gap:3px;min-width:0;display:grid}.history-copy strong{font-size:12px}.history-copy span{color:var(--text-faint);font-size:10px}.history-copy em{color:var(--danger);margin-left:6px;font-style:normal}.history-time{color:var(--text-faint);white-space:nowrap;margin-left:auto;font-size:10px}.delete-project-button{border-color:color-mix(in srgb, var(--danger) 35%, var(--line));background:var(--surface);color:var(--danger);white-space:nowrap;flex:none}.detail-edit-fields{gap:12px;display:grid}.detail-subject-selector{margin-bottom:1px}.edit-actions{justify-content:flex-end;gap:8px;display:flex}.edit-actions .delete-project-button{margin-right:auto}.edit-actions .button{min-height:39px}.settings-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:18px;padding:17px;box-shadow:0 4px 14px #1b2e5206}.settings-section .section-heading{margin:0 0 14px}.interval-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.mastery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.interval-field{border:1px solid var(--line);background:var(--surface-muted);min-width:0;color:var(--text-soft);border-radius:10px;justify-items:center;gap:5px;padding:9px 3px 7px;display:grid}.interval-field>span{font-size:10px;font-weight:750}.interval-field input{width:100%;min-width:0;color:var(--text);text-align:center;background:0 0;border:0;outline:0;padding:2px 0;font-size:18px;font-weight:800}.interval-field small{width:100%;color:var(--text-faint);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.settings-help{color:var(--text-faint);margin:12px 0 0;font-size:11px;line-height:1.5}.capacity-input{align-items:center;gap:9px;max-width:170px;display:flex}.capacity-input input{border:1px solid var(--line);background:var(--surface);width:100px;min-height:44px;color:var(--text);text-align:center;border-radius:10px;outline:0;padding:8px 10px;font-size:18px;font-weight:800}.capacity-input span{color:var(--text-soft);font-size:13px}.subject-settings-list{gap:9px;display:grid}.subject-setting-row{grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.color-input{background:0 0;border:0;border-radius:9px;width:32px;height:32px;padding:0;overflow:hidden}.fixed-label{color:var(--text-faint);font-size:10px}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-option{border:1px solid var(--line);background:var(--surface);min-height:41px;color:var(--text-soft);border-radius:10px;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.theme-option.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.theme-option span{font-size:13px}.data-actions{flex-wrap:wrap;gap:9px;display:flex}.data-actions .button{min-height:40px}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.settings-save{width:100%;min-height:49px;margin:2px 0 18px}.toast{z-index:50;right:50%;bottom:calc(82px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--text) 10%, var(--line));background:color-mix(in srgb, var(--text) 91%, transparent);max-width:min(88vw,420px);color:var(--bg);text-align:center;border-radius:99px;padding:11px 15px;font-size:12px;font-weight:700;animation:.18s ease-out toast-in;position:fixed;transform:translate(50%);box-shadow:0 10px 28px #0000002b}@keyframes toast-in{0%{opacity:0;transform:translate(50%,8px)}to{opacity:1;transform:translate(50%)}}@media (width>=640px){.main-content{padding-left:26px;padding-right:26px}.subject-queue-grid{gap:12px}.subject-queue-list{gap:10px;padding:10px}.subject-queue-header{padding-left:11px;padding-right:11px}.calendar-cell{min-height:66px}}@media (width<=370px){.main-content{padding-left:13px;padding-right:13px}.record-form,.detail-hero,.settings-section{padding-left:14px;padding-right:14px}.subject-queue-grid{gap:5px}.subject-queue-list{gap:5px;padding:5px}.subject-queue-header{gap:3px;padding-left:5px;padding-right:5px}.subject-queue-header h2{font-size:12px}.inline-fields{grid-template-columns:1fr}.mastery-management{flex-direction:column;align-items:flex-start}}
