@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(./vazirmatn-arabic-400-normal-DMZFCm7K.woff2) format("woff2"),url(./vazirmatn-arabic-400-normal-C4W5XURk.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(./vazirmatn-latin-ext-400-normal-BdGhO0lm.woff2) format("woff2"),url(./vazirmatn-latin-ext-400-normal-DPxMaNjI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(./vazirmatn-latin-400-normal-BT_DHTc7.woff2) format("woff2"),url(./vazirmatn-latin-400-normal-GKyMcI03.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(./vazirmatn-arabic-500-normal-C_lbnnKa.woff2) format("woff2"),url(./vazirmatn-arabic-500-normal-Dqq3-xo3.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(./vazirmatn-latin-ext-500-normal-CgxvvVrG.woff2) format("woff2"),url(./vazirmatn-latin-ext-500-normal-4XgegWYb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(./vazirmatn-latin-500-normal-6zZzgpg4.woff2) format("woff2"),url(./vazirmatn-latin-500-normal-Bg_BALlD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(./vazirmatn-arabic-700-normal-Dge_DOjm.woff2) format("woff2"),url(./vazirmatn-arabic-700-normal-B5nPuCFv.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(./vazirmatn-latin-ext-700-normal-BfoXmNMx.woff2) format("woff2"),url(./vazirmatn-latin-ext-700-normal-DMYLqBto.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(./vazirmatn-latin-700-normal-9BlbvDRV.woff2) format("woff2"),url(./vazirmatn-latin-700-normal-DrB0PBU6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(./vazirmatn-arabic-800-normal-Bwnt96zj.woff2) format("woff2"),url(./vazirmatn-arabic-800-normal-BH12s3-y.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(./vazirmatn-latin-ext-800-normal-BzH3Tiwu.woff2) format("woff2"),url(./vazirmatn-latin-ext-800-normal-HbVXW2Kv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(./vazirmatn-latin-800-normal-e0EQwLmk.woff2) format("woff2"),url(./vazirmatn-latin-800-normal-fM8Xz9cI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=dark]{--bg: #0b0e14;--bg-soft: #0e121a;--card: #131826;--card-2: #1a2032;--border: #232b3e;--border-soft: #1c2333;--text: #e9edf5;--muted: #8a93a8;--accent: #a3e635;--accent-2: #38bdf8;--on-accent: #14200a;--danger: #f87171;--warn: #fbbf24;--ok: #34d399;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--shadow-sm: 0 4px 18px rgba(0, 0, 0, .22);--ring: 0 0 0 3px rgba(163, 230, 53, .25);--glass: rgba(255, 255, 255, .05);--glass-2: rgba(255, 255, 255, .1);--glass-line: rgba(255, 255, 255, .13);--glass-shine: rgba(255, 255, 255, .28);--glass-shadow: 0 10px 30px rgba(0, 0, 0, .3);--surface: linear-gradient(180deg, var(--card-2), var(--card));--accent-grad: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent-2) 55%, var(--accent)));--glow: 0 6px 20px color-mix(in srgb, var(--accent) 22%, transparent)}[data-theme=light]{--bg: #f2f4f8;--bg-soft: #e9edf3;--card: #ffffff;--card-2: #f5f7fb;--border: #dde3ec;--border-soft: #e7ecf3;--text: #161b26;--muted: #5d6779;--accent: #65a30d;--accent-2: #0284c7;--on-accent: #ffffff;--danger: #dc2626;--warn: #d97706;--ok: #059669;--shadow: 0 10px 30px rgba(30, 41, 59, .1);--shadow-sm: 0 4px 18px rgba(30, 41, 59, .07);--ring: 0 0 0 3px rgba(101, 163, 13, .25);--glass: rgba(255, 255, 255, .5);--glass-2: rgba(255, 255, 255, .78);--glass-line: rgba(15, 23, 42, .09);--glass-shine: rgba(255, 255, 255, .9);--glass-shadow: 0 10px 30px rgba(30, 41, 59, .12)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Vazirmatn,Segoe UI,Tahoma,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(58% 42% at 88% -6%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%),radial-gradient(52% 40% at 4% 6%,color-mix(in srgb,var(--accent-2) 13%,transparent),transparent 70%)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}button{font-family:inherit}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.4}a{color:var(--accent-2)}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:color-mix(in srgb,var(--bg-soft) 70%,transparent);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-inline-end:1px solid var(--glass-line);padding:18px 14px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px;font-weight:800;font-size:17px}.logo{border-radius:13px;flex:none;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 20%,transparent)}.topbar-logo{display:none}.nav{display:flex;flex-direction:column;gap:3px;flex:1}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:14.5px;font-weight:600;cursor:pointer;text-align:right;width:100%;transition:all .15s}.nav-item:hover{color:var(--text);background:var(--card)}.nav-item.active{color:var(--text);background:color-mix(in srgb,var(--accent) 13%,var(--card-2));border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.nav-item.active .icon{color:var(--accent)}.nav-label{flex:1}.nav-badge{font-size:11px;background:var(--accent-grad);color:var(--on-accent);border-radius:99px;padding:1px 8px;font-weight:700}.sidebar-foot{font-size:12px;color:var(--muted);padding:8px;border-top:1px solid var(--border-soft)}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:14px 26px;border-bottom:1px solid var(--glass-line);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);z-index:20}.topbar h1{font-size:19px;flex:1}.topbar .sub{display:block;font-size:12.5px;color:var(--muted);font-weight:400}.topbar-actions{display:flex;align-items:center;gap:8px}.content{padding:22px 26px 90px;max-width:1120px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:18px}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:20px;box-shadow:var(--shadow-sm),inset 0 1px 0 var(--glass-shine);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-soft)}.card-head h3{font-size:15px;display:flex;align-items:center;gap:8px}.card-icon{color:var(--accent)}.card-body{padding:16px 18px}.card-flat .card-body{padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:13px;border:1px solid var(--border);background:var(--card-2);color:var(--text);font-size:14px;font-weight:700;padding:9px 16px;cursor:pointer;transition:all .15s;white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent-grad);border-color:transparent;color:var(--on-accent);box-shadow:var(--glow)}.btn-primary:hover{filter:brightness(1.06);border-color:transparent}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn-danger:hover{border-color:var(--danger)}.btn-ghost{background:transparent}.btn-lg{padding:13px 22px;font-size:15.5px;border-radius:13px}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);color:var(--text);cursor:pointer;transition:all .15s}.icon-btn:hover{border-color:var(--muted)}.icon-btn.danger{color:var(--danger)}.icon-btn.active{color:var(--accent);border-color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border-radius:99px;border:1px solid var(--border);background:var(--card-2);color:var(--muted);padding:6px 14px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s}.chip:hover{color:var(--text)}.chip-active,.chip.active{background:var(--accent-grad);border-color:transparent;color:var(--on-accent);box-shadow:var(--glow)}.chip-quiet{background:transparent;border-color:var(--border-soft);font-size:12.5px;padding:4px 11px}.cite{display:inline-flex;align-items:center;gap:4px;border-radius:99px;padding:2px 9px;font-size:11.5px;font-weight:700;background:transparent;vertical-align:2px}button.cite{cursor:pointer}button.cite:hover{filter:brightness(1.2)}.cite-strong{border:1px solid var(--accent);color:var(--accent)}.cite-convention{border:1px dashed var(--muted);color:var(--muted)}.cite-custom{border:1px dotted var(--warn);color:var(--warn)}.segmented{display:inline-flex;background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:3px;gap:2px}.seg{border:none;background:transparent;color:var(--muted);padding:7px 16px;border-radius:9px;font-size:13.5px;font-weight:700;cursor:pointer}.seg-active{background:var(--accent-grad);color:var(--on-accent);box-shadow:var(--glow)}.stepper{display:inline-flex;align-items:center;gap:2px;background:var(--card-2);border:1px solid var(--border);border-radius:11px;padding:2px}.stepper-btn{width:34px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:18px;cursor:pointer;line-height:1}.stepper-btn:hover{background:var(--card)}.stepper-val{min-width:52px;text-align:center;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}.stepper-val em{font-style:normal;font-size:11px;color:var(--muted);margin-inline-start:2px}.progress{height:9px;border-radius:99px;background:var(--card-2);overflow:hidden}.progress-bar{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .4s}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13.5px;font-weight:700;color:var(--muted)}.field-hint{font-size:12px;color:var(--muted)}.input,select.input,textarea.input{width:100%;background:var(--card-2);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 13px;font-size:14.5px;font-family:inherit;outline:none;transition:border .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:var(--ring)}.input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .span-2{grid-column:span 2}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080e9e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;border-radius:22px;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-soft)}.modal-head h3{font-size:15.5px}.modal-body{padding:18px;overflow-y:auto}.modal-foot{display:flex;gap:10px;justify-content:flex-start;padding:14px 18px;border-top:1px solid var(--border-soft)}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stat{display:flex;flex-direction:column;gap:2px;padding:16px 18px}.stat .stat-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 26%,transparent),color-mix(in srgb,var(--accent) 6%,transparent));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);margin-bottom:8px}.stat .stat-icon.blue{background:linear-gradient(140deg,color-mix(in srgb,var(--accent-2) 26%,transparent),color-mix(in srgb,var(--accent-2) 6%,transparent));border-color:color-mix(in srgb,var(--accent-2) 22%,transparent);color:var(--accent-2)}.stat .stat-icon.amber{background:linear-gradient(140deg,color-mix(in srgb,var(--warn) 26%,transparent),color-mix(in srgb,var(--warn) 6%,transparent));border-color:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.stat .stat-icon.red{background:linear-gradient(140deg,color-mix(in srgb,var(--danger) 26%,transparent),color-mix(in srgb,var(--danger) 6%,transparent));border-color:color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger)}.stat-num{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25}.stat-label{font-size:12.5px;color:var(--muted);font-weight:600}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-cell{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 4px;border-radius:12px;border:1px solid var(--border-soft);background:var(--card-2);cursor:pointer;transition:all .15s;color:var(--muted);font-family:inherit}.day-cell:hover{border-color:var(--muted)}.day-cell .day-name{font-size:12px;font-weight:700}.day-cell .day-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--border);font-size:12px;font-weight:800;color:var(--muted)}.day-cell.today{border-color:var(--accent);color:var(--text)}.day-cell.today .day-dot{border-color:var(--accent);color:var(--accent)}.day-cell.done .day-dot{background:var(--ok);border-color:var(--ok);color:#05261a}.day-cell.selected{border-color:var(--accent-2)}.session-hero{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.session-title{flex:1;min-width:200px}.session-title h2{font-size:20px}.session-title .sub{color:var(--muted);font-size:13px}.ex-card{border:1px solid var(--border-soft);border-radius:14px;background:var(--card-2);margin-bottom:12px;overflow:hidden}.ex-card:last-child{margin-bottom:0}.ex-card.done{border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.ex-head{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer}.ex-head h4{flex:1;font-size:15px}.ex-meta{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.ex-toggle{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--muted);transition:transform .2s}.ex-card.open .ex-toggle{transform:rotate(180deg)}.ex-body{border-top:1px solid var(--border-soft);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.sets-grid{display:grid;grid-template-columns:44px 1fr 1fr 36px;gap:8px;align-items:center}.sets-head{display:grid;grid-template-columns:44px 1fr 1fr 36px;gap:8px;font-size:12px;color:var(--muted);font-weight:700;padding-bottom:2px}.set-num{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--card);border:1px solid var(--border);font-weight:800;font-size:13px;color:var(--muted)}.set-row.logged .set-num{background:color-mix(in srgb,var(--ok) 15%,transparent);border-color:var(--ok);color:var(--ok)}.set-input{width:100%;background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:8px 6px;text-align:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;outline:none;font-family:inherit}.set-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.set-input:read-only{opacity:.6}.set-check{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer}.set-check.on{background:var(--ok);border-color:var(--ok);color:#05261a}.rest-bar{display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--accent-2) 10%,var(--card));border:1px solid color-mix(in srgb,var(--accent-2) 35%,transparent);border-radius:13px;padding:10px 14px}.rest-timer{font-size:21px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent-2);min-width:74px;text-align:center;direction:ltr}.rest-label{font-size:12.5px;color:var(--muted);flex:1}.list-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border-soft)}.list-row:last-child{border-bottom:none}.list-main{flex:1;min-width:0}.list-main .t{font-weight:700;font-size:14.5px}.list-main .s{font-size:12.5px;color:var(--muted)}.badge{font-size:11.5px;font-weight:700;border-radius:99px;padding:3px 10px;background:var(--card-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap}.badge-acc,.badge.acc{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.badge-blue,.badge.blue{background:color-mix(in srgb,var(--accent-2) 14%,transparent);border-color:color-mix(in srgb,var(--accent-2) 35%,transparent);color:var(--accent-2)}.badge-ok,.badge.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)}.badge.quiet{background:transparent;border-style:dashed}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:44px 20px;color:var(--muted)}.empty-icon{color:var(--muted);opacity:.5}.empty h3{color:var(--text);font-size:16px}.empty p{margin:0;font-size:13.5px;max-width:380px}.empty .btn{margin-top:10px}.bottom-nav{display:none}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);color:var(--text);padding:11px 20px;border-radius:14px;font-size:14px;font-weight:700;z-index:200;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.recharts-text{fill:var(--muted)!important;font-size:11px!important;font-family:inherit!important}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--border)!important}.recharts-legend-item-text{color:var(--muted)!important}.chart-box{width:100%}.search,.ex-lib .ex-item,.num-input,.modal,.toast{background:linear-gradient(160deg,var(--glass-2),var(--glass));border:1px solid var(--glass-line);backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-shine)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.search,.ex-lib .ex-item,.num-input,.modal,.toast{background:var(--card-2);border-color:var(--border);box-shadow:none}}.toolbar{display:flex;gap:10px;margin-bottom:14px}.search{flex:1;display:flex;align-items:center;gap:10px;padding:0 16px;border-radius:16px;color:var(--muted)}.search input{flex:1;min-width:0;border:0;background:none;color:var(--text);font-family:inherit;font-size:14.5px;padding:14px 0;outline:none}.search input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.ex-lib{position:relative;border-radius:22px;padding:4px;background:radial-gradient(60% 45% at 15% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),radial-gradient(55% 50% at 85% 25%,color-mix(in srgb,var(--accent-2) 15%,transparent),transparent 70%)}.ex-lib .ex-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;align-items:start}.ex-lib .ex-item{border-radius:20px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}.ex-lib .ex-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--glass-line))}.ex-lib .ex-item.open{grid-column:1 / -1}.ex-lib .ex-head{width:100%;display:flex;align-items:center;gap:14px;padding:18px;border:0;background:none;color:inherit;font-family:inherit;text-align:inherit;cursor:pointer}.ex-lib .ex-badge{flex:0 0 auto;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.ex-lib .ex-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ex-lib .ex-main .t{font-size:15.5px;font-weight:700}.ex-lib .ex-main .s{font-size:12px;color:var(--muted)}.ex-lib .ex-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.ex-lib .ex-caret{flex:0 0 auto;color:var(--muted)}.ex-lib .ex-body{border-top:1px solid var(--glass-line);padding:18px;gap:10px}.cue{border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--accent-2) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent-2) 22%,transparent)}.cue-label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--accent-2)}.cue p{margin:6px 0 0;font-size:13.5px;line-height:1.9}.video-wrap{width:100%}.video-box{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;border:1px solid var(--border-soft);background:#000}.video-box iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.num-input{display:flex;align-items:center;gap:6px;border-radius:14px;padding:5px}.num-input:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.num-input .num-btn.minus{order:0}.num-input .num-field{order:1;flex:1;min-width:0;border:0;background:none;box-shadow:none;text-align:center;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;padding:8px 2px}.num-unit{order:2;font-size:12px;color:var(--muted)}.num-input .num-btn.plus{order:3}.num-btn{flex:0 0 auto;width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);color:var(--text);font-size:20px;font-weight:700;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.num-btn:active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (max-width: 520px){.ex-lib .ex-list{gap:12px}.ex-lib .ex-head{padding:14px;gap:12px}.ex-lib .ex-meta .badge.quiet{display:none}}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:12px 16px}.topbar-logo{display:block}.toast{bottom:calc(80px + env(safe-area-inset-bottom))}.content{padding:16px 14px 100px}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--bg-soft) 76%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-top:1px solid var(--glass-line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:50}.bn-item{display:flex;flex-direction:column;align-items:center;gap:3px;border:none;background:none;color:var(--muted);font-size:10.5px;font-weight:700;padding:6px 2px;cursor:pointer;font-family:inherit;border-radius:14px;transition:color .15s,background .15s}.bn-item.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.bn-item .icon{width:22px;height:22px}}@media (max-width: 520px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.week-strip{gap:5px}.day-cell .day-name{font-size:10.5px}.day-cell .day-dot{width:30px;height:30px}}
