@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Noto+Sans+KR:wght@300;400;500;700&family=Noto+Serif+KR:wght@400;700&display=swap";@import "https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css";:root{--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-glass:#ffffffd9;--bg-surface:#f1f3f5;--bg-elevated:#e9ecef;--border-glass:#dee2e6;--color-primary:#5e6ad2;--color-primary-hover:#4e5bbf;--color-secondary:#6e79d6;--color-danger:#eb5757;--color-danger-hover:#d44d4d;--color-success:#3dd68c;--color-warning:#f0c000;--text-primary:#1a1a24;--text-secondary:#5a606a;--text-muted:#8e95a2;--font-sans:"Inter", "Noto Sans KR", sans-serif;--font-mono:"JetBrains Mono", monospace;--transition-smooth:all .15s cubic-bezier(.4, 0, .2, 1);--shadow-neon:0 0 24px #5e6ad20a;--shadow-neon-strong:0 12px 24px #00000014;--radius-lg:12px;--radius-md:8px;--radius-sm:6px;--radius-xs:4px}.camera-lab-page{--lab-primary:#5e6ad2;--lab-ink:#172033;--lab-muted:#667085;width:min(100%,1120px);min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom));color:var(--lab-ink);box-sizing:border-box;background:linear-gradient(#f6f7ff 0,#fff 360px);margin:0 auto}.camera-lab-header{align-items:center;gap:13px;margin:6px 0 16px;display:flex}.camera-lab-symbol{color:#fff;background:var(--lab-primary);border-radius:15px;flex:0 0 46px;place-items:center;height:46px;display:grid;box-shadow:0 10px 24px #5e6ad233}.camera-lab-header small,.camera-lab-results-title small{color:var(--lab-primary);letter-spacing:.14em;font-size:10px;font-weight:900}.camera-lab-header h1{margin:2px 0 3px;font-size:clamp(20px,5vw,28px);line-height:1.15}.camera-lab-header p,.camera-lab-results-title p{color:var(--lab-muted);margin:0;font-size:12px;line-height:1.5}.camera-lab-notice{color:#354052;background:#f7f8ff;border:1px solid #dfe3fa;border-radius:15px;align-items:flex-start;gap:11px;margin-bottom:14px;padding:13px 14px;display:flex}.camera-lab-notice svg{color:var(--lab-primary);flex:none}.camera-lab-notice div{gap:3px;display:grid}.camera-lab-notice strong{font-size:12px}.camera-lab-notice span{color:var(--lab-muted);font-size:11px;line-height:1.5}.camera-lab-camera-card{background:#fff;border:1px solid #e2e5ee;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px #27324a12}.camera-lab-preview{aspect-ratio:3/4;background:#15171d;width:100%;max-height:min(68dvh,720px);position:relative;overflow:hidden}.camera-lab-preview video{object-fit:cover;width:100%;height:100%}.camera-lab-camera-empty{color:#fff;text-align:center;background:radial-gradient(circle at 50% 36%,#343846,#16181e 65%);place-content:center;justify-items:center;gap:9px;padding:28px;display:grid;position:absolute;inset:0}.camera-lab-camera-empty span{color:#c8ccd7;max-width:310px;font-size:12px;line-height:1.55}.camera-lab-document-guide{pointer-events:none;border:3px solid #e9a6a6;border-radius:18px;transition:border-color .18s,box-shadow .18s;position:absolute;inset:4.5% 5%;box-shadow:0 0 0 999px #0002,inset 0 0 0 1px #fff5}.camera-lab-preview.ready .camera-lab-document-guide{border-color:#9bd3b0;box-shadow:0 0 0 999px #0000001c,0 0 18px #79bd9244,inset 0 0 0 1px #fff6}.camera-lab-document-guide span{color:#fff;text-align:center;background:#161922a8;border-radius:999px;width:max-content;max-width:88%;padding:6px 10px;font-size:10px;font-weight:800;position:absolute;top:9px;left:50%;transform:translate(-50%)}.camera-lab-live-state{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#803d47cc;border-radius:999px;align-items:center;gap:7px;width:max-content;max-width:86%;padding:8px 12px;font-size:11px;font-weight:850;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.camera-lab-live-state.ready{background:#3f7756d9}.camera-lab-live-state i{background:#f3b1b9;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f3b1b925}.camera-lab-live-state.ready i{background:#a9e0ba;box-shadow:0 0 0 4px #a9e0ba25}.camera-lab-controls{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:13px 13px 9px;display:grid}.camera-lab-controls button,.camera-lab-result-copy button{min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:14px;font-size:12px;font-weight:900}.camera-lab-start,.camera-lab-capture{color:#fff;background:var(--lab-primary);justify-content:center;align-items:center;gap:8px;display:flex}.camera-lab-start{grid-column:1/-1}.camera-lab-controls button:disabled{color:#99a0ad;cursor:not-allowed;background:#eceef3}.camera-lab-restart{color:#4b5565;background:#eef0f5;place-items:center;width:48px;display:grid}.camera-lab-sample{color:#4f5abc;width:calc(100% - 26px);min-height:42px;font:inherit;cursor:pointer;background:#f5f6ff;border:1px solid #d9ddf6;border-radius:12px;justify-content:center;align-items:center;gap:7px;margin:0 13px 12px;font-size:11px;font-weight:850;display:flex}.camera-lab-sample:disabled{color:#979daa;background:#f1f2f5;border-color:#e6e8ed}.camera-lab-camera-meta{background:#e8eaf1;border:1px solid #e8eaf1;border-radius:13px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 13px 12px;display:grid;overflow:hidden}.camera-lab-camera-meta span{text-align:center;background:#fafbfc;gap:3px;min-width:0;padding:10px 7px;display:grid}.camera-lab-camera-meta small{color:#7a8292;font-size:9px}.camera-lab-camera-meta b{color:#3d4655;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.camera-lab-camera-meta .strong b{color:var(--lab-primary)}.camera-lab-diagnostics{border-top:1px solid #edf0f4;margin:0 13px 13px}.camera-lab-diagnostics summary{color:#5a6271;cursor:pointer;align-items:center;gap:7px;padding:12px 2px 4px;font-size:11px;font-weight:800;display:flex}.camera-lab-diagnostics dl{background:#f7f8fa;border-radius:12px;grid-template-columns:88px minmax(0,1fr);gap:7px 8px;margin:10px 0;padding:11px;font-size:10px;display:grid}.camera-lab-diagnostics dt{color:#858c9a}.camera-lab-diagnostics dd{overflow-wrap:anywhere;min-width:0;margin:0}.camera-lab-diagnostics label:not(.camera-lab-override){color:#626a79;gap:6px;margin:10px 0;font-size:10px;font-weight:800;display:grid}.camera-lab-diagnostics select{color:#273043;background:#fff;border:1px solid #dfe3eb;border-radius:10px;width:100%;min-height:42px;padding:0 10px}.camera-lab-error{color:#a03f4b;background:#fff5f6;border:1px solid #f4cbd0;border-radius:12px;align-items:flex-start;gap:8px;margin-top:12px;padding:12px;font-size:11px;line-height:1.45;display:flex}.camera-lab-results{padding-top:28px;scroll-margin-top:16px}.camera-lab-results-title h2{margin:4px 0;font-size:22px}.camera-lab-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.camera-lab-result-grid.single{grid-template-columns:minmax(0,540px)}.camera-lab-result-grid article{background:#fff;border:1px solid #e1e4ec;border-radius:18px;min-width:0;position:relative;overflow:hidden;box-shadow:0 12px 32px #27324a0d}.camera-lab-result-grid article.recommended{border-color:#b8bff0;box-shadow:0 14px 36px #5e6ad21d}.camera-lab-result-grid article>em{z-index:2;color:#fff;background:#5662c5e8;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:900;display:flex;position:absolute;top:10px;right:10px}.camera-lab-result-image{cursor:zoom-in;background:#20232a;border:0;width:100%;padding:0;display:block;position:relative}.camera-lab-result-image img{aspect-ratio:3/4;object-fit:contain;background:#252830;width:100%;display:block}.camera-lab-result-image span{color:#fff;background:#11151db8;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;font-weight:800;display:flex;position:absolute;bottom:9px;right:9px}.camera-lab-result-copy{padding:14px}.camera-lab-result-copy h3{margin:0;font-size:15px}.camera-lab-result-copy p{color:#747c8b;min-height:34px;margin:5px 0 11px;font-size:10px;line-height:1.5}.camera-lab-result-copy dl{gap:5px;margin:0 0 12px;display:grid}.camera-lab-result-copy dl div{border-bottom:1px solid #f0f1f5;justify-content:space-between;gap:8px;padding-bottom:5px;font-size:10px;display:flex}.camera-lab-result-copy dt{color:#8a909b}.camera-lab-result-copy dd{margin:0;font-weight:800}.camera-lab-result-copy button{color:#4c57b8;background:#eef0ff;justify-content:center;align-items:center;gap:6px;width:100%;min-height:40px;display:flex}.camera-lab-interpretation{background:#f8f9ff;border:1px solid #e2e5f4;border-radius:16px;margin-top:14px;padding:15px 17px}.camera-lab-interpretation strong{font-size:12px}.camera-lab-interpretation ol{color:#5f6878;gap:5px;margin:8px 0 0;padding-left:19px;font-size:11px;line-height:1.45;display:grid}.camera-lab-footer{color:#89909d;justify-content:center;align-items:center;gap:6px;padding:24px 10px 0;font-size:10px;display:flex}.camera-lab-lightbox{z-index:5000;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background:#08090df2;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}.camera-lab-lightbox header{color:#fff;justify-content:space-between;align-items:center;gap:10px;padding:2px 2px 12px;display:flex}.camera-lab-lightbox header div{gap:3px;display:grid}.camera-lab-lightbox header small{color:#aeb5c2;font-size:10px}.camera-lab-lightbox header strong{font-size:12px}.camera-lab-lightbox header button{color:#fff;background:#ffffff18;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.camera-lab-lightbox>img{object-fit:contain;touch-action:pinch-zoom;width:100%;height:100%;min-height:0}@media (width<=760px){.camera-lab-page{padding-left:12px;padding-right:12px}.camera-lab-result-grid{grid-template-columns:1fr}.camera-lab-result-copy p{min-height:0}.camera-lab-result-image img{max-height:68dvh}}@media (width>=761px){.camera-lab-camera-card{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);display:grid}.camera-lab-preview{grid-row:1/span 4;max-height:760px}.camera-lab-controls{align-self:end;padding-top:24px}.camera-lab-camera-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-lab-camera-meta span:last-child{grid-column:1/-1}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;transition:background-color .15s,color .15s;position:relative;overflow-x:hidden}img{image-rendering:-webkit-optimize-contrast;image-rendering:auto;backface-visibility:hidden;transform:translate(0,0)}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#5e6ad20a 0%,#0000 70%);width:50%;height:60%;position:absolute;top:-10%;left:-10%}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#6e79d605 0%,#0000 70%);width:50%;height:60%;position:absolute;bottom:-10%;right:-10%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary);transition:background-color .15s}::-webkit-scrollbar-thumb{background:#5e6ad226;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5e6ad24d}.app-container{flex-direction:column;max-width:1440px;min-height:100vh;margin:0 auto;padding:24px;display:flex}header{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:24px;padding:14px 20px;display:flex}.logo-section h1{letter-spacing:-.03em;color:var(--text-primary);align-items:center;gap:8px;font-size:20px;font-weight:600;display:flex}.logo-section h1 span.logo-violet{color:var(--color-primary)}.nav-tabs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-smooth);background:0 0;border:1px solid #0000;align-items:center;gap:6px;height:32px;padding:6px 12px;font-size:13px;font-weight:500;display:flex}.tab-btn:hover{color:var(--text-primary);background:var(--bg-surface)}.tab-btn.active{color:var(--text-primary);background:#5e6ad21a;border-color:#5e6ad24d}.header-actions{gap:8px;display:flex}.btn-icon{border:1px solid var(--border-glass);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:var(--transition-smooth);background:0 0;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-secondary)}.card-glass{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:16px 20px}.steps-indicator{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-glass);justify-content:center;align-items:center;gap:16px;margin-bottom:24px;padding:12px;display:flex}.step-item{color:var(--text-secondary);transition:var(--transition-smooth);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.step-number{border:1.5px solid var(--text-muted);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}.step-item.active{color:var(--color-primary)}.step-item.active .step-number{border-color:var(--color-primary);background:#5e6ad226}.step-item.completed{color:var(--color-success)}.step-item.completed .step-number{border-color:var(--color-success);background:#3dd68c26}.step-line{background:var(--border-glass);width:40px;height:1px}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);border:none;justify-content:center;align-items:center;gap:6px;height:32px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-secondary{border:1px solid var(--border-glass);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);background:0 0;justify-content:center;align-items:center;gap:6px;height:32px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--text-secondary);background:#ffffff05}.btn-danger{background:var(--color-danger);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);border:none;justify-content:center;align-items:center;gap:6px;height:32px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-danger:hover{background:var(--color-danger-hover)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#101014cc;justify-content:center;align-items:center;animation:.12s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-glass);border-radius:var(--radius-lg);width:480px;max-width:90%;box-shadow:var(--shadow-neon-strong);padding:20px;animation:.12s ease-out scaleIn;position:relative}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-control{background:var(--bg-secondary);border:1px solid var(--border-glass);color:var(--text-primary);border-radius:var(--radius-sm);transition:var(--transition-smooth);width:100%;padding:6px 10px;font-family:inherit;font-size:13px}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #5e6ad226}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.boxed-preview{border-radius:var(--radius-sm);background-color:var(--bg-secondary);text-align:left;min-width:80%;line-height:1.15;display:inline-block;border:1.5px solid var(--border-glass)!important;margin:14px 0!important;padding:12px 18px!important}.boxed-preview .katex,.print-box-content .katex,.print-choices .katex{vertical-align:baseline!important;line-height:1.2!important}.boxed-preview .katex-display,.boxed-preview .katex-display-container,.print-box-content .katex-display,.print-box-content .katex-display-container,.print-choices .katex-display,.print-choices .katex-display-container{margin-top:0!important;margin-bottom:0!important;line-height:1.2!important}@media print{@page{size:A4 portrait;margin:0!important}body,html{color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;height:auto!important;margin:0!important;padding:0!important;font-family:Noto Sans KR,sans-serif!important;overflow:visible!important}body:before,body:after{content:none!important;display:none!important}.print-area{width:100%!important;display:block!important}.print-page{box-sizing:border-box!important;color:#000!important;page-break-after:always!important;page-break-inside:avoid!important;background:#fff!important;flex-direction:column!important;width:210mm!important;min-width:210mm!important;height:297mm!important;min-height:297mm!important;padding:45px 30px!important;font-family:Noto Serif KR,Batang,Myeongjo,serif!important;display:flex!important;position:relative!important}.print-page:last-child{page-break-after:avoid!important}.print-header{text-align:center!important;border-bottom:2px double #000!important;margin-bottom:20px!important;padding-bottom:8px!important}.print-title{margin:0 0 8px!important;font-family:Noto Serif KR,Batang,Myeongjo,serif!important;font-size:24px!important;font-weight:700!important}.print-subtitle-box{justify-content:space-between!important;margin-top:6px!important;font-size:13px!important;display:flex!important}.print-columns{flex:1!important;display:flex!important;position:relative!important}.print-column{box-sizing:border-box!important;flex-direction:column!important;justify-content:flex-start!important;width:50%!important;height:100%!important;display:flex!important}.print-column-left{padding-left:0!important;padding-right:20px!important}.print-column-right{padding-left:20px!important;padding-right:0!important}.print-problem{page-break-inside:avoid!important;flex-grow:0!important;flex-shrink:0!important;margin-bottom:24px!important;font-size:13px!important;line-height:1.85!important;position:relative!important}.print-prob-num{margin-right:6px!important;font-size:14px!important;font-weight:700!important;display:inline-block!important}.print-prob-text{word-break:keep-all!important;display:inline!important}.print-box-content{word-break:keep-all!important;background:0 0!important;border:1px solid #333!important;border-radius:4px!important;margin:8px 0!important;padding:8px 12px!important;font-size:12px!important;line-height:1.15!important;display:block!important}.print-choices{grid-template-columns:repeat(var(--choice-columns,5), minmax(0, 1fr))!important;gap:4px 10px!important;width:100%!important;margin-top:10px!important;font-size:12.5px!important;line-height:1.3!important;display:grid!important}.print-choice-item{white-space:nowrap!important;align-items:center!important;min-width:0!important;display:flex!important}.print-prob-image{object-fit:contain!important;max-width:90%!important;max-height:120px!important;margin:10px auto!important;display:block!important}.print-footer{text-align:center!important;color:#666!important;font-size:11px!important;position:absolute!important;bottom:24px!important;left:0!important;right:0!important}.app-container>header,.app-container>.steps-indicator,.extractor-tab,.creator-tab-editor,.header-actions,.nav-tabs,.non-printable{display:none!important}}.print-area{display:none}.preview-problem-card .katex,.print-problem .katex{font-size:1.05em!important}.katex{vertical-align:middle!important;white-space:normal!important;text-align:left!important;margin:6px 1px!important;line-height:2.2!important;text-decoration:none!important;display:inline-block!important}.katex .base{white-space:normal!important;text-align:left!important;display:inline!important}.katex-display,.katex-display-container{white-space:normal!important;text-align:left!important;max-width:100%!important;overflow-x:visible!important}.katex-display>.katex{text-align:left!important;display:block!important}.compact-integral .mop>.op-symbol.large-op+.msupsub{transform-origin:0;display:inline-block;transform:scale(1.3)}.compact-integral .mop>.op-symbol.large-op+.msupsub .mfrac{transform-origin:50%;display:inline-block;transform:scale(.7)}.preview-problem-card{line-height:1.85!important}.preview-problem-card .form-group{line-height:1.5!important}.print-prob-text{line-height:1.85!important}.main-problem-description{align-items:flex-start!important;width:100%!important;min-width:0!important;display:flex!important}.problem-description-number{flex:none!important;width:24px!important;margin:0!important;padding:0!important;font-size:14px!important;font-weight:700!important;line-height:1.85!important}.problem-description-body{overflow-wrap:break-word!important;word-break:keep-all!important;flex:auto!important;min-width:0!important;margin:0!important;padding:0!important;line-height:1.85!important;display:block!important}.print-choice-vertical{white-space:normal!important;align-items:flex-start!important;min-height:0!important;margin-bottom:2px!important;line-height:1.3!important}.print-choice-number{flex:0 0 20px!important;width:20px!important;margin:0!important;padding:0!important;line-height:1.3!important}.print-choice-body{white-space:normal!important;flex:auto!important;min-width:0!important;line-height:1.3!important;display:block!important}.print-choice-content{flex-direction:column!important;flex:auto!important;align-items:flex-start!important;gap:3px!important;min-width:0!important;display:flex!important}.print-choice-image{object-fit:contain!important;object-position:left top!important;width:auto!important;max-width:100%!important;max-height:92px!important;display:block!important}.print-subproblem-image{max-width:85%;object-fit:contain!important;width:auto!important;max-height:150px!important;margin:7px auto!important;display:block!important}.choice-aligned-row{white-space:normal!important;width:100%!important;min-width:0!important;line-height:1.3!important;display:block!important}.choice-aligned-row+.choice-aligned-row{margin-top:-1px!important}.choice-aligned-row .katex{vertical-align:middle!important;margin:0 1px!important;line-height:1.2!important}.print-choice-vertical .katex-display,.print-choice-vertical .katex-display-container,.print-choice-vertical .katex-display>.katex{width:100%!important;margin:0!important;line-height:1.35!important;display:block!important}.print-choice-vertical .katex,.print-choice-vertical .katex .base,.print-choice-vertical .katex .mord.text{white-space:nowrap!important}.print-choice-vertical .katex .base{display:inline-block!important}.problem-description-text .katex{vertical-align:baseline!important;margin-top:0!important;margin-bottom:0!important;line-height:1.15!important}.problem-description-text .katex-display,.problem-description-text .katex-display-container{margin-top:3px!important;margin-bottom:3px!important;line-height:1.2!important}.katex,.katex-display,.katex-display-container{scrollbar-width:none!important;text-decoration:none!important;overflow:visible!important}.katex::-webkit-scrollbar{display:none!important}.katex-display::-webkit-scrollbar{display:none!important}.katex-display-container::-webkit-scrollbar{display:none!important}.katex *{text-decoration:none!important}.print-page{font-family:Noto Serif KR,Batang,Myeongjo,serif!important}.print-page.answer-page{flex-direction:column!important;padding:45px 30px!important;display:flex!important}@media print{.print-page.answer-page{box-sizing:border-box!important;width:210mm!important;min-width:210mm!important;height:297mm!important;min-height:297mm!important;padding:45px 30px!important}.app-container{max-width:none!important;min-height:auto!important;margin:0!important;padding:0!important;display:block!important}.paper-layout-shell{min-height:auto!important;display:block!important}.paper-preview-print-shell{display:block!important}#paper-preview-area{width:100%!important;max-height:none!important;padding:0!important;display:block!important;overflow:visible!important}#paper-preview-area [data-page-index]{width:210mm!important;min-width:210mm!important;height:297mm!important;min-height:297mm!important;box-shadow:none!important;page-break-after:always!important;break-after:page!important;page-break-inside:avoid!important;break-inside:avoid!important;border-radius:0!important;margin:0 auto!important}#paper-preview-area [data-page-index]:last-child{page-break-after:avoid!important;break-after:auto!important}.print-area{display:none!important}.paged-answer-sheet-wrapper,.answer-pages-container{gap:0!important;display:block!important}.answer-measure{display:none!important}.katex .frac-line{opacity:.6!important;border-bottom-width:.025em!important}.katex .overline-line{opacity:.6!important;border-top-width:.025em!important}.katex .underline-line,.katex .sqrt-line{opacity:.6!important;border-bottom-width:.025em!important}}.mobile-app-container{background:var(--bg-primary);width:100%;max-width:480px;height:100dvh;min-height:100dvh;color:var(--text-primary);box-sizing:border-box;overscroll-behavior:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden auto;box-shadow:0 0 40px #1a1a241f}html.mobile-portal-active,body.mobile-portal-active{overscroll-behavior:none;touch-action:pan-y;background:var(--bg-primary);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;min-width:100%;height:100%;margin:0;overflow:hidden}body.mobile-portal-active #root{width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.mobile-camera-screen,.mobile-review-screen{touch-action:pan-y;color:#fff;background:#050507;max-width:none;overflow:hidden}.mobile-portal-screen input::placeholder{color:var(--text-muted)}.mobile-portal-screen button:disabled{cursor:wait}.mobile-camera-viewport{background:#000;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}@media (orientation:landscape) and (height<=600px){.mobile-camera-header{padding-top:6px!important;padding-bottom:6px!important}.mobile-camera-controls{padding-top:7px!important;padding-bottom:max(7px, env(safe-area-inset-bottom))!important}}html.student-dashboard-light{--pwa-primary:#5e6ad2;--pwa-primary-hover:#4e5bbf;--pwa-secondary:#6e79d6;--pwa-primary-soft:#f0f2ff;--pwa-primary-soft-strong:#e3e6fa;--pwa-primary-border:#cdd2f4;--pwa-primary-rgb:94, 106, 210}html.student-dashboard-light,html.student-dashboard-light body,html.student-dashboard-light #root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;background:#f5f7fb}.student-dashboard-login{isolation:isolate;width:min(100%,760px);height:100dvh;padding:max(28px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) max(28px, env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left,0px));color:#172033;background:linear-gradient(160deg, var(--pwa-primary-soft) 0%, #f8fafc 48%, #edf4ff 100%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;grid-template-columns:minmax(0,1fr);place-items:center;margin:0 auto;font-family:Pretendard,Inter,Noto Sans KR,sans-serif;display:grid;position:relative;overflow:hidden}.dashboard-login-glow{z-index:-1;filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}.dashboard-login-glow-one{background:rgba(var(--pwa-primary-rgb), .16);width:280px;height:280px;top:-105px;right:-95px}.dashboard-login-glow-two{background:#60a5fa21;width:230px;height:230px;bottom:-100px;left:-85px}.dashboard-login-card{box-sizing:border-box;width:100%;min-width:0;max-width:390px;box-shadow:0 24px 70px rgba(var(--pwa-primary-rgb), .16);-webkit-backdrop-filter:blur(18px);text-align:center;background:#ffffffe6;border:1px solid #ffffffdb;border-radius:28px;padding:34px 27px 25px}.dashboard-login-symbol{color:#fff;background:linear-gradient(145deg, var(--pwa-secondary), var(--pwa-primary-hover));width:70px;height:70px;box-shadow:0 15px 28px rgba(var(--pwa-primary-rgb), .3);border-radius:23px;place-items:center;margin:0 auto 18px;display:grid}.dashboard-login-card>small{color:var(--pwa-primary);letter-spacing:.14em;font-size:10px;font-weight:950}.dashboard-login-card h1{color:#20283a;letter-spacing:-.04em;margin:7px 0 8px;font-size:25px;font-weight:950}.dashboard-login-card>p{color:#778195;margin:0;font-size:12px;line-height:1.55}.dashboard-login-card form{text-align:left;margin-top:28px}.dashboard-login-card form>label{color:#505a6e;align-items:center;gap:6px;margin:0 0 8px 3px;font-size:11px;font-weight:900;display:flex}.dashboard-code-input{border:2px solid var(--pwa-primary-border);background:#fafbff;border-radius:16px;align-items:center;min-width:0;height:58px;padding:0 15px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.dashboard-code-input:focus-within{border-color:var(--pwa-primary);box-shadow:0 0 0 4px rgba(var(--pwa-primary-rgb), .14);background:#fff}.dashboard-code-input.invalid{border-color:#f2a5a5}.dashboard-code-input span{color:var(--pwa-primary);letter-spacing:.05em;font-size:19px;font-weight:950}.dashboard-code-input input{color:#282f40;width:0;min-width:0;height:100%;font:inherit;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;outline:0;flex:1;padding:0 2px;font-size:19px;font-weight:950}.dashboard-code-input input::placeholder{color:#b2b5c3}.dashboard-login-help,.dashboard-login-error{color:#8a92a3;align-items:flex-start;gap:5px;min-height:32px;padding:8px 3px 0;font-size:10px;line-height:1.45;display:flex}.dashboard-login-error{color:#dc4545}.dashboard-login-error svg{flex:none;margin-top:-1px}.dashboard-login-button{color:#fff;background:linear-gradient(135deg, var(--pwa-primary), var(--pwa-primary-hover));width:100%;min-height:52px;box-shadow:0 11px 24px rgba(var(--pwa-primary-rgb), .24);font:inherit;cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:900;display:flex}.dashboard-login-button:disabled{color:#9da2b2;box-shadow:none;cursor:default;background:#ececf2}.dashboard-login-install{border:1px solid var(--pwa-primary-border);width:100%;min-height:50px;color:var(--pwa-primary);background:var(--pwa-primary-soft);font:inherit;cursor:pointer;border-radius:15px;justify-content:center;align-items:center;gap:9px;margin-top:13px;padding:8px 13px;display:flex}.dashboard-login-install span{text-align:left}.dashboard-login-install strong{font-size:11px;display:block}.dashboard-login-install small{color:#7b8497;margin-top:2px;font-size:9px;display:block}.dashboard-login-secure{color:#8a92a3;border-top:1px solid #ececf3;justify-content:center;align-items:center;gap:6px;margin-top:16px;padding-top:18px;font-size:9px;display:flex}.dashboard-login-secure svg{color:var(--pwa-primary)}.student-dashboard-app{color:#172033;background:linear-gradient(180deg, var(--pwa-primary-soft) 0, #f8fafc 230px, #f5f7fb 100%);width:min(100%,760px);height:100dvh;min-height:0;max-height:100dvh;box-shadow:0 0 42px rgba(var(--pwa-primary-rgb), .1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;flex-direction:column;margin:0 auto;font-family:Pretendard,Inter,Noto Sans KR,sans-serif;display:flex;overflow:hidden}.student-dashboard-app input,.student-dashboard-app button,.student-dashboard-app select,.student-dashboard-app textarea{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}.student-dashboard-header{min-height:72px;padding:max(14px, env(safe-area-inset-top,0px)) max(18px, env(safe-area-inset-right,0px)) 12px max(18px, env(safe-area-inset-left,0px));border-bottom:1px solid rgba(var(--pwa-primary-rgb), .1);-webkit-backdrop-filter:blur(18px);z-index:30;background:#ffffffe6;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.student-dashboard-install-strip{width:100%;min-height:49px;padding:7px max(18px, env(safe-area-inset-right,0px)) 7px max(18px, env(safe-area-inset-left,0px));border:0;border-bottom:1px solid var(--pwa-primary-border);color:var(--pwa-primary);background:var(--pwa-primary-soft);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:9px;display:flex}.student-dashboard-install-strip>span{flex:1;min-width:0}.student-dashboard-install-strip strong,.student-dashboard-install-strip small{display:block}.student-dashboard-install-strip strong{font-size:10px;font-weight:900}.student-dashboard-install-strip small{color:#7b8497;margin-top:2px;font-size:8px}@media (display-mode:standalone){.dashboard-login-install,.student-dashboard-install-strip{display:none}}.student-dashboard-brand,.student-dashboard-brand>div,.student-dashboard-student{min-width:0}.student-dashboard-brand{align-items:center;gap:10px;display:flex}.student-dashboard-logo{color:#fff;background:linear-gradient(145deg, var(--pwa-secondary), var(--pwa-primary));width:40px;height:40px;box-shadow:0 8px 20px rgba(var(--pwa-primary-rgb), .24);border-radius:13px;flex:none;place-items:center;display:grid}.student-dashboard-brand strong,.student-dashboard-student strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;display:block;overflow:hidden}.student-dashboard-brand small,.student-dashboard-student small{color:#7b8497;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;display:block;overflow:hidden}.student-dashboard-student{text-align:right;max-width:46%}.student-dashboard-student b{color:var(--pwa-primary);margin-top:2px;font-size:11px;display:block}.student-dashboard-refreshing{z-index:31;background:rgba(var(--pwa-primary-rgb), .1);flex:0 0 2px;height:2px;position:relative;overflow:hidden}.student-dashboard-refreshing span{background:linear-gradient(90deg, transparent, var(--pwa-primary), transparent);border-radius:999px;width:35%;animation:1.05s ease-in-out infinite dashboard-refreshing;position:absolute;inset:0 auto 0 -35%}@keyframes dashboard-refreshing{to{transform:translate(390%)}}.student-dashboard-scroll{overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-gutter:stable;flex:auto;min-height:0;overflow:hidden auto}.student-dashboard-tabs{min-height:66px;padding:7px max(12px, env(safe-area-inset-right,0px)) max(7px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(18px);z-index:40;background:#fffffff5;border-top:1px solid #e6e8f0;flex:none;grid-template-columns:repeat(3,1fr);display:grid}.student-dashboard-tabs button{color:#8a92a3;min-height:49px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:800;display:flex}.student-dashboard-tabs button.active{color:var(--pwa-primary);background:var(--pwa-primary-soft)}.student-dashboard-tabs button>i{place-items:center;font-style:normal;display:grid;position:relative}.student-dashboard-tabs button>i>b{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:9px;font-style:normal;line-height:1;display:grid;position:absolute;top:-8px;right:-11px;box-shadow:0 4px 10px #be181852}.dashboard-push-prompt-layer{z-index:1180;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#181f308f;place-items:center;padding:20px;font-family:Inter,Noto Sans KR,sans-serif;display:grid;position:fixed;inset:0}.dashboard-push-prompt{background:#fffffff7;border:1px solid #ffffffbf;border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:15px 12px;width:min(100%,370px);padding:23px 20px 17px;display:grid;box-shadow:0 24px 70px #0f172a4d}.dashboard-push-prompt-icon{color:#fff;background:linear-gradient(145deg, var(--pwa-secondary), var(--pwa-primary-hover));width:49px;height:49px;box-shadow:0 8px 20px rgba(var(--pwa-primary-rgb), .24);border-radius:16px;grid-column:1/-1;place-items:center;display:grid}.dashboard-push-prompt-copy{min-width:0}.dashboard-push-prompt-copy small,.dashboard-push-prompt-copy strong,.dashboard-push-prompt-copy em{display:block}.dashboard-push-prompt-copy small{color:var(--pwa-primary);letter-spacing:.08em;font-size:9px;font-weight:900}.dashboard-push-prompt-copy strong{color:#2f384b;margin-top:4px;font-size:15px;line-height:1.4}.dashboard-push-prompt-copy p{color:#747d8e;margin:6px 0 0;font-size:10px;line-height:1.55}.dashboard-push-prompt-copy em{color:#ad6328;margin-top:6px;font-size:9px;font-style:normal;line-height:1.45}.dashboard-push-toggle{min-width:75px;color:var(--pwa-primary);font:inherit;background:0 0;border:0;justify-items:center;gap:5px;padding:0;font-size:8px;font-weight:900;display:grid}.dashboard-push-toggle>i{background:#d8dce5;border-radius:999px;width:51px;height:29px;transition:background .2s;display:block;position:relative;box-shadow:inset 0 1px 3px #1f293726}.dashboard-push-toggle>i:after{content:"";background:#fff;border-radius:50%;width:23px;height:23px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #1f293740}.dashboard-push-toggle.enabled>i{background:var(--pwa-secondary)}.dashboard-push-toggle.enabled>i:after{transform:translate(22px)}.dashboard-push-toggle:disabled{opacity:.48}.dashboard-push-dismiss{color:#7b8494;min-height:42px;font:inherit;background:0 0;border:0;border-top:1px solid #e7e9ef;grid-column:1/-1;font-size:10px;font-weight:800}.submission-chat-layer{z-index:1200;background:#0f172a85;place-items:end center;padding:0;font-family:Inter,Noto Sans KR,sans-serif;display:grid;position:fixed;inset:0}.submission-chat-shell{color:#172033;background:#f4f6fb;border-radius:26px 26px 0 0;flex-direction:column;width:min(100%,680px);height:96dvh;transition:transform .2s ease-out;display:flex;overflow:hidden;box-shadow:0 -12px 45px #0f172a33}.submission-chat-shell.dragging{transition:none}.submission-drag-handle{touch-action:none;background:#fffffff7;flex:0 0 17px;place-items:end center;display:grid}.submission-drag-handle i{background:#cdd1dc;border-radius:999px;width:42px;height:5px}.submission-chat-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff7;border-bottom:1px solid #e5e7ef;flex:none;justify-content:space-between;align-items:center;min-height:66px;padding:6px 16px 10px;display:flex}.submission-chat-header>div{align-items:center;gap:10px;display:flex}.submission-chat-header>div>span{color:#fff;background:var(--pwa-primary);border-radius:14px;place-items:center;width:39px;height:39px;display:grid}.submission-chat-header strong,.submission-chat-header small{display:block}.submission-chat-header strong{font-size:15px}.submission-chat-header small{color:#8a92a3;margin-top:2px;font-size:10px}.submission-chat-header>button{color:#697386;background:#f1f3f8;border:0;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.submission-chat-body{min-height:0;padding:18px 14px max(28px, env(safe-area-inset-bottom,0px));background:linear-gradient(#ffffff6b, #ffffff6b), radial-gradient(circle at 1px 1px, rgba(var(--pwa-primary-rgb), .08) 1px, transparent 0) 0 0/18px 18px, #eef1f7;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;display:flex;overflow-y:auto}.submission-message-row{align-items:flex-end;gap:7px;margin-top:12px;display:flex}.submission-message-row:first-child{margin-top:0}.submission-avatar{color:#fff;background:var(--pwa-primary);width:28px;height:28px;box-shadow:0 4px 10px rgba(var(--pwa-primary-rgb), .2);border-radius:10px;flex:none;place-items:center;display:grid}.submission-bubble{border-radius:6px 18px 18px;width:fit-content;max-width:min(88%,470px);padding:13px 15px;box-shadow:0 5px 16px #36405c14}.submission-bubble.bot{background:#fff}.submission-bubble.user{color:#fff;background:linear-gradient(135deg, var(--pwa-primary), var(--pwa-primary-hover));box-shadow:0 6px 16px rgba(var(--pwa-primary-rgb), .18);border-radius:18px 6px 18px 18px;margin:11px 0 0 auto}.submission-bubble strong,.submission-bubble span{display:block}.submission-bubble strong{font-size:13px}.submission-bubble span{color:#727c8f;margin-top:5px;font-size:11px;line-height:1.55}.submission-bubble.user span{color:#ffffffd1}.submission-question-entry{border:1px solid var(--pwa-primary-border);color:#384459;background:linear-gradient(135deg, #fff, var(--pwa-primary-soft));width:min(94%,560px);min-height:66px;box-shadow:0 6px 18px rgba(var(--pwa-primary-rgb), .09);font:inherit;text-align:left;border-radius:18px;align-items:center;gap:10px;margin:22px 0 4px;padding:11px 13px;display:flex}.submission-avatar.notification{color:#fff;background:linear-gradient(145deg,#f59e0b,#ea580c)}.submission-notification-row{align-items:flex-start}.submission-notification-card{color:#3d4657;max-width:min(86%,430px);font:inherit;text-align:left;background:linear-gradient(145deg,#fffdf8,#fff8e8);border:1px solid #f5d7a7;border-radius:5px 17px 17px;padding:12px 14px;display:block;box-shadow:0 6px 16px #78511614}.submission-notification-card small,.submission-notification-card strong,.submission-notification-card span,.submission-notification-card em{display:block}.submission-notification-card small{color:#b36a15;font-size:8px;font-weight:850}.submission-notification-card strong{color:#312b24;margin-top:6px;font-size:12px}.submission-notification-card span{color:#6f6253;margin-top:4px;font-size:9px;line-height:1.55}.submission-notification-card em{color:#d65f12;margin-top:8px;font-size:8px;font-style:normal;font-weight:900}.submission-push-card{border:1px solid var(--pwa-primary-border);background:var(--pwa-primary-soft);border-radius:15px;align-items:center;gap:10px;margin:10px 0 13px 38px;padding:11px 12px;display:flex}.submission-push-card>span{color:#fff;background:var(--pwa-primary);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.submission-push-card>div{flex:1;min-width:0}.submission-push-card strong,.submission-push-card small,.submission-push-card em{display:block}.submission-push-card strong{color:#384459;font-size:10px}.submission-push-card small{color:#7b8497;margin-top:3px;font-size:8px;line-height:1.4}.submission-push-card em{color:#b45309;margin-top:5px;font-size:7px;font-style:normal;line-height:1.4}.submission-push-card>button{color:#fff;background:var(--pwa-primary);min-height:34px;font:inherit;border:0;border-radius:10px;flex:none;padding:0 10px;font-size:8px;font-weight:900}.submission-push-card>button:disabled{opacity:.55}.submission-push-card.error{background:#fff8ed;border-color:#fed7aa}.submission-question-entry>span{color:#fff;background:var(--pwa-primary);border-radius:13px;flex:none;place-items:center;width:39px;height:39px;display:grid}.submission-question-entry>div{flex:1;min-width:0}.submission-question-entry strong,.submission-question-entry small{display:block}.submission-question-entry strong{font-size:12px}.submission-question-entry small{color:#777f91;margin-top:3px;font-size:9px;line-height:1.4}.question-chat{flex-direction:column;min-height:100%;display:flex}.question-view-header{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8f9fcf5;border-bottom:1px solid #e2e5ed;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;margin:-18px -14px 12px;padding:10px 13px;display:grid;position:sticky;top:-18px}.question-view-header>button{min-height:34px;color:var(--pwa-primary);font:inherit;background:0 0;border:0;justify-self:start;align-items:center;gap:4px;padding:0 7px;font-size:9px;font-weight:850;display:flex}.question-view-header>span{text-align:center}.question-view-header strong,.question-view-header small{display:block}.question-view-header strong{font-size:12px}.question-view-header small{color:#7f8797;margin-top:2px;font-size:8px}.question-view-header>button.question-new-small{color:#fff;background:var(--pwa-primary);border-radius:9px;justify-self:end}.question-loading{color:#717b8d;justify-content:center;align-items:center;gap:9px;min-height:220px;font-size:11px;display:flex}.question-new-button{color:#fff;background:linear-gradient(135deg, var(--pwa-primary), var(--pwa-primary-hover));width:100%;min-height:70px;box-shadow:0 9px 22px rgba(var(--pwa-primary-rgb), .24);font:inherit;text-align:left;border:0;border-radius:18px;align-items:center;gap:12px;margin-top:15px;padding:13px 15px;display:flex}.question-new-button>svg{background:#ffffff29;border-radius:13px;width:40px;height:40px;padding:9px}.question-new-button strong,.question-new-button small{display:block}.question-new-button strong{font-size:13px}.question-new-button small{color:#ffffffc7;margin-top:3px;font-size:9px}.question-recent{margin-top:21px}.question-recent h3{color:#606a7d;letter-spacing:.04em;margin:0 3px 9px;font-size:10px}.question-recent>button:not(.question-load-older){color:#39455a;width:100%;min-height:64px;font:inherit;text-align:left;background:#ffffffe6;border:1px solid #e2e5ed;border-radius:15px;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:7px;padding:10px 12px;display:flex}.question-recent>button>span{min-width:0}.question-recent>button strong,.question-recent>button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.question-recent>button strong{max-width:430px;font-size:11px}.question-recent>button small{color:#838c9c;max-width:430px;margin-top:5px;font-size:9px}.question-recent time{color:#9aa1af;flex:none;font-size:7px}.question-load-older{min-height:38px;color:var(--pwa-primary);font:inherit;background:0 0;border:0;align-items:center;gap:6px;margin:5px auto;padding:0 12px;font-size:9px;font-weight:850;display:flex}.question-no-history{color:#8a92a3;background:#ffffff8c;border:1px dashed #d7dbe5;border-radius:16px;place-items:center;gap:7px;padding:28px 15px;font-size:10px;display:grid}.question-conversation{flex-direction:column;min-height:calc(100dvh - 170px);display:flex}.question-turn.user{justify-content:flex-end;margin-top:13px;display:flex}.question-turn .submission-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.65}.question-answer{min-width:100px}.question-answer.failed{background:#fff7f7;border:1px solid #fecaca}.question-answer>p{color:#384459}.question-pending{align-items:center;gap:7px;margin:0!important;display:flex!important}.question-reply-button{min-height:30px;color:var(--pwa-primary);background:var(--pwa-primary-soft);font:inherit;border:0;border-radius:9px;align-items:center;gap:5px;margin:10px -4px -5px 0;padding:0 8px;font-size:8px;font-weight:900;display:flex}.question-answer-images{flex-wrap:wrap;justify-content:flex-end;gap:5px;margin-bottom:8px;display:flex}.question-answer-images>img,.question-image-loading{object-fit:cover;background:#e8eaf0;border-radius:10px;place-items:center;width:88px;height:110px;display:grid}.question-expired-image{background:#0f172a33;border-radius:10px;align-items:center;gap:6px;width:150px;min-height:65px;padding:8px;color:#ffffffd9!important;margin:0!important;font-size:8px!important;display:flex!important}.question-composer{z-index:4;padding:10px 12px max(12px, env(safe-area-inset-bottom,0px));background:#fffffffa;border-top:1px solid #dfe3eb;margin:auto -14px -28px;position:sticky;bottom:-28px;box-shadow:0 -8px 24px #212b4414}.question-composer textarea{resize:vertical;color:#2e394d;width:100%;min-height:72px;max-height:150px;font:inherit;background:#f7f8fb;border:1px solid #dce0e8;border-radius:14px;outline:none;padding:11px 12px;font-size:11px;line-height:1.5}.question-composer textarea:focus{border-color:var(--pwa-primary);box-shadow:0 0 0 2px rgba(var(--pwa-primary-rgb), .1)}.question-composer-actions{align-items:center;gap:8px;margin-top:7px;display:flex}.question-composer-actions>span{align-items:center;gap:3px;display:flex}.question-composer-actions button{color:#657087;background:#eef0f5;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.question-composer-actions button:disabled{opacity:.4}.question-composer-actions small{color:#8b93a2;margin-left:3px;font-size:8px}.question-composer-actions>em{color:#99a0ad;margin-left:auto;font-size:7px;font-style:normal}.question-composer-actions button.question-send{color:#fff;background:var(--pwa-primary)}.question-reply-context{border-left:3px solid var(--pwa-primary);color:#4b566b;background:var(--pwa-primary-soft);border-radius:7px 11px 11px 7px;margin-bottom:8px;padding:9px 67px 9px 10px;position:relative}.question-reply-context>span{align-items:center;gap:5px;font-size:8px;display:flex}.question-reply-context p{text-overflow:ellipsis;white-space:nowrap;color:#747e91;margin:4px 0 0;font-size:8px;overflow:hidden}.question-reply-context button{color:var(--pwa-primary);font:inherit;background:0 0;border:0;font-size:7px;font-weight:850;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.question-reuse-images{background:#fafbfc;border:1px solid #e2e5ed;border-radius:11px;margin-bottom:8px;padding:9px 10px}.question-reuse-images>strong,.question-reuse-images>small{display:block}.question-reuse-images>strong{color:#4b566b;font-size:9px}.question-reuse-images>small{color:#9299a7;margin-top:2px;font-size:7px}.question-reuse-images label{color:#596478;align-items:center;gap:6px;margin-top:7px;font-size:8px;display:flex}.question-reuse-images input{accent-color:var(--pwa-primary)}.question-expired-note{color:#b45309;margin-top:6px;font-size:8px;display:block}.question-draft-images{gap:7px;margin-bottom:8px;display:flex;overflow-x:auto}.question-draft-images>span{background:#e8eaf0;border-radius:11px;flex:none;width:72px;height:88px;position:relative;overflow:hidden}.question-draft-images>span.low-quality{box-shadow:inset 0 0 0 2px #f59e0b}.question-draft-images img{object-fit:cover;width:100%;height:100%;display:block}.question-draft-images b{color:#fff;background:var(--pwa-primary);border-radius:50%;place-items:center;width:20px;height:20px;font-size:8px;display:grid;position:absolute;top:4px;left:4px}.question-draft-images button{color:#fff;background:#0f172ab8;border:0;border-radius:8px;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:3px;right:3px}.question-draft-images em{color:#9a3412;text-align:center;background:#ffedd5f0;border-radius:6px;padding:3px;font-size:6px;font-style:normal;font-weight:900;position:absolute;bottom:3px;left:3px;right:3px}.submission-offline,.submission-error{border-radius:12px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:11px;line-height:1.45;display:flex}.submission-offline{color:#92400e;background:#fff7ed}.submission-error{color:#b91c1c;background:#fef2f2}.submission-offline svg,.submission-error svg{flex:none}.submission-loading,.submission-empty{color:#70798a;background:#ffffffb8;border:1px dashed #d6d9e4;border-radius:18px;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding:24px 16px;font-size:12px;display:flex}.submission-empty{text-align:center;flex-direction:column}.submission-empty strong{color:#334155;font-size:14px}.submission-empty span{font-size:11px}.submission-status-card{border:1px solid var(--pwa-primary-border);background:var(--pwa-primary-soft);border-radius:18px;gap:12px;width:min(92%,520px);margin:0;padding:15px;display:flex}.submission-message-row.status-message{align-items:flex-start}.submission-status-card>span{width:42px;height:42px;color:var(--pwa-primary);background:var(--pwa-primary-soft-strong);border-radius:14px;flex:none;place-items:center;display:grid}.submission-status-card>div{min-width:0}.submission-status-card small,.submission-status-card strong,.submission-status-card p,.submission-status-card em{display:block}.submission-status-card small{color:var(--pwa-primary);letter-spacing:.08em;font-size:9px;font-weight:900}.submission-status-card strong{margin-top:3px;font-size:14px}.submission-status-card p{color:#687286;margin:5px 0 0;font-size:11px;line-height:1.5}.submission-status-card em{color:#9a5d09;margin-top:5px;font-size:10px;font-style:normal}.submission-status-card button{color:#b91c1c;font:inherit;background:#fee2e2;border:0;border-radius:9px;margin-top:10px;padding:7px 10px;font-size:10px;font-weight:800}.submission-status-card.success{background:#f0fdf4;border-color:#bbf7d0}.submission-status-card.success>span{color:#047857;background:#d1fae5}.submission-status-card.success small{color:#047857}.submission-status-card.warning{background:#fff7ed;border-color:#fed7aa}.submission-status-card.warning>span{color:#c2410c;background:#ffedd5}.submission-status-card.warning small{color:#c2410c}.submission-status-card.danger{background:#fef2f2;border-color:#fecaca}.submission-status-card.danger>span{color:#dc2626;background:#fee2e2}.submission-status-card.danger small{color:#dc2626}.submission-message-row.status-message.standalone{width:100%;margin-top:0}.submission-message-row.status-message.standalone .submission-status-card{width:100%;max-width:none}.submission-grading-wait{border:1px solid rgba(var(--pwa-primary-rgb), .13);background:#ffffffb3;border-radius:15px;min-height:78px;margin-top:12px;padding:11px 12px 10px 76px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd9}.submission-grading-wait:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 25%,#ffffffbf 48%,#0000 70%);animation:3.4s ease-in-out infinite submission-grading-sheen;position:absolute;inset:0;transform:translate(-125%)}.submission-grading-visual{background:linear-gradient(145deg, var(--pwa-primary-soft-strong), #fff);width:50px;height:55px;box-shadow:0 6px 14px rgba(var(--pwa-primary-rgb), .12);border-radius:15px;position:absolute;top:11px;left:13px}.submission-grading-paper{transform-origin:50% 100%;background:#fff;border-radius:4px 4px 6px 6px;flex-direction:column;gap:3px;width:25px;height:32px;padding:8px 5px 0;animation:1.8s cubic-bezier(.36,.02,.2,1) infinite submission-paper-chew;display:flex;position:absolute;top:7px;left:13px;box-shadow:0 3px 8px #2c355226}.submission-grading-paper:before{content:"";border-style:solid;border-width:0 0 6px 6px;border-color:transparent transparent var(--pwa-primary-soft-strong) transparent;position:absolute;top:0;right:0}.submission-grading-paper b{background:rgba(var(--pwa-primary-rgb), .24);border-radius:99px;width:100%;height:2px}.submission-grading-paper b:nth-child(2){width:72%}.submission-grading-paper b:nth-child(3){width:86%}.submission-grading-scan{z-index:2;background:#87d5bd;border-radius:99px;height:3px;animation:1.8s cubic-bezier(.45,0,.3,1) infinite submission-scan-line;position:absolute;top:18px;left:9px;right:9px;box-shadow:0 0 7px #52c19f94}.submission-grading-tray{background:var(--pwa-primary);height:8px;box-shadow:0 3px 6px rgba(var(--pwa-primary-rgb), .2);border-radius:3px 3px 8px 8px;animation:1.8s cubic-bezier(.34,1.56,.64,1) infinite submission-tray-squish;position:absolute;bottom:7px;left:9px;right:9px}.submission-grading-copy{z-index:1;min-width:0;position:relative}.submission-grading-copy>strong{color:#3f4960;font-size:10px;line-height:1.35;display:inline}.submission-grading-dots{vertical-align:2px;gap:3px;margin:0 0 0 5px!important;display:inline-flex!important}.submission-grading-dots i{background:var(--pwa-primary);border-radius:50%;width:4px;height:4px;animation:1.2s cubic-bezier(.34,1.56,.64,1) infinite submission-dot-bounce}.submission-grading-dots i:nth-child(2){animation-delay:.13s}.submission-grading-dots i:nth-child(3){animation-delay:.26s}.submission-grading-copy>small{color:#778196;height:17px;margin-top:4px;font-size:8px;line-height:17px;display:block;position:relative;overflow:hidden}.submission-grading-copy>small span{opacity:0;animation:6s ease-in-out infinite submission-copy-cycle;position:absolute;inset:0 auto auto 0;transform:translateY(6px)}.submission-grading-copy>small span:nth-child(2){animation-delay:2s}.submission-grading-copy>small span:nth-child(3){animation-delay:4s}.submission-grading-copy>em{color:var(--pwa-primary);margin-top:2px;font-size:7px;font-style:normal;font-weight:850}@keyframes submission-paper-chew{0%,to{transform:translateY(-1px)scale(1)}42%{transform:translateY(7px)scale(.96,1.03)}62%{transform:translateY(7px)scale(1.04,.94)}}@keyframes submission-scan-line{0%,14%{opacity:.35;transform:translateY(-7px)scaleX(.76)}52%{opacity:1;transform:translateY(13px)scaleX(1)}70%,to{opacity:0;transform:translateY(13px)scaleX(.7)}}@keyframes submission-tray-squish{0%,54%,to{transform:scale(1)}64%{transform:scale(1.08,.76)}74%{transform:scale(.96,1.12)}}@keyframes submission-dot-bounce{0%,55%,to{opacity:.45;transform:translateY(0)scale(1.1,.9)}25%{opacity:1;transform:translateY(-4px)scale(.86,1.24)}}@keyframes submission-copy-cycle{0%{opacity:0;transform:translateY(6px)}8%,27%{opacity:1;transform:translateY(0)}33%,to{opacity:0;transform:translateY(-5px)}}@keyframes submission-grading-sheen{0%,45%{transform:translate(-125%)}72%,to{transform:translate(125%)}}.submission-task-body{background:#f3f5fa;padding-top:13px}.submission-task-summary{border:1px solid var(--pwa-primary-border);color:#344055;background:linear-gradient(145deg, #fff, var(--pwa-primary-soft));border-radius:16px;width:100%;margin-bottom:13px;padding:14px 15px}.submission-task-summary small,.submission-task-summary strong,.submission-task-summary span,.submission-task-summary p{display:block}.submission-task-summary small{color:var(--pwa-primary);letter-spacing:.09em;font-size:8px;font-weight:950}.submission-task-summary strong{margin-top:5px;font-size:14px}.submission-task-summary>span{color:var(--pwa-primary);letter-spacing:.09em;font-size:8px;font-weight:950}.submission-task-summary p{color:#747e91;margin:4px 0 0;font-size:9px;line-height:1.5}.submission-task-summary>div{border-top:1px solid rgba(var(--pwa-primary-rgb), .12);justify-content:space-between;align-items:center;gap:10px;margin-top:11px;padding-top:10px;display:flex}.submission-task-summary>div b{color:#465169;font-size:9px}.submission-task-summary>div em{color:var(--pwa-primary);font-size:9px;font-style:normal;font-weight:900}.submission-task-body>.submission-review-step{margin-top:0}.submission-result-details{border-top:1px solid #64748b2e;margin-top:12px;padding-top:12px}.submission-result-score{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.submission-result-score span{color:#334155;font-size:16px;font-weight:850}.submission-result-score span b{color:var(--pwa-primary);font-size:25px}.submission-result-score small{color:#778195;font-size:9px}.submission-result-counts{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.submission-result-counts span{color:#64748b;background:#fffc;border-radius:8px;padding:5px 7px;font-size:8px}.submission-result-counts b{color:#334155}.submission-result-details ul{max-height:230px;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.submission-result-details li{border-top:1px solid #64748b1f;padding:7px 0}.submission-result-details li strong{color:#3f4a5e;margin:0;font-size:9px}.submission-result-details li span{color:#7a8496;margin-top:3px;font-size:8px;line-height:1.4}.submission-result-details dl{margin:10px 0 0}.submission-result-details dt{color:#4b5567;margin-top:8px;font-size:9px;font-weight:900}.submission-result-details dd{color:#727c8f;margin:3px 0 0;font-size:9px;line-height:1.55}.submission-step{background:#fff;border:1px solid #e5e7ef;border-radius:6px 18px 18px;width:min(94%,560px);margin-top:18px;padding:15px;box-shadow:0 6px 18px #2c36550d}.submission-step.submission-review-step{border-radius:18px;width:100%}.submission-step-title{color:#455066;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:850;display:flex}.submission-step-title b{color:#fff;background:var(--pwa-primary);border-radius:8px;place-items:center;width:23px;height:23px;font-size:10px;display:grid}.submission-step-title>span{flex:1}.submission-step-copy strong{display:block}.submission-step-copy small{color:#a4520e;margin-top:5px;font-size:9px;font-weight:700;line-height:1.45;display:block}.submission-step-copy small i{color:#fff;white-space:nowrap;background:#c26013;border-radius:999px;margin-right:6px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:900}.submission-step-title>em{color:var(--pwa-primary);font-size:11px;font-style:normal;font-weight:950}.submission-choice-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.submission-choice-grid button,.submission-target-list button,.submission-photo-actions button{color:#425066;font:inherit;background:#f8fafc;border:1px solid #e1e4ec;border-radius:13px}.submission-choice-grid button{min-height:68px;padding:10px}.submission-choice-grid strong,.submission-choice-grid span{display:block}.submission-choice-grid strong{font-size:14px}.submission-choice-grid span{color:#8a92a3;margin-top:3px;font-size:10px}.submission-choice-grid button.selected,.submission-target-list button.selected{border-color:var(--pwa-primary);background:var(--pwa-primary-soft);box-shadow:inset 0 0 0 1px var(--pwa-primary)}.submission-target-list{gap:8px;display:grid}.submission-target-list button{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:61px;padding:11px 12px;display:flex}.submission-target-list strong,.submission-target-list small{display:block}.submission-target-list strong{font-size:12px}.submission-target-list small{color:#7c8698;margin-top:4px;font-size:10px}.submission-target-list em{color:#c2410c;background:#ffedd5;border-radius:8px;flex:none;padding:5px 7px;font-size:9px;font-style:normal;font-weight:900}.submission-photo-actions{grid-template-columns:1.25fr 1fr;gap:8px;display:grid}.submission-photo-actions button{justify-content:center;align-items:center;gap:7px;min-height:48px;font-size:11px;font-weight:850;display:flex}.submission-photo-actions button.primary{border-color:var(--pwa-primary);color:#fff;background:var(--pwa-primary)}.submission-photo-actions button:disabled{color:#9ca3af;opacity:1;background:#eef0f4;border-color:#e5e7eb}.submission-capture-pages{border:1px solid rgba(var(--pwa-primary-rgb), .14);color:#687286;background:rgba(var(--pwa-primary-rgb), .05);border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin:-3px 2px 11px;padding:9px 11px;font-size:9px;line-height:1.45;display:flex}.submission-capture-pages strong{color:#455066}.submission-capture-pages span{color:var(--pwa-primary);font-weight:900}.submission-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.submission-photo-grid article{background:#eef1f6;border:2px solid #0000;border-radius:14px;position:relative;overflow:hidden}.submission-photo-grid article.low-quality{border-color:#f59e0b}.submission-photo-preview{width:100%;color:inherit;font:inherit;background:0 0;border:0;padding:0;display:block;position:relative}.submission-photo-preview img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.submission-photo-preview>i{color:#fff;background:#141b2ab3;border-radius:8px;align-items:center;gap:4px;width:max-content;padding:5px 8px;font-size:8px;font-style:normal;font-weight:850;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.submission-photo-number{color:#fff;background:var(--pwa-primary);border:2px solid #ffffffe6;border-radius:50%;place-items:center;width:31px;height:31px;font-size:14px;font-weight:950;display:grid;position:absolute;top:7px;left:7px;box-shadow:0 3px 10px #0f172a47}.submission-quality{color:#047857;background:#d1fae5f0;border-radius:8px;padding:5px 7px;font-size:8px;font-weight:900;position:absolute;top:7px;right:7px}.submission-quality.warning{color:#9a3412;background:#ffedd5f2}.submission-capture-meta{color:#fff;background:#0f172ab8;border-radius:7px;padding:4px 6px;font-size:7px;font-weight:850;position:absolute;top:34px;right:7px}.submission-capture-meta.high-resolution{background:rgba(var(--pwa-primary-rgb), .9)}.submission-photo-tools{background:#dfe3eb;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.submission-photo-tools button{color:#536075;min-width:0;min-height:40px;font:inherit;background:#fff;border:0;justify-content:center;align-items:center;gap:5px;font-size:9px;font-weight:850;display:flex}.submission-photo-tools button.danger{color:#dc2626}.submission-capture-reply{max-width:92%;padding:10px 11px 11px}.submission-capture-reply>div{justify-content:flex-end;gap:5px;display:flex}.submission-capture-reply>div>span{border:2px solid #ffffffa6;border-radius:9px;width:46px;height:56px;margin:0;position:relative;overflow:hidden}.submission-capture-reply img{object-fit:cover;width:100%;height:100%;display:block}.submission-capture-reply b{width:18px;height:18px;color:var(--pwa-primary);background:#fff;border-radius:50%;place-items:center;font-size:9px;display:grid;position:absolute;top:3px;left:3px}.submission-capture-reply strong{margin-top:8px}.submission-capture-reply small{color:#fffc;margin-top:3px;font-size:9px;display:block}.submission-send-button{color:#fff;background:linear-gradient(135deg, var(--pwa-primary), var(--pwa-primary-hover));width:100%;min-height:51px;box-shadow:0 8px 18px rgba(var(--pwa-primary-rgb), .25);font:inherit;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:13px;font-size:12px;font-weight:900;display:flex}.submission-send-button:disabled{opacity:.52;box-shadow:none}.submission-reset{color:#a44747;width:100%;min-height:43px;font:inherit;background:#fff7f7;border:1px solid #f1c9c9;border-radius:12px;justify-content:center;align-items:center;gap:6px;margin-top:13px;font-size:10px;font-weight:850;display:flex}.submission-cancelled-empty button{color:#fff;background:var(--pwa-primary);min-height:38px;font:inherit;border:0;border-radius:11px;margin-top:7px;padding:0 14px;font-size:10px;font-weight:900}.submission-camera-layer{z-index:1300;color:#fff;background:#05070b;flex-direction:column;display:flex;position:fixed;inset:0}.submission-camera-layer header{min-height:58px;padding:max(8px, env(safe-area-inset-top,0px)) 12px 8px;background:#0c0f16;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.submission-camera-layer header button{color:#fff;font:inherit;background:0 0;border:0;align-items:center;gap:2px;font-size:11px;display:flex}.submission-camera-layer header button:last-child{color:var(--pwa-secondary);justify-self:end;font-weight:900}.submission-camera-layer header button.attention{color:#fff;background:var(--pwa-primary);border-radius:9px;padding:7px 9px}.submission-camera-layer header strong{font-size:12px}.submission-camera-view{background:#111827;flex:auto;min-height:0;position:relative;overflow:hidden}.submission-camera-view video{object-fit:cover;width:100%;height:100%;display:block}.submission-a4-guide{aspect-ratio:210/297;pointer-events:none;border:3px solid #e6aaaa;border-radius:8px;width:96%;height:auto;max-height:96%;transition:border-color .2s,box-shadow .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #00000024,0 0 18px #e6aaaa4d}.submission-a4-guide:before,.submission-a4-guide:after{content:"";background:linear-gradient(currentColor,currentColor) 0 0/28px 4px no-repeat,linear-gradient(currentColor,currentColor) 0 0/4px 28px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/28px 4px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/4px 28px no-repeat;border-radius:8px;position:absolute;inset:-3px}.submission-a4-guide:after{transform:rotate(180deg)}.submission-a4-guide.not-ready{color:#e6aaaa;border-color:#e6aaaa}.submission-a4-guide.ready{color:#9fd8b1;border-color:#9fd8b1;box-shadow:0 0 0 999px #0000001f,0 0 20px #9fd8b15c}.submission-a4-guide span{color:#fff;background:#0f172aad;border-radius:9px;width:max-content;max-width:90%;padding:6px 9px;font-size:9px;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}@media (orientation:landscape){.submission-a4-guide{width:auto;max-width:96%;height:94%}}.submission-live-quality{border-radius:999px;width:max-content;max-width:90%;padding:7px 11px;font-size:10px;font-weight:900;position:absolute;top:12px;left:50%;transform:translate(-50%)}.submission-live-quality.ready{color:#d1fae5;background:#047857d1}.submission-live-quality.warning{color:#ffedd5;background:#9a3412c7}.submission-live-quality.processing{color:#f5f3ff;background:rgba(var(--pwa-primary-rgb), .92);align-items:center;gap:6px;display:flex;box-shadow:0 5px 18px #0f172a57}.submission-camera-error{color:#fee2e2;text-align:center;background:#7f1d1deb;border-radius:16px;padding:18px;font-size:11px;line-height:1.5;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%)}.submission-camera-error button{color:#7f1d1d;font:inherit;background:#fff;border:0;border-radius:10px;margin:12px auto 0;padding:9px 13px;font-weight:850;display:block}.submission-camera-limit{color:#fff;background:rgba(var(--pwa-primary-rgb), .92);width:min(88%,350px);font:inherit;text-align:left;border:1px solid #ffffff47;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:12px 14px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0000004d}.submission-camera-limit span,.submission-camera-limit strong,.submission-camera-limit small{display:block}.submission-camera-limit strong{font-size:12px}.submission-camera-limit small{color:#ffffffd1;margin-top:3px;font-size:9px}.submission-camera-layer footer{min-height:92px;padding:10px 24px max(12px, env(safe-area-inset-bottom,0px));background:#0c0f16;grid-template-columns:1fr 80px 1fr;align-items:center;display:grid}.submission-camera-thumbnails{color:#fff;text-align:left;justify-self:start;gap:3px;min-width:0;display:grid}.submission-camera-thumbnails>span{max-width:112px;padding:2px;display:flex;overflow-x:auto}.submission-camera-thumbnails button{background:#263044;border:2px solid #fff;border-radius:8px;flex:none;width:40px;height:48px;margin-right:-8px;padding:0;position:relative;overflow:hidden;box-shadow:0 3px 8px #00000059}.submission-camera-thumbnails img{object-fit:cover;width:100%;height:100%;display:block}.submission-camera-thumbnails b{color:#fff;background:var(--pwa-primary);border-radius:50%;place-items:center;width:17px;height:17px;font-size:8px;display:grid;position:absolute;top:2px;left:2px}.submission-camera-thumbnails>small{color:#b7bfce;font-size:8px}.submission-camera-layer footer>button:last-child{color:#fff;background:0 0;border:0;justify-self:end;justify-items:center;gap:2px;display:grid}.submission-camera-layer footer>button:last-child:disabled{color:#626a78}.submission-camera-layer footer small{font-size:8px}.submission-shutter{color:#fff;background:0 0;border:4px solid #fff;border-radius:50%;justify-self:center;place-items:center;width:68px;height:68px;display:grid}.submission-shutter i{background:#fff;border-radius:50%;width:52px;height:52px;display:block}.submission-shutter:disabled{opacity:.38}.submission-photo-lightbox{z-index:1380;color:#fff;background:#05070bfa;flex-direction:column;display:flex;position:fixed;inset:0}.submission-photo-lightbox>header{min-height:58px;padding:max(9px, env(safe-area-inset-top,0px)) 14px 9px;background:#0c0f16;justify-content:space-between;align-items:center;display:flex}.submission-photo-lightbox>header>span{min-width:0}.submission-photo-lightbox>header small,.submission-photo-lightbox>header strong{display:block}.submission-photo-lightbox>header small{color:var(--pwa-secondary);letter-spacing:.08em;font-size:8px;font-weight:900}.submission-photo-lightbox>header strong{margin-top:2px;font-size:13px}.submission-photo-lightbox>header em{color:#9ca3af;margin-left:5px;font-size:9px;font-style:normal}.submission-photo-lightbox>header button{color:#fff;background:#252a35;border:0;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.submission-photo-review-main{flex:auto;place-items:center;min-height:0;padding:10px;display:grid;position:relative;overflow:hidden}.submission-photo-zoom-frame{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.submission-photo-zoom-frame>img{object-fit:contain;transform-origin:50%;will-change:transform;pointer-events:none;-webkit-user-drag:none;max-width:100%;max-height:100%;transition:transform 60ms linear;display:block}.submission-photo-zoom-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0f16c2;border-radius:12px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;top:8px;right:8px}.submission-photo-zoom-controls button{color:#fff;min-width:34px;height:34px;font:inherit;background:#ffffff1a;border:0;border-radius:9px;place-items:center;padding:0 7px;display:grid}.submission-photo-zoom-controls button:disabled{color:#626a78}.submission-photo-zoom-controls button.zoom-value{min-width:52px;color:var(--pwa-primary-border);font-size:9px;font-weight:900}.submission-photo-pinch-hint{color:#d1d5db;pointer-events:none;background:#0c0f16b3;border-radius:999px;width:max-content;padding:5px 8px;font-size:8px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.submission-photo-review-arrow{z-index:3;color:#fff;background:#0c0f169e;border:0;border-radius:12px;place-items:center;width:40px;height:52px;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.submission-photo-review-arrow.previous{left:14px}.submission-photo-review-arrow.next{right:14px}.submission-photo-review-strip{overscroll-behavior-x:contain;scrollbar-width:thin;background:#11151e;flex:none;align-items:center;gap:8px;min-height:82px;padding:8px 12px;display:flex;overflow-x:auto}.submission-photo-review-strip button{opacity:.62;background:#252a35;border:2px solid #0000;border-radius:9px;flex:none;width:50px;height:64px;padding:0;position:relative;overflow:hidden}.submission-photo-review-strip button.selected{border-color:var(--pwa-secondary);opacity:1;box-shadow:0 0 0 2px rgba(var(--pwa-primary-rgb), .18)}.submission-photo-review-strip img{object-fit:cover;width:100%;height:100%;display:block}.submission-photo-review-strip b{color:#fff;background:var(--pwa-primary);border-radius:50%;place-items:center;width:19px;height:19px;font-size:9px;display:grid;position:absolute;top:3px;left:3px}.submission-photo-review-strip i{color:#fff7ed;background:#c2410c;border-radius:50%;place-items:center;width:19px;height:19px;display:grid;position:absolute;top:3px;right:3px}.submission-photo-lightbox>footer{min-height:76px;padding:10px 14px max(12px, env(safe-area-inset-bottom,0px));background:#0c0f16;align-items:center;gap:8px;display:flex}.submission-photo-lightbox>footer>span{color:#b9f0ca;background:#173c2a;border-radius:8px;margin-right:auto;padding:6px 8px;font-size:9px;font-weight:850}.submission-photo-lightbox>footer>span.warning{color:#ffd7b2;background:#4b2d1d}.submission-photo-review-actions{align-items:center;gap:8px;display:flex}.submission-photo-review-actions button{color:#fff;background:var(--pwa-primary);min-height:40px;font:inherit;border:0;border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-size:9px;font-weight:850;display:flex}.submission-photo-review-actions button.continue{background:#287a59}.submission-photo-review-actions button.danger{background:#9c4848}.submission-photo-review-actions button:disabled{color:#7f8795;background:#252a35}@media (width<=420px){.submission-photo-lightbox>footer{grid-template-columns:1fr;min-height:70px;padding-left:10px;padding-right:10px;display:grid}.submission-photo-lightbox>footer>span{justify-self:start;margin-right:0;padding:5px 6px;font-size:8px}.submission-photo-review-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;width:100%;display:grid}.submission-photo-review-actions button{min-width:0;padding:0 6px;font-size:8px}.submission-photo-pinch-hint{bottom:6px}}.submission-confirm-layer{z-index:1400;background:#0f172ac2;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.submission-confirm-layer>div{color:#293449;text-align:center;background:#fff;border-radius:20px;width:min(100%,360px);padding:23px;box-shadow:0 25px 70px #00000040}.submission-confirm-layer svg{color:#d97706}.submission-confirm-layer strong{margin-top:9px;font-size:15px;display:block}.submission-confirm-layer p{color:#717b8d;margin:8px 0 16px;font-size:11px;line-height:1.55}.submission-confirm-layer button{color:#48556b;min-height:42px;font:inherit;background:#edf0f5;border:0;border-radius:11px;margin:3px;padding:0 13px;font-size:11px;font-weight:850}.submission-confirm-layer button.danger{color:#fff;background:#d97706}@media (width>=681px){.submission-chat-layer{place-items:center;padding:20px}.submission-chat-shell{border-radius:26px;height:min(900px,100dvh - 40px);box-shadow:0 25px 70px #0f172a4d}}.dashboard-tab-content{width:min(100% - 28px,680px);margin:0 auto;padding:24px 0 32px}.dashboard-skeleton{padding-top:30px}.dashboard-skeleton-kicker,.dashboard-skeleton-title,.dashboard-skeleton-copy,.dashboard-skeleton-card i,.dashboard-skeleton-card b,.dashboard-skeleton-card small,.dashboard-skeleton-card em{background:linear-gradient(100deg,#e8e9f2 22%,#f6f6fb 42%,#e8e9f2 62%) 0 0/300% 100%;border-radius:999px;animation:1.35s ease-in-out infinite dashboard-skeleton-shimmer;display:block;overflow:hidden}.dashboard-skeleton-kicker{width:88px;height:8px}.dashboard-skeleton-title{width:min(58%,240px);height:28px;margin-top:13px}.dashboard-skeleton-copy{width:min(78%,330px);height:11px;margin:11px 0 24px}.dashboard-skeleton-card{background:#ffffffd1;border:1px solid #e7e8f0;border-radius:17px;align-items:center;gap:13px;min-height:88px;margin-bottom:12px;padding:17px;display:flex}.dashboard-skeleton-card i{border-radius:15px;flex:none;width:48px;height:48px}.dashboard-skeleton-card span{flex:1;min-width:0}.dashboard-skeleton-card b{width:62%;height:13px}.dashboard-skeleton-card small{width:82%;height:9px;margin-top:9px}.dashboard-skeleton-card em{flex:none;width:36px;height:36px}@keyframes dashboard-skeleton-shimmer{to{background-position:-150% 0}}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.dashboard-page-intro{padding:2px 2px 20px}.dashboard-page-intro>span,.dashboard-profile-card small,.dashboard-section-title small{color:var(--pwa-primary);letter-spacing:.14em;font-size:9px;font-weight:950}.dashboard-page-intro h1{color:#172033;margin:5px 0 6px;font-size:clamp(23px,6vw,30px);line-height:1.2}.dashboard-page-intro p,.dashboard-profile-card p,.dashboard-points-card p,.dashboard-locked p,.dashboard-history-empty p{color:#7b8497;margin:0;font-size:12px;line-height:1.55}.dashboard-assignment-tab{position:relative}.dashboard-question-dock{z-index:12;pointer-events:none;justify-content:flex-end;height:44px;margin-bottom:-44px;display:flex;position:sticky;top:12px}.dashboard-assignment-heading .dashboard-page-intro{min-width:0;padding-right:96px}.dashboard-question-entry{color:#fff;background:linear-gradient(135deg, var(--pwa-primary), var(--pwa-primary-hover));min-height:44px;box-shadow:0 9px 24px rgba(var(--pwa-primary-rgb), .3), 0 2px 7px #1f243a1f;font:inherit;letter-spacing:-.01em;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #ffffff94;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 15px 0 13px;font-size:11px;font-weight:950;transition:transform .18s,box-shadow .18s,filter .18s;display:flex}.dashboard-question-entry>svg{flex:none}.dashboard-question-entry span{display:block}.dashboard-question-entry:focus-visible{outline:3px solid rgba(var(--pwa-primary-rgb), .24);outline-offset:3px}.dashboard-question-entry:active{transform:scale(.97)}@media (hover:hover){.dashboard-question-entry:hover{filter:brightness(1.04);box-shadow:0 12px 29px rgba(var(--pwa-primary-rgb), .35), 0 3px 9px #1f243a24;transform:translateY(-1px)}}.dashboard-assignment-overview{background:#fffffff0;border:1px solid #e3e6ee;border-radius:17px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:15px;padding:11px;display:grid;box-shadow:0 8px 24px #1f243a0b}.dashboard-assignment-overview>div{text-align:center;background:#f6f7fa;border-radius:11px;min-width:0;padding:9px 7px}.dashboard-assignment-overview small,.dashboard-assignment-overview strong{display:block}.dashboard-assignment-overview small{color:#7e8798;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:850;overflow:hidden}.dashboard-assignment-overview strong{color:#303b50;margin-top:4px;font-size:19px}.dashboard-assignment-overview .attention{background:#fff5ed}.dashboard-assignment-overview .attention small,.dashboard-assignment-overview .attention strong{color:#bd5b19}.dashboard-assignment-filters{background:#e9ebf1;border-radius:13px;grid-template-columns:repeat(3,1fr);gap:3px;margin-bottom:22px;padding:4px;display:grid}.dashboard-assignment-filters button{color:#747d8d;min-height:36px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:9px;font-weight:900}.dashboard-assignment-filters button b{color:#9ba2b0;margin-left:5px}.dashboard-assignment-filters button.active{color:var(--pwa-primary-hover);background:#fff;box-shadow:0 2px 8px #1f243a17}.dashboard-assignment-filters button.active b{color:var(--pwa-primary)}.dashboard-assignment-section{margin-top:25px}.dashboard-assignment-section>header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:11px;padding:0 2px;display:flex}.dashboard-assignment-section>header small{color:var(--pwa-primary);letter-spacing:.12em;font-size:8px;font-weight:950}.dashboard-assignment-section>header h2{color:#293449;margin:3px 0 0;font-size:17px}.dashboard-assignment-section>header h2 b,.dashboard-assignment-completed summary b{color:var(--pwa-primary);margin-left:5px;font-size:11px}.dashboard-assignment-section>header p{color:#858d9d;text-align:right;max-width:190px;margin:0;font-size:8px;line-height:1.4}.dashboard-assignment-completed{border-top:1px solid #e3e6ed;margin-top:27px;padding-top:3px}.dashboard-assignment-completed>summary{color:#596478;cursor:pointer;justify-content:space-between;align-items:center;min-height:60px;list-style:none;display:flex}.dashboard-assignment-completed>summary::-webkit-details-marker{display:none}.dashboard-assignment-completed>summary small,.dashboard-assignment-completed>summary strong{display:block}.dashboard-assignment-completed>summary small{color:#8a92a3;letter-spacing:.12em;font-size:8px;font-weight:900}.dashboard-assignment-completed>summary strong{margin-top:3px;font-size:13px}.dashboard-assignment-completed[open]>summary svg{transform:rotate(180deg)}.dashboard-book-list,.dashboard-exam-list{gap:12px;display:grid}.dashboard-book,.dashboard-exam,.dashboard-history{background:#fffffff5;border:1px solid #e2e5ee;border-radius:18px;position:relative;box-shadow:0 8px 26px #1f243a0e}.dashboard-book.open{border-color:var(--pwa-primary-border)}.dashboard-book-heading{z-index:12;background:#fff;border-radius:17px;margin:0}.dashboard-book.open .dashboard-book-heading{border-bottom:1px solid var(--pwa-primary-soft-strong);border-bottom-right-radius:0;border-bottom-left-radius:0;position:sticky;top:0;box-shadow:0 8px 18px #28234e13}.dashboard-book-heading>button,.dashboard-exam-header{border-radius:inherit;width:100%;min-height:92px;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:15px;display:flex}.dashboard-book-title,.dashboard-exam-main{flex:1;min-width:0;display:block}.dashboard-book-title>small,.dashboard-exam-main>small{color:var(--pwa-primary);letter-spacing:.08em;margin-bottom:4px;font-size:9px;font-style:normal;font-weight:950;display:block}.dashboard-book-title>strong,.dashboard-exam-main>strong{color:#172033;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:900;line-height:1.35;display:-webkit-box;overflow:hidden}.dashboard-book-title>span,.dashboard-exam-main>span{color:#7b8497;margin-top:7px;font-size:10px;font-style:normal;display:block}.dashboard-book-title b{color:var(--pwa-primary)}.dashboard-book-title em{color:#e56d28;font-style:normal}.dashboard-progress-ring{border-radius:50%;flex:none;place-items:center;width:51px;height:51px;display:grid}.dashboard-progress-ring span{width:39px;height:39px;color:var(--pwa-primary-hover);background:#fff;border-radius:50%;place-items:center;font-size:10px;font-weight:950;display:grid}.dashboard-chevron{color:#9aa1b1;flex:none;transition:transform .2s}[aria-expanded=true]>.dashboard-chevron,.dashboard-problem-card button[aria-expanded=true] .dashboard-chevron{transform:rotate(180deg)}.dashboard-book-panel{padding:16px}.dashboard-completion-test{color:#c05c22;background:#fff7ed;border-radius:12px;align-items:center;gap:8px;margin-bottom:18px;padding:11px 12px;font-size:11px;display:flex}.dashboard-completion-test.passed{color:#057a55;background:#ecfdf5}.dashboard-section-title{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.dashboard-section-title h2,.dashboard-section-title h3{color:#222a3a;margin:3px 0 0;font-size:15px}.dashboard-section-title>strong,.dashboard-section-title>span{color:var(--pwa-primary);font-size:10px}.dashboard-page-map{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px;padding:2px 2px 10px;display:grid}.dashboard-page-cell{min-width:38px;height:38px;font:inherit;cursor:pointer;border:1px solid #17203314;border-radius:9px;font-size:10px;font-weight:950}.dashboard-page-cell.needs-work{border:3px solid #f97316}.dashboard-page-cell.active{outline:3px solid var(--pwa-primary-border);outline-offset:2px}.dashboard-page-legend{color:#838b9b;flex-wrap:wrap;gap:8px 12px;font-size:9px;display:flex}.dashboard-page-legend span{align-items:center;gap:4px;display:flex}.dashboard-page-legend i{border-radius:3px;width:10px;height:10px}.dashboard-page-legend i.needs-work{background:0 0;border:2px solid #f97316}.dashboard-problem-section{border-top:1px solid #eef0f5;margin-top:24px;padding-top:18px}.dashboard-problem-list{gap:9px;display:grid}.dashboard-visibility-toggle{color:#15803d;cursor:pointer;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:6px;min-height:34px;padding:6px 9px;font-size:9px;font-weight:900;display:inline-flex}.dashboard-visibility-toggle input{accent-color:#16a34a;width:15px;height:15px;margin:0}.dashboard-focused-empty{color:#526074;text-align:center;background:#fbfcfe;border:1px dashed #d8dce6;border-radius:12px;gap:5px;padding:24px 16px;display:grid}.dashboard-focused-empty strong{font-size:12px}.dashboard-focused-empty span{color:#8a92a3;font-size:9px}.dashboard-problem-card{border:1px solid #e7e9f0;border-left:4px solid var(--status-color);background:#fff;border-radius:12px;overflow:hidden}.dashboard-problem-card>button{color:#172033;width:100%;min-height:56px;font:inherit;cursor:pointer;text-align:left;background:#fff;border:0;align-items:center;gap:8px;padding:11px 12px;display:flex}.dashboard-problem-card>button>span{flex:1;min-width:0}.dashboard-problem-card>button strong{font-size:12px;display:block}.dashboard-problem-card>button small{color:#7b8497;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;display:block;overflow:hidden}.dashboard-problem-card>button em{border-radius:999px;flex:none;padding:4px 7px;font-size:9px;font-style:normal;font-weight:900}.dashboard-problem-detail{background:#fbfcfe;border-top:1px solid #eef0f5;padding:13px}.dashboard-problem-detail dl{grid-template-columns:72px 1fr;gap:7px 10px;font-size:10px;display:grid}.dashboard-problem-detail dt{color:#7b8497;font-weight:800}.dashboard-problem-detail dd{color:#222a3a;margin:0}.dashboard-mistake-reason{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin-bottom:11px;padding:11px}.dashboard-mistake-reason strong{font-size:10px;display:block}.dashboard-mistake-reason p{white-space:pre-wrap;margin:4px 0 0;font-size:10px;line-height:1.6}.dashboard-problem-images{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:11px;display:grid}.dashboard-problem-images figure{min-width:0;margin:0}.dashboard-problem-images figcaption{color:#697386;margin-bottom:5px;font-size:9px;font-weight:900}.dashboard-problem-images button{color:#fff;cursor:zoom-in;background:#fff;border:0;border-radius:9px;width:100%;padding:0;display:block;position:relative}.dashboard-problem-images button>svg{box-sizing:content-box;pointer-events:none;background:#172033c2;border-radius:999px;padding:6px;position:absolute;bottom:9px;right:9px}.dashboard-problem-images img{object-fit:contain;background:#fff;border:1px solid #e3e6ed;border-radius:9px;width:100%;max-height:260px;display:block}.dashboard-image-lightbox{padding:max(54px, calc(18px + env(safe-area-inset-top,0px))) max(12px, env(safe-area-inset-right,0px)) max(18px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));z-index:200;cursor:zoom-out;background:#090d19f0;place-items:center;display:grid;position:fixed;inset:0}.dashboard-image-lightbox>img{object-fit:contain;cursor:default;background:#fff;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%}.dashboard-lightbox-close{top:max(10px, env(safe-area-inset-top,0px));right:max(10px, env(safe-area-inset-right,0px));color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute}.dashboard-solution,.dashboard-solution-locked{color:#176448;background:#edfdf6;border-radius:10px;margin-top:12px;padding:11px;font-size:10px}.dashboard-solution>div{gap:8px;display:flex}.dashboard-solution details{margin-top:8px}.dashboard-solution summary{cursor:pointer;font-weight:900}.dashboard-solution p{color:#425466;white-space:pre-wrap;margin:8px 0 0;line-height:1.65}.dashboard-solution-content{overflow-wrap:anywhere;color:#425466;margin-top:9px;line-height:1.8}.dashboard-solution-content .katex{font-size:1.08em}.dashboard-solution-content .katex-display{margin:10px 0;padding:4px 0;overflow:auto hidden}.dashboard-solution-locked{color:#697386;background:#f1f4f8;align-items:center;gap:7px;display:flex}.dashboard-exam-score{min-width:54px;height:54px;color:var(--pwa-primary);background:var(--pwa-primary-soft);text-align:center;border-radius:12px;flex:none;place-content:center;display:grid}.dashboard-exam-score b{font-size:16px}.dashboard-exam-score small{font-size:8px}.dashboard-exam-stats{grid-template-columns:repeat(5,1fr);gap:6px;padding:0 15px 14px;display:grid}.dashboard-exam-stats.homework{grid-template-columns:repeat(4,1fr)}.dashboard-exam-stats span{color:#697386;text-align:center;background:#f5f7fa;border-radius:9px;padding:8px 3px;font-size:8px}.dashboard-exam-stats b{color:#334155;margin-bottom:2px;font-size:12px;display:block}.dashboard-exam-stats .success b{color:#059669}.dashboard-exam-stats .danger b{color:#ef4444}.dashboard-exam-stats .perfect b{color:var(--pwa-primary)}.dashboard-exam-stats .warning{color:#697386;background:#f5f7fa}.dashboard-exam-stats .warning b{color:#9a7413}.dashboard-task-card{overflow:hidden}.dashboard-task-card.action{box-shadow:0 9px 28px rgba(var(--pwa-primary-rgb), .075);border-color:#dedff0}.dashboard-task-card.processing{background:#fbfcff;border-color:#d9ddf0}.dashboard-task-card.completed{box-shadow:none}.dashboard-task-meta{align-items:center;gap:6px;min-height:40px;padding:10px 14px 0;display:flex}.dashboard-task-meta>span,.dashboard-task-meta>em{border-radius:999px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:950}.dashboard-task-meta>span.homework{color:#805b0c;background:#fef3c7}.dashboard-task-meta>span.exam{color:#2553a3;background:#e7efff}.dashboard-task-meta>small{color:#7d8697;align-items:center;gap:4px;margin-left:auto;font-size:8px;font-weight:800;display:flex}.dashboard-task-meta>small.overdue{color:#c2413b}.dashboard-task-card .dashboard-exam-header{min-height:79px;padding-top:9px;padding-bottom:10px}.dashboard-task-card .dashboard-exam-main>span{margin-top:5px}.dashboard-task-action{padding:0 14px 14px}.dashboard-task-action>button{color:#fff;background:linear-gradient(135deg, var(--pwa-primary), var(--pwa-primary-hover));width:100%;min-height:48px;box-shadow:0 7px 17px rgba(var(--pwa-primary-rgb), .2);font:inherit;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;padding:8px 14px;font-size:11px;font-weight:950;display:flex}.dashboard-task-card.processing .dashboard-task-action>button{color:var(--pwa-primary-hover);background:var(--pwa-primary-soft-strong);box-shadow:none}.dashboard-task-error{color:#b4232d;background:#fff1f2;border-radius:10px;align-items:flex-start;gap:6px;margin:0 14px 10px;padding:9px 10px;font-size:9px;line-height:1.5;display:flex}.dashboard-task-error svg{flex:none}.dashboard-problem-card.needs-work{border-color:#e7e9f0;border-left-color:var(--status-color);box-shadow:none}.dashboard-problem-card.needs-work>button{background:#fff}.dashboard-needs-work-note,.dashboard-exam-feedback{border-radius:9px;margin-bottom:10px;padding:10px 11px;font-size:11px;line-height:1.55}.dashboard-needs-work-note{color:#334155;background:#f8fafc;border:1px solid #e2e8f0}.dashboard-needs-work-note strong{color:#9a7413}.dashboard-exam-feedback{color:#334155;background:#f8fafc;border:1px solid #e2e8f0}.dashboard-needs-work-note strong,.dashboard-exam-feedback strong{margin-bottom:3px;display:block}.dashboard-needs-work-note p,.dashboard-exam-feedback p{margin:0}.dashboard-exam-panel{border-top:1px solid #eceef4;padding:14px}.dashboard-exam-filter{color:#526074;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:10px;display:flex}.dashboard-locked{color:var(--pwa-primary);background:var(--pwa-primary-soft);border-radius:12px;align-items:flex-start;gap:10px;padding:14px;display:flex}.dashboard-locked strong{color:var(--pwa-primary-hover);margin-bottom:4px;font-size:12px;display:block}.dashboard-locked p{font-size:10px}.dashboard-profile-card{color:#fff;background:linear-gradient(140deg, var(--pwa-secondary), var(--pwa-primary-hover));box-shadow:0 14px 34px rgba(var(--pwa-primary-rgb), .24);border-radius:20px;align-items:center;gap:16px;padding:22px;display:flex}.dashboard-profile-avatar{background:#ffffff24;border:1px solid #ffffff47;border-radius:20px;flex:none;place-items:center;width:62px;height:62px;display:grid}.dashboard-profile-card small,.dashboard-profile-card h1,.dashboard-profile-card p{color:#fff}.dashboard-profile-card h1{margin:4px 0 2px;font-size:23px}.dashboard-profile-card p{opacity:.75}.dashboard-points-card{background:linear-gradient(135deg,#fffdf2,#fff8db);border:1px solid #e7e2bd;border-radius:18px;margin-top:14px;padding:20px}.dashboard-points-card>small{color:#9c7a18;font-size:10px;font-weight:900}.dashboard-points-card>strong{color:#6f5510;margin:5px 0;font-size:31px;display:block}.dashboard-points-card>strong em{margin-left:3px;font-size:15px;font-style:normal}.dashboard-points-card p{color:#9a8139}.dashboard-history{margin-top:14px;padding:18px}.dashboard-logout-button{color:#667085;width:100%;min-height:46px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dedfe7;border-radius:13px;justify-content:center;align-items:center;gap:7px;margin-top:8px;font-size:11px;font-weight:850;display:flex}.dashboard-transaction-list{gap:2px;display:grid}.dashboard-transaction{border-bottom:1px solid #eef0f4;align-items:center;gap:10px;padding:11px 0;display:flex}.dashboard-transaction:last-child{border-bottom:0}.dashboard-transaction-icon{color:#92721b;background:#fff6cd;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.dashboard-transaction>div{flex:1;min-width:0}.dashboard-transaction>div strong{color:#30384a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.dashboard-transaction>div small{color:#929aaa;margin-top:3px;font-size:9px;display:block}.dashboard-transaction>b{color:#059669;font-size:12px}.dashboard-transaction>b.minus{color:#ef4444}.dashboard-history-empty,.dashboard-empty{color:#8a92a3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:280px;display:flex}.dashboard-empty{width:min(100% - 28px,680px);min-height:100%;margin:0 auto;padding:30px 18px}.dashboard-empty>strong,.dashboard-history-empty>strong{color:#4b5567;font-size:14px}.dashboard-empty p{max-width:360px;margin:0;font-size:11px;line-height:1.55}.dashboard-primary-button{color:#fff;background:var(--pwa-primary);font:inherit;cursor:pointer;border:0;border-radius:10px;align-items:center;gap:7px;margin-top:8px;padding:10px 14px;font-size:11px;font-weight:900;display:flex}@media (width>=700px){.dashboard-tab-content{padding-top:32px}.dashboard-book-heading>button,.dashboard-exam-header{padding:18px 20px}.dashboard-book-panel,.dashboard-exam-panel{padding:20px}}@media (width<=430px){.dashboard-question-dock{top:10px}.dashboard-assignment-heading .dashboard-page-intro{padding-right:92px}.dashboard-assignment-section>header{align-items:flex-start}.dashboard-assignment-section>header p{max-width:145px}.dashboard-task-meta{padding-inline:12px}.dashboard-task-meta>small{text-overflow:ellipsis;white-space:nowrap;max-width:118px;overflow:hidden}.dashboard-task-card .dashboard-exam-header{gap:8px;padding-inline:12px}.dashboard-task-card .dashboard-exam-score{width:47px;min-width:47px;height:47px}.dashboard-task-card .dashboard-exam-score b{font-size:13px}}@media (height<=650px){.student-dashboard-header{min-height:58px;padding-top:max(8px, env(safe-area-inset-top,0px));padding-bottom:8px}.student-dashboard-logo{border-radius:11px;width:34px;height:34px}.student-dashboard-tabs{min-height:56px;padding-top:4px;padding-bottom:max(4px, env(safe-area-inset-bottom,0px))}.student-dashboard-tabs button{min-height:43px}.dashboard-tab-content{padding-top:16px;padding-bottom:24px}.dashboard-page-intro{padding-bottom:14px}}@media (prefers-reduced-motion:reduce){.student-dashboard-scroll{scroll-behavior:auto}.dashboard-chevron{transition:none}.student-dashboard-refreshing span,.dashboard-skeleton-kicker,.dashboard-skeleton-title,.dashboard-skeleton-copy,.dashboard-skeleton-card i,.dashboard-skeleton-card b,.dashboard-skeleton-card small,.dashboard-skeleton-card em,.submission-grading-wait:after,.submission-grading-paper,.submission-grading-scan,.submission-grading-tray,.submission-grading-dots i,.submission-grading-copy>small span{animation:none}.submission-grading-copy>small span:first-child{opacity:1;transform:none}}@keyframes cameraFlash{0%{opacity:.9}50%{opacity:.4}to{opacity:0}}.camera-flash-overlay{z-index:100;pointer-events:none;background-color:#fff;animation:.35s ease-out forwards cameraFlash;position:absolute;inset:0}@media (width<=760px){body{min-width:0;overflow-x:hidden}.app-container{width:100%;max-width:none;padding:max(12px, env(safe-area-inset-top,0px)) 12px calc(82px + env(safe-area-inset-bottom,0px))}.teacher-header{gap:10px;min-height:54px;margin-bottom:14px;padding:10px 12px;position:relative}.logo-section{min-width:0}.logo-section h1{white-space:nowrap;font-size:16px}.teacher-header-actions{flex:none;margin-left:auto}.teacher-header-actions .btn-secondary{width:40px;min-width:40px;height:40px!important;padding:0!important}.teacher-header-actions .btn-secondary span{display:none}.teacher-header-actions .btn-icon{width:40px;height:40px}.teacher-header>.nav-tabs{z-index:900;padding:6px max(6px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(6px, env(safe-area-inset-left,0px));border-top:1px solid var(--border-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0f172a1f}.teacher-header>.nav-tabs .tab-btn{border-radius:9px;flex-direction:column;justify-content:center;gap:3px;width:100%;min-width:0;height:58px;padding:5px 1px;font-size:10px;line-height:1.15}.teacher-header>.nav-tabs .tab-btn svg{width:20px;height:20px}.creator-tab,.extractor-tab,.student-tab,.operations-workspace{width:100%;min-width:0}.operations-workspace{gap:12px!important}.operations-hero{flex-direction:column;align-items:stretch!important;gap:14px!important;padding:17px 16px!important}.operations-hero-copy h2{font-size:23px!important}.operations-hero-copy p{font-size:13px;line-height:1.55}.operations-hero-actions{width:100%}.operations-hero-actions .btn-primary{flex:1;min-height:42px}.operations-hero-actions .btn-icon{width:42px;height:42px}.operations-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.operations-metric-grid>button{touch-action:manipulation;min-width:0;min-height:108px;padding:14px!important}.operations-metric-grid>button strong{font-size:24px}.operations-two-column{grid-template-columns:minmax(0,1fr)!important}.operations-filter-bar{scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-right:-12px;padding-right:12px;overflow-x:auto;flex-wrap:nowrap!important}.operations-filter-bar::-webkit-scrollbar{display:none}.operations-filter-bar button{flex:none;min-height:40px}.operations-workspace article,.operations-workspace section{max-width:100%}.operations-workspace article>div,.operations-workspace section>div{min-width:0}.steps-indicator{justify-content:flex-start;gap:8px;padding:10px;overflow-x:auto}.step-item{white-space:nowrap;flex:none}.step-line{flex:0 0 20px;width:20px}.card-glass{padding:14px}input,select,textarea{max-width:100%;font-size:16px}button,a{touch-action:manipulation}}@media (width<=380px){.logo-section h1>span{text-overflow:ellipsis;max-width:148px;overflow:hidden}.teacher-header-actions{gap:4px}.operations-metric-grid{grid-template-columns:minmax(0,1fr)!important}}
