@import "https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&display=swap";:root{--text:#6b5d4f;--text-h:#2d2418;--text-muted:#9b8c7a;--bg:#fefcf5;--bg-secondary:#faf6ec;--border:#e8e0d0;--border-light:#f0eadb;--code-bg:#f5f0e3;--accent:#c4623a;--accent-soft:#d4855e;--accent-bg:#c4623a12;--accent-border:#c4623a40;--accent-hover:#c4623a21;--sidebar-bg:#faf7ef;--card-bg:#fffdfa;--card-shadow:0 1px 3px #2d24180a, 0 4px 16px #2d24180d;--card-hover-shadow:0 2px 6px #2d24180f, 0 8px 24px #2d241814;--success:#5a8a6a;--success-bg:#5a8a6a14;--success-border:#5a8a6a33;--warning:#c4944a;--sans:"DM Sans", system-ui, -apple-system, sans-serif;--serif:"Crimson Text", Georgia, "Times New Roman", serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;font:15px/160% var(--sans);letter-spacing:.08px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";z-index:-1;pointer-events:none;opacity:.6;background:radial-gradient(at 20%,#c4623a04 0%,#0000 60%),radial-gradient(at 80% 20%,#c4623a03 0%,#0000 50%);position:fixed;inset:0}*,:before,:after{box-sizing:border-box}button,a,[role=button],.chapter-card-header,.flashcard,.question-bubble{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation;outline:none}button,a{transition:transform .15s,background .15s,opacity .15s}button:active,a:active,.chapter-card-header:active,.flashcard:active,.question-bubble:active,.sidebar-close:active,.course-switch-btn:active,.course-option:active,.reshuffle-btn:active{transform:scale(.96)}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{background:var(--bg);margin:0}h1,h2,h3{font-family:var(--serif);color:var(--text-h);font-weight:600}h1{letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}h3{margin:0;font-size:15px}p{margin:0}#app{width:100%;min-height:100vh;margin:0;display:block}.review-app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--border-light);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.header-left{flex-direction:column;gap:1px;display:flex}.header-subtitle{color:var(--text-muted);font-size:13px;font-style:italic;font-family:var(--serif)}.header-right{align-items:center;gap:14px;display:flex}.chapter-badge{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);font-size:12px;font-weight:500;font-family:var(--serif);letter-spacing:.3px;border-radius:20px;padding:4px 12px}.question-counter{color:var(--text-muted);font-size:13px;font-weight:500}.main-layout{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-light);flex-direction:column;width:320px;min-width:320px;display:flex;overflow:hidden}.sidebar-header{flex-shrink:0;padding:0;position:relative}.sidebar-header-accent{background:linear-gradient(90deg, var(--accent), var(--accent-soft), transparent 70%);opacity:.65;height:3px}.sidebar-header-top{justify-content:space-between;align-items:flex-start;padding:18px 18px 0;display:flex}.sidebar-header-title-group{flex-direction:column;gap:2px;display:flex}.sidebar-header-eyebrow{text-transform:uppercase;letter-spacing:2.5px;color:var(--accent-soft);font-size:9.5px;font-weight:600;font-family:var(--sans);margin:0}.sidebar-title{font-size:18px;font-weight:700;font-family:var(--serif);color:var(--text-h);text-transform:none;letter-spacing:-.2px;padding:0}.sidebar-close{background:var(--bg-secondary);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;transition:all .2s;display:none}.sidebar-close:hover{background:var(--accent-bg);color:var(--accent)}.sidebar-subtitle{color:var(--text-muted);font-size:12px;font-family:var(--sans);margin:0;padding:6px 18px 0;font-style:italic}.sidebar-header-divider{background:linear-gradient(90deg, var(--border), transparent 80%);height:1px;margin:12px 18px 0}.sidebar-inner{-webkit-overflow-scrolling:touch;flex:1;padding:6px 12px 12px;overflow-y:auto}.chapter-card{border-radius:12px;margin-bottom:4px;transition:background .2s;overflow:hidden}.chapter-card:hover{background:var(--bg-secondary)}.chapter-card.current{background:var(--accent-bg)}.chapter-card.expanded{background:var(--bg-secondary)}.chapter-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s,transform .12s;display:flex}.chapter-card-header:active{background:var(--accent-bg)}.chapter-dot{background:var(--text-h);color:#fff;width:32px;height:32px;font-size:13px;font-weight:700;font-family:var(--serif);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .25s;display:flex}.chapter-dot.active{background:var(--accent);box-shadow:0 2px 8px #c4623a59}.chapter-info{flex:1;min-width:0}.chapter-label{color:var(--text-h);font-size:14px;font-weight:600;font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;display:block;overflow:hidden}.chapter-meta{color:var(--text-muted);margin-top:1px;font-size:11.5px;display:block}.chapter-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .25s}.chapter-card.expanded .chapter-chevron{transform:rotate(180deg)}.question-grid{flex-direction:column;gap:3px;padding:4px 8px 14px 48px;animation:.25s gridIn;display:flex}@keyframes gridIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.question-bubble{border:1px solid var(--border-light);background:var(--card-bg);width:100%;height:auto;min-height:36px;color:var(--text);font-size:12px;font-weight:500;font-family:var(--serif);cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:left;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;transition:all .2s;display:flex;position:relative}.question-bubble:active{background:var(--accent-bg)}.question-bubble:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--text-h)}.question-bubble.current{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 10px #c4623a47}.question-bubble.current:hover{background:var(--accent-soft);border-color:var(--accent-soft)}.question-bubble.current .question-num{color:#fff;background:#ffffff38}.question-num{background:var(--bg-secondary);min-width:23px;height:23px;color:var(--text-muted);font-size:11px;font-weight:700;font-family:var(--sans);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.question-stem{color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;line-height:1.35;font-family:var(--serif);overflow:hidden}.content{flex-direction:column;flex:1;gap:22px;padding:28px 32px;display:flex;overflow-y:auto}.tab-bar{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:10px;gap:0;width:fit-content;padding:3px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;font-size:13.5px;font-family:var(--serif);letter-spacing:.2px;background:0 0;border:none;border-radius:8px;padding:8px 22px;font-weight:600;transition:all .25s}.tab-btn:hover{color:var(--text-h)}.tab-btn.active{background:var(--card-bg);color:var(--accent);font-weight:700;box-shadow:0 1px 3px #2d24180f}.chapter-quick-nav{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.chapter-quick-nav::-webkit-scrollbar{display:none}.chapter-pill{border:1px solid var(--border-light);background:var(--card-bg);cursor:pointer;white-space:nowrap;font-family:var(--serif);color:var(--text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:all .2s,transform .15s;display:flex}.chapter-pill:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--text-h)}.chapter-pill:active{transform:scale(.96)}.chapter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #c4623a4d}.pill-dot{background:var(--bg-secondary);width:20px;height:20px;color:var(--text-muted);font-size:11px;font-weight:700;font-family:var(--sans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.chapter-pill.active .pill-dot{color:#fff;background:#ffffff38}.pill-label{text-overflow:ellipsis;max-width:120px;font-size:13px;font-weight:600;overflow:hidden}.card-nav{justify-content:space-between;align-items:center;display:flex}.nav-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font-size:13px;font-family:var(--sans);border-radius:8px;padding:8px 20px;font-weight:500;transition:all .2s}.nav-btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.nav-btn:disabled{opacity:.25;cursor:not-allowed}.flashcard{background:var(--card-bg);border:1px solid var(--border-light);box-shadow:var(--card-shadow);cursor:pointer;text-align:center;touch-action:pan-y;backface-visibility:hidden;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:44px 36px;transition:box-shadow .35s,border-color .35s,transform .15s;display:flex;position:relative;overflow:hidden;transform:translate(0,0)}.flashcard:before{content:"";background:var(--accent-soft);opacity:.5;border-radius:0 0 3px 3px;width:60px;height:3px;transition:width .35s,opacity .35s;position:absolute;top:0;left:50%;transform:translate(-50%)}.flashcard:hover:before{opacity:.8;width:80px}.flashcard.swiping{-webkit-user-select:none;user-select:none;cursor:grabbing}.flashcard.swiping:before{transition:none}.flashcard.slide-out-left{animation:.24s cubic-bezier(.4,0,1,1) forwards slideOutLeft}.flashcard.slide-out-right{animation:.24s cubic-bezier(.4,0,1,1) forwards slideOutRight}.flashcard.slide-in-right{animation:.32s cubic-bezier(0,0,.2,1) forwards slideInRight}.flashcard.slide-in-left{animation:.32s cubic-bezier(0,0,.2,1) forwards slideInLeft}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)rotateY(0)}to{opacity:0;transform:translate(-120%)rotateY(-12deg)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)rotateY(0)}to{opacity:0;transform:translate(120%)rotateY(12deg)}}@keyframes slideInRight{0%{opacity:0;transform:translate(120%)rotateY(12deg)}to{opacity:1;transform:translate(0)rotateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-120%)rotateY(-12deg)}to{opacity:1;transform:translate(0)rotateY(0)}}.flashcard:hover{box-shadow:var(--card-hover-shadow);border-color:var(--border)}.question-type{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent-soft);background:var(--accent-bg);font-size:10.5px;font-weight:600;font-family:var(--sans);border-radius:20px;margin-bottom:22px;padding:4px 12px;display:inline-block}.question-text{color:var(--text-h);max-width:620px;font-size:21px;font-weight:500;line-height:1.7;font-family:var(--serif);margin-bottom:26px}.hint{color:var(--text-muted);font-size:13px;font-style:italic;font-family:var(--serif)}.card-back{background:var(--success-bg);border:1px solid var(--success-border);border-radius:14px;width:100%;max-width:560px;margin-top:18px;padding:22px 30px}.answer-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--success);font-size:11px;font-weight:600;font-family:var(--sans);margin-bottom:8px}.answer-text{color:var(--text-h);font-size:19px;font-weight:500;line-height:1.55;font-family:var(--serif)}.random-section{flex-direction:column;flex:1;gap:14px;display:flex}.random-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px;display:flex}.random-empty-icon{margin:0;font-size:48px}.random-empty-text{font-size:14px;font-family:var(--serif);max-width:280px;margin:0;font-style:italic;line-height:1.6}.random-info{align-items:center;gap:12px;display:flex}.random-badge{text-transform:uppercase;letter-spacing:1.5px;color:#fff;background:var(--accent);font-size:11px;font-weight:700;font-family:var(--sans);border-radius:20px;padding:4px 14px}.random-progress{color:var(--text-muted);font-size:13px;font-weight:500}.reshuffle-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font-size:13.5px;font-family:var(--serif);border-radius:10px;align-self:center;padding:10px 24px;font-weight:600;transition:all .2s}.reshuffle-btn:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.flip-enter-active,.flip-leave-active{transition:all .3s}.flip-enter-from{opacity:0;transform:translateY(10px)}.flip-leave-to{opacity:0;transform:translateY(-10px)}.sidebar::-webkit-scrollbar{width:5px}.content::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:0 0}.content::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=768px){.main-layout{flex-direction:column}.content{padding:16px}.flashcard{min-height:220px;padding:28px 20px}.question-text{font-size:18px}.answer-text{font-size:16px}.app-header{padding:12px 16px}}.menu-toggle{color:var(--text-h);cursor:pointer;z-index:10;touch-action:manipulation;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:22px;line-height:1;transition:background .15s,opacity .1s;display:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.menu-toggle:hover{background:var(--accent-bg)}.menu-toggle:active{background:var(--accent-bg);opacity:.7}.sidebar-overlay,.sidebar-close{display:none}.overlay-enter-active,.overlay-leave-active{transition:opacity .25s}.overlay-enter-from,.overlay-leave-to{opacity:0}@media (width<=768px){.review-app{position:relative}.app-header{min-height:52px;padding:10px 12px 10px 48px;position:relative}.header-left h1{font-size:17px}.header-subtitle{font-size:11px}.menu-toggle{display:block}.main-layout{flex-direction:column;position:relative}.sidebar-overlay{z-index:998;will-change:opacity;background:#1e140a80;display:block;position:fixed;inset:0}.sidebar{z-index:999;width:380px;max-width:92vw;height:100dvh;min-width:unset;border:none;border-right:1px solid var(--border-light);will-change:transform;background:var(--card-bg);border-radius:0 24px 24px 0;flex-direction:column;padding:0;transition:transform .4s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(calc(-100% - 16px));box-shadow:0 0 0 1px #00000008,0 30px 60px -16px #1e140a38}.sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--border-light);background:linear-gradient(180deg, var(--bg-secondary) 0%, var(--card-bg) 100%);flex-direction:column;flex-shrink:0;gap:0;padding:0;display:flex}.sidebar-header-accent{background:linear-gradient(90deg, var(--accent), var(--accent-soft), transparent 75%);opacity:.8;flex-shrink:0;height:4px;display:block}.sidebar-header-top{justify-content:space-between;align-items:flex-start;padding:22px 20px 0;display:flex}.sidebar-header-title-group{flex-direction:column;gap:3px;display:flex}.sidebar-header-eyebrow{text-transform:uppercase;letter-spacing:3px;color:var(--accent-soft);font-size:10px;font-weight:600;font-family:var(--sans);margin:0}.sidebar-title{text-transform:none;letter-spacing:-.3px;font-size:22px;font-family:var(--serif);color:var(--text-h);margin:0;padding:0;font-weight:700;line-height:1.15}.sidebar-subtitle{color:var(--text-muted);font-size:12.5px;font-style:italic;font-family:var(--serif);padding:8px 20px 0}.sidebar-header-divider{background:linear-gradient(90deg, var(--border), transparent 85%);height:1px;margin:14px 20px 0;display:block}.sidebar-close{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;margin-top:0;transition:all .25s;display:flex}.sidebar-inner{-webkit-overflow-scrolling:touch;flex:1;padding:12px 12px 20px;overflow-y:auto}.chapter-card{background:0 0;border:none;border-radius:14px;margin-bottom:3px;overflow:hidden}.chapter-card.current{background:var(--accent-bg)}.chapter-card.expanded{background:var(--bg-secondary)}.chapter-card-header{border-radius:14px;gap:12px;padding:10px 12px}.chapter-dot{border-radius:10px;width:34px;height:34px;font-size:14px}.chapter-label{font-size:14.5px}.chapter-meta{font-size:12px}.question-grid{gap:4px;padding:4px 8px 14px 54px}.question-bubble{border:1px solid var(--border-light);border-radius:10px;gap:12px;width:100%;min-height:40px;padding:9px 12px;font-size:13px}.question-bubble:active{background:var(--accent-bg);transform:scale(.985)}.question-bubble.current{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 12px #c4623a47}.question-num{border-radius:7px;min-width:26px;height:26px;font-size:12px}.question-stem{font-size:13.5px}.content{padding:12px}.tab-bar{width:100%}.tab-btn{text-align:center;flex:1;padding:9px 12px;font-size:13px}.chapter-quick-nav{gap:6px;padding:2px 0}.chapter-pill{border-radius:18px;gap:5px;padding:5px 12px}.pill-dot{width:18px;height:18px;font-size:10px}.pill-label{max-width:80px;font-size:12px}.card-nav{flex-direction:row;gap:8px;margin-bottom:12px}.nav-btn{text-align:center;flex:1;padding:10px 12px;font-size:14px}.flashcard{border-radius:16px;min-height:240px;padding:24px 18px}.flashcard:before{width:48px;height:3px}.question-text{font-size:17px;line-height:1.6}.answer-text{font-size:16px}.random-empty-text{font-size:13px}.reshuffle-btn{padding:8px 20px;font-size:13px}.header-right{flex-direction:column;align-items:flex-end;gap:2px}.chapter-badge{padding:2px 10px;font-size:11px}.question-counter{font-size:11px}.card-back{padding:16px 20px}}@media (width>=769px) and (width<=1024px){.sidebar{width:300px;min-width:300px}.content{padding:20px 24px}}.course-switcher{z-index:997;flex-direction:column-reverse;align-items:flex-start;gap:10px;display:flex;position:fixed;bottom:20px;left:20px}.course-switch-btn{background:var(--card-bg);border:1px solid var(--border-light);cursor:pointer;color:var(--text);font-family:var(--serif);white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:24px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .25s;display:flex;box-shadow:0 2px 12px #2d241814}.course-switch-btn:hover{border-color:var(--accent-border);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 20px #2d241824}.course-switch-btn:active{transform:scale(.97)}.course-switch-btn svg{opacity:.6;flex-shrink:0}.course-switch-label{text-overflow:ellipsis;max-width:120px;overflow:hidden}.course-picker-popup{background:var(--card-bg);border:1px solid var(--border-light);border-radius:16px;min-width:220px;max-width:280px;padding:6px;overflow:hidden;box-shadow:0 8px 32px #2d241824}.course-picker-header{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);font-size:11px;font-weight:600;font-family:var(--sans);padding:10px 14px 6px}.course-option{cursor:pointer;width:100%;font-family:var(--serif);color:var(--text);text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;transition:all .2s;display:flex}.course-option:hover{background:var(--bg-secondary)}.course-option.active{background:var(--accent-bg);color:var(--accent)}.course-option.active .course-radio{border-color:var(--accent);background:var(--accent)}.course-radio{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.course-option.active .course-radio:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px}.course-name{flex:1;font-weight:600}.course-count{color:var(--text-muted);font-size:11px;font-family:var(--sans);flex-shrink:0}.picker-enter-active{transition:all .25s cubic-bezier(.22,.61,.36,1)}.picker-leave-active{transition:all .18s ease-in}.picker-enter-from{opacity:0;transform:translateY(8px)scale(.95)}.picker-leave-to{opacity:0;transform:translateY(4px)scale(.97)}@media (width<=768px){.course-switcher{bottom:14px;left:14px}.course-switch-btn{border-radius:20px;gap:6px;padding:8px 14px;font-size:12px}.course-picker-popup{min-width:200px;max-width:260px}}.report-error-btn{border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-muted);font-size:12px;font-family:var(--sans);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:16px;align-self:flex-end;align-items:center;gap:5px;margin-top:14px;padding:6px 14px;font-weight:500;transition:all .2s,transform .12s;display:inline-flex}.report-error-btn:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.report-error-btn:active{transform:scale(.96)}.report-error-icon{object-fit:contain;opacity:.7;flex-shrink:0;width:16px;height:16px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);background:#1e140a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--card-bg);border:1px solid var(--border-light);border-radius:20px;width:100%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #1e140a2e}.modal-dialog-wide{max-width:520px}.modal-header{padding:22px 24px 0}.modal-title{font-size:18px;font-weight:700;font-family:var(--serif);color:var(--text-h);margin:0 0 4px}.modal-desc{color:var(--text-muted);font-size:13px;font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;margin:0;font-style:italic;line-height:1.4;overflow:hidden}.modal-body{padding:18px 24px}.modal-label{color:var(--text-h);font-size:13px;font-weight:600;font-family:var(--sans);margin-bottom:8px;display:block}.modal-input{border:1px solid var(--border);width:100%;font-size:15px;font-family:var(--sans);color:var(--text-h);background:var(--bg);border-radius:12px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c4623a1f}.modal-input.error{border-color:#d44;box-shadow:0 0 0 3px #dc44441a}.modal-textarea{border:1px solid var(--border);width:100%;font-size:15px;font-family:var(--serif);color:var(--text-h);background:var(--bg);resize:vertical;border-radius:12px;outline:none;padding:12px 16px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.modal-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c4623a1f}.modal-error{color:#d44;margin:10px 0 0;font-size:13px;font-weight:500;animation:.4s shake}.modal-feedback{color:var(--text-muted);margin:10px 0 0;font-size:13px;font-weight:500}.modal-feedback.success{color:var(--success);font-weight:600}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.modal-actions{justify-content:flex-end;gap:10px;padding:0 24px 20px;display:flex}.modal-btn{font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;padding:10px 22px;transition:all .2s,transform .12s}.modal-btn:active{transform:scale(.96)}.modal-btn.cancel{background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-light)}.modal-btn.cancel:hover{background:var(--border-light);color:var(--text)}.modal-btn.confirm{background:var(--accent);color:#fff}.modal-btn.confirm:hover{background:var(--accent-soft)}.modal-btn.confirm:disabled{opacity:.4;cursor:not-allowed}.modal-enter-active{transition:opacity .25s}.modal-enter-active .modal-dialog{transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .25s}.modal-leave-active{transition:opacity .2s}.modal-leave-active .modal-dialog{transition:transform .2s,opacity .2s}.modal-enter-from{opacity:0}.modal-enter-from .modal-dialog{opacity:0;transform:translateY(20px)scale(.96)}.modal-leave-to{opacity:0}.modal-leave-to .modal-dialog{opacity:0;transform:translateY(10px)scale(.98)}@media (width<=768px){.report-error-btn{border-radius:14px;gap:4px;margin-top:12px;padding:5px 12px;font-size:11px}.report-error-icon{width:14px;height:14px}.modal-overlay{-webkit-backdrop-filter:none;align-items:flex-end;padding:16px}.modal-dialog{border-radius:20px 20px 8px 8px;max-width:100%}.modal-header{padding:18px 20px 0}.modal-body{padding:14px 20px}.modal-actions{padding:0 20px 16px}.modal-btn{padding:8px 18px;font-size:13px}}
