:root{--primary:#003d99;--primary-soft:#1d5abd;--accent:#80b3ff;--accent-warm:#ffd18a;--accent-deep:#e8f1ff;--bg:#eef4ff;--panel:#fff;--text:#1a2744;--muted:#4a5a7a;--border:#c2d6ff;--shadow-soft:0 8px 24px #003d991a;--shadow-brand:0 4px 16px #003d992e;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--app-min-height:680px;--transition-fast:.15s ease;--transition-base:.22s ease;--transition-spring:.28s cubic-bezier(.34, 1.56, .64, 1)}body.dark{--primary:#80b3ff;--primary-soft:#9ec3ff;--accent:#c2d6ff;--accent-warm:#ffdca4;--accent-deep:#0b1f3f;--bg:#08142a;--panel:#0d1f3f;--text:#d6e8ff;--muted:#8aabd9;--border:#1e3a6b;--shadow-soft:0 14px 30px #0006;--shadow-brand:0 4px 16px #00000059}html,body,#root{min-height:100%}*{box-sizing:border-box}body{min-height:100dvh;color:var(--text);background-color:#eef4ff;background-image:radial-gradient(80% 40% at 10% 0,#003d9912,#0000 55%),radial-gradient(60% 35% at 88% 5%,#80b3ff2e,#0000 50%),radial-gradient(40% 30% at 50% 95%,#ffd18a1f,#0000 45%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;margin:0;font-family:Segoe UI,Tahoma,sans-serif}body.dark{background:radial-gradient(circle at 9% 4%,#ffdca414,#0000 38%),radial-gradient(circle at 82% 9%,#7fabff1a,#0000 45%),linear-gradient(#0b1f3f 0%,#07162f 58%,#08142a 100%)}a{color:var(--primary)}button,select,textarea{font:inherit;touch-action:manipulation}button:not(.icon-button){border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:border-color var(--transition-base), transform var(--transition-base), background var(--transition-base);justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.9rem;text-decoration:none;display:inline-flex}@media (width>=981px){button:not(.icon-button){min-height:36px}}button:not(.icon-button):hover{border-color:var(--primary);background:color-mix(in srgb, var(--accent) 22%, var(--panel));transform:translateY(-1px)}button:not(.icon-button):disabled{opacity:.45;cursor:not-allowed;transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:var(--app-min-height);min-height:max(var(--app-min-height), 100dvh);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.export-overlay{z-index:9998;-webkit-backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.export-overlay-inner{border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);color:var(--text);flex-direction:column;align-items:center;gap:16px;padding:28px 36px;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 20px 48px #00000047}.export-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.export-spinner{border-color:var(--primary);animation:none}.export-overlay{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);background:var(--primary);background-image:linear-gradient(135deg, var(--primary) 0%, var(--primary-soft) 100%);-webkit-backdrop-filter:none;backdrop-filter:none;padding:10px 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 16px #003d9940}.brand{align-items:center;gap:var(--space-2);color:#fff;letter-spacing:-.01em;flex-shrink:0;font-size:1.05rem;font-weight:800;display:flex}.brand-icon{filter:drop-shadow(0 1px 4px #00000040);width:30px;height:30px}.brand-icons{margin-left:var(--space-2);align-items:center;gap:6px;display:inline-flex}.version-badge{color:#ffffffeb;letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #ffffff40;border-radius:20px;padding:3px 9px;font-size:.7rem;font-weight:700}.icon-button{color:#ffffffe6;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:all .18s;display:inline-flex}.icon-button:hover{background:#ffffff38;border-color:#ffffff80;transform:translateY(-1px)}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.action-group{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #fff3;border-radius:10px;flex-direction:column;gap:5px;padding:6px 8px;display:flex}.action-group-label{letter-spacing:.09em;text-transform:uppercase;color:#ffffffa6;padding:0 2px;font-size:.62rem;font-weight:700}.action-group-buttons{flex-wrap:wrap;gap:5px;display:flex}.spin-icon{animation:.8s linear infinite icon-spin}@keyframes icon-spin{to{transform:rotate(360deg)}}.layout{gap:var(--space-3);padding:var(--space-3);grid-template-rows:auto minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));min-height:420px;display:grid;overflow:hidden}.layout-with-ai-guide{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-tabs{display:none}.pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);min-height:0;box-shadow:var(--shadow-soft);flex-direction:column;display:flex;overflow:hidden}.pane-header{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);padding-right:var(--space-2);background:color-mix(in srgb, var(--panel) 95%, transparent);display:flex}.pane-title{color:var(--muted);letter-spacing:.03em;padding:10px 14px;font-weight:600}.editor-pane #editor{resize:none;width:100%;height:100%;min-height:0;color:var(--text);background:var(--panel);border:0;outline:0;padding:16px;font-family:JetBrains Mono,Fira Code,monospace;line-height:1.58}.editor-toolbar{align-items:center;gap:var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;min-width:0;padding:8px 8px 8px 0;display:flex;overflow:auto hidden}.editor-tool-group{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, var(--accent));border-radius:10px;flex-wrap:nowrap;flex:none;align-items:center;gap:4px;min-width:0;padding:4px;display:inline-flex}.editor-tool-group-blocks{max-width:none}.editor-tool-button{border-radius:7px;min-width:34px;min-height:34px;padding:6px;font-size:.82rem;font-weight:600}.editor-tool-select{border:1px solid var(--border);background:var(--panel);min-width:132px;color:var(--text);border-radius:8px;padding:6px 8px;font-size:.83rem}.editor-tool-select:focus-visible{outline:2px solid color-mix(in srgb, var(--primary) 55%, transparent);outline-offset:1px}.word-count{padding:0 var(--space-2);color:var(--muted);white-space:nowrap;letter-spacing:.02em;flex-shrink:0;margin-left:auto;font-size:.75rem}.preview-pane{overflow:hidden}.preview-theme-picker{align-items:center;gap:var(--space-2);padding-right:var(--space-3);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600;display:inline-flex}.preview-theme-picker select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:6px 8px;font-size:.82rem}.preview-theme-picker select:focus-visible{outline:2px solid color-mix(in srgb, var(--primary) 50%, transparent);outline-offset:1px}.toc{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--accent) 18%, var(--panel));max-height:220px;padding:10px 14px;overflow:auto}.toc ul{margin:0;padding-left:16px}.toc li{margin:4px 0}.toc li[data-level="2"]{margin-left:10px}.toc li[data-level="3"]{margin-left:20px}.markdown-body{flex:1;padding:clamp(14px,1.8vw,22px);line-height:1.62;overflow:auto}.markdown-body pre{border:1px solid var(--border);border-radius:8px;padding:12px;position:relative}.markdown-body table{border-collapse:collapse;width:100%}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:8px}.markdown-body blockquote{border-left:4px solid var(--primary);background:color-mix(in srgb, var(--accent) 18%, var(--panel));color:var(--muted);border-radius:0 10px 10px 0;margin:14px 0;padding:10px 14px}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body eq{vertical-align:middle;margin:0 .1em;display:inline-block}.markdown-body eqn{text-align:center;margin:1.5em 0;display:block;overflow:auto hidden}.code-copy{padding:6px 8px;font-size:.78rem;position:absolute;top:8px;right:8px}.mermaid{text-align:center;justify-content:center;align-items:flex-start;width:100%;display:flex;overflow-x:auto}.mermaid svg{max-width:100%;height:auto;display:block}.mermaid-error{margin:0}.mermaid-error-message{color:#ef4444;margin:8px 0 0;font-size:.85rem}.markdown-body.preview-theme-official-report h1,.markdown-body.preview-theme-official-report h2,.markdown-body.preview-theme-official-report h3,.markdown-body.preview-theme-official-report h4,.markdown-body.preview-theme-official-report h5,.markdown-body.preview-theme-official-report h6,.markdown-body.preview-theme-thesis-report h1,.markdown-body.preview-theme-thesis-report h2,.markdown-body.preview-theme-thesis-report h3,.markdown-body.preview-theme-thesis-report h4,.markdown-body.preview-theme-thesis-report h5,.markdown-body.preview-theme-thesis-report h6,.markdown-body.preview-theme-cambria-math h1,.markdown-body.preview-theme-cambria-math h2,.markdown-body.preview-theme-cambria-math h3,.markdown-body.preview-theme-cambria-math h4,.markdown-body.preview-theme-cambria-math h5,.markdown-body.preview-theme-cambria-math h6,.markdown-body.preview-theme-monospace-lab h1,.markdown-body.preview-theme-monospace-lab h2,.markdown-body.preview-theme-monospace-lab h3,.markdown-body.preview-theme-monospace-lab h4,.markdown-body.preview-theme-monospace-lab h5,.markdown-body.preview-theme-monospace-lab h6{margin-top:1.1em;margin-bottom:.45em}.markdown-body.preview-theme-official-report h1,.markdown-body.preview-theme-thesis-report h1,.markdown-body.preview-theme-cambria-math h1,.markdown-body.preview-theme-monospace-lab h1{margin-top:0}.markdown-body.preview-theme-official-report p,.markdown-body.preview-theme-official-report ul,.markdown-body.preview-theme-official-report ol,.markdown-body.preview-theme-official-report pre,.markdown-body.preview-theme-official-report table,.markdown-body.preview-theme-official-report blockquote,.markdown-body.preview-theme-official-report hr,.markdown-body.preview-theme-thesis-report p,.markdown-body.preview-theme-thesis-report ul,.markdown-body.preview-theme-thesis-report ol,.markdown-body.preview-theme-thesis-report pre,.markdown-body.preview-theme-thesis-report table,.markdown-body.preview-theme-thesis-report blockquote,.markdown-body.preview-theme-thesis-report hr,.markdown-body.preview-theme-cambria-math p,.markdown-body.preview-theme-cambria-math ul,.markdown-body.preview-theme-cambria-math ol,.markdown-body.preview-theme-cambria-math pre,.markdown-body.preview-theme-cambria-math table,.markdown-body.preview-theme-cambria-math blockquote,.markdown-body.preview-theme-cambria-math hr,.markdown-body.preview-theme-monospace-lab p,.markdown-body.preview-theme-monospace-lab ul,.markdown-body.preview-theme-monospace-lab ol,.markdown-body.preview-theme-monospace-lab pre,.markdown-body.preview-theme-monospace-lab table,.markdown-body.preview-theme-monospace-lab blockquote,.markdown-body.preview-theme-monospace-lab hr{margin:0 0 1em}.markdown-body.preview-theme-official-report ul,.markdown-body.preview-theme-official-report ol,.markdown-body.preview-theme-thesis-report ul,.markdown-body.preview-theme-thesis-report ol,.markdown-body.preview-theme-cambria-math ul,.markdown-body.preview-theme-cambria-math ol,.markdown-body.preview-theme-monospace-lab ul,.markdown-body.preview-theme-monospace-lab ol{padding-left:1.45em}.markdown-body.preview-theme-official-report li+li,.markdown-body.preview-theme-thesis-report li+li,.markdown-body.preview-theme-cambria-math li+li,.markdown-body.preview-theme-monospace-lab li+li{margin-top:.25em}.markdown-body.preview-theme-official-report img,.markdown-body.preview-theme-thesis-report img,.markdown-body.preview-theme-cambria-math img,.markdown-body.preview-theme-monospace-lab img{max-width:100%;height:auto}.markdown-body.preview-theme-official-report code,.markdown-body.preview-theme-thesis-report code,.markdown-body.preview-theme-cambria-math code,.markdown-body.preview-theme-monospace-lab code{background:#0f172a12;border-radius:4px;padding:.08em .3em}.markdown-body.preview-theme-official-report pre,.markdown-body.preview-theme-thesis-report pre,.markdown-body.preview-theme-cambria-math pre,.markdown-body.preview-theme-monospace-lab pre{overflow-x:auto}.markdown-body.preview-theme-official-report pre code,.markdown-body.preview-theme-thesis-report pre code,.markdown-body.preview-theme-cambria-math pre code,.markdown-body.preview-theme-monospace-lab pre code{background:0 0;padding:0}.markdown-body.preview-theme-official-report th,.markdown-body.preview-theme-thesis-report th,.markdown-body.preview-theme-cambria-math th,.markdown-body.preview-theme-monospace-lab th{text-align:left}.markdown-body.preview-theme-official-report hr,.markdown-body.preview-theme-thesis-report hr,.markdown-body.preview-theme-cambria-math hr,.markdown-body.preview-theme-monospace-lab hr{border:0;border-top:1px solid #0f172a33}.markdown-body.preview-theme-official-report{color:#111;background:#fff;font-family:Times New Roman,Times,serif;font-size:12pt;line-height:1.7}.markdown-body.preview-theme-official-report h1,.markdown-body.preview-theme-official-report h2,.markdown-body.preview-theme-official-report h3,.markdown-body.preview-theme-official-report h4,.markdown-body.preview-theme-official-report h5,.markdown-body.preview-theme-official-report h6{color:#111;font-family:Times New Roman,Times,serif;font-weight:700;line-height:1.3}.markdown-body.preview-theme-official-report h1{margin-top:0;margin-bottom:.55em;font-size:22pt}.markdown-body.preview-theme-official-report h2{margin-top:1.2em;margin-bottom:.55em;font-size:16pt}.markdown-body.preview-theme-official-report h3{margin-top:1.05em;margin-bottom:.5em;font-size:14pt}.markdown-body.preview-theme-official-report p,.markdown-body.preview-theme-official-report li{text-align:justify}.markdown-body.preview-theme-official-report table,.markdown-body.preview-theme-official-report th,.markdown-body.preview-theme-official-report td{border-color:#bfbfbf}.markdown-body.preview-theme-official-report th{background:#f1f1f1}.markdown-body.preview-theme-official-report blockquote{color:#222;background:#fafafa;border-left-color:gray}.markdown-body.preview-theme-official-report pre,.markdown-body.preview-theme-official-report code{font-family:Courier New,Courier,monospace}.markdown-body.preview-theme-official-report code{background:#f3f3f3}.markdown-body.preview-theme-cambria-math{color:#142038;background:#fcfdff;font-family:Cambria,Georgia,serif;font-size:12pt;line-height:1.72}.markdown-body.preview-theme-cambria-math h1,.markdown-body.preview-theme-cambria-math h2,.markdown-body.preview-theme-cambria-math h3,.markdown-body.preview-theme-cambria-math h4,.markdown-body.preview-theme-cambria-math h5,.markdown-body.preview-theme-cambria-math h6{color:#10274d;font-family:Cambria,Georgia,serif}.markdown-body.preview-theme-cambria-math .katex,.markdown-body.preview-theme-cambria-math math,.markdown-body.preview-theme-cambria-math eq,.markdown-body.preview-theme-cambria-math eqn{font-family:Cambria Math,Cambria,Times New Roman,serif}.markdown-body.preview-theme-cambria-math code{background:#edf3ff}.markdown-body.preview-theme-cambria-math blockquote{color:#203151;background:#f3f7ff;border-left-color:#5f7eb8}.markdown-body.preview-theme-monospace-lab{color:#f0f3f9;background:#111317;border-color:#2d333f;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:11.8pt;line-height:1.66}.markdown-body.preview-theme-monospace-lab h1,.markdown-body.preview-theme-monospace-lab h2,.markdown-body.preview-theme-monospace-lab h3,.markdown-body.preview-theme-monospace-lab h4,.markdown-body.preview-theme-monospace-lab h5,.markdown-body.preview-theme-monospace-lab h6{color:#d8e5ff;font-family:JetBrains Mono,Fira Code,monospace}.markdown-body.preview-theme-monospace-lab a{color:#9ec5ff}.markdown-body.preview-theme-monospace-lab table,.markdown-body.preview-theme-monospace-lab th,.markdown-body.preview-theme-monospace-lab td,.markdown-body.preview-theme-monospace-lab pre{border-color:#3a4658}.markdown-body.preview-theme-monospace-lab th,.markdown-body.preview-theme-monospace-lab blockquote{color:#cfdae8;background:#1a2029}.markdown-body.preview-theme-monospace-lab code,.markdown-body.preview-theme-monospace-lab pre{background:#0a0d12;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.markdown-body.preview-theme-monospace-lab code{color:#d6e3f9;border:1px solid #283547}.markdown-body.preview-theme-monospace-lab hr{border-top-color:#3a4658}.markdown-body.preview-theme-thesis-report{color:#161616;background:#fffefb;font-family:Times New Roman,Times,serif;font-size:12pt;line-height:1.85}.markdown-body.preview-theme-thesis-report h1,.markdown-body.preview-theme-thesis-report h2,.markdown-body.preview-theme-thesis-report h3,.markdown-body.preview-theme-thesis-report h4,.markdown-body.preview-theme-thesis-report h5,.markdown-body.preview-theme-thesis-report h6{text-transform:uppercase;letter-spacing:.03em;color:#111;font-family:Times New Roman,Times,serif}.markdown-body.preview-theme-thesis-report h1{text-align:center;margin-bottom:.8em}.markdown-body.preview-theme-thesis-report h2,.markdown-body.preview-theme-thesis-report h3{margin-top:1.4em}.markdown-body.preview-theme-thesis-report p{text-align:justify;text-indent:2.2em}.markdown-body.preview-theme-thesis-report h1+p,.markdown-body.preview-theme-thesis-report h2+p,.markdown-body.preview-theme-thesis-report h3+p,.markdown-body.preview-theme-thesis-report h4+p,.markdown-body.preview-theme-thesis-report h5+p,.markdown-body.preview-theme-thesis-report h6+p{text-indent:0}.markdown-body.preview-theme-thesis-report li{text-align:justify;text-indent:0}.markdown-body.preview-theme-thesis-report code{background:#f2f2f2}.markdown-body.preview-theme-thesis-report table,.markdown-body.preview-theme-thesis-report th,.markdown-body.preview-theme-thesis-report td{border-color:#959595}.markdown-body.preview-theme-thesis-report th{background:#f5f5f5}.ai-guide-pane{height:100%;overflow:hidden}.ai-guide-pane .pane-title{background:var(--panel)}.ai-guide-content{flex-direction:column;flex:1;gap:10px;padding:14px 16px 16px;display:flex;overflow:auto}.ai-guide-header{justify-content:space-between;align-items:flex-start;gap:12px;margin:0;display:flex}.ai-guide-header h2{color:var(--primary);margin:0}.ai-guide-header p{color:var(--muted);margin:6px 0 0}.ai-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ai-guide-card{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 90%, var(--accent));border-radius:10px;padding:12px}.ai-guide-card h3{color:var(--primary);margin:0 0 8px;font-size:1rem}.ai-guide-card p{margin:0 0 10px}.ai-guide-card pre{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 80%, var(--accent));white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:10px}.ai-guide-card ul{margin:0;padding-left:18px}.ai-guide-template{margin:0}.footer{border-top:1px solid var(--border);background:var(--panel);padding:8px 16px}.footer-content{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;font-size:.82rem;display:flex}.footer-content p{margin:0}.footer-content a{color:var(--primary);text-decoration:none}.footer-content a:hover{text-decoration:underline}.footer-word-count{color:var(--muted);align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.footer-word-count svg{width:14px;height:14px;color:var(--primary);flex-shrink:0}.toast-region{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:24px;right:20px}.toast{border-radius:var(--radius-sm);background:var(--panel);pointer-events:all;color:var(--text);border:1.5px solid;align-items:center;gap:10px;padding:10px 12px;font-size:.875rem;line-height:1.4;animation:.28s cubic-bezier(.34,1.56,.64,1) both toast-in;display:flex;box-shadow:0 8px 24px #00000024}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-message{flex:1;min-width:0}.toast-success{background:color-mix(in srgb, #16a34a 4%, var(--panel));border-color:#16a34a}.toast-success .toast-icon{color:#16a34a}.toast-error{background:color-mix(in srgb, #dc2626 4%, var(--panel));border-color:#dc2626}.toast-error .toast-icon{color:#dc2626}.toast-warning{background:color-mix(in srgb, #d97706 4%, var(--panel));border-color:#d97706}.toast-warning .toast-icon{color:#d97706}.toast-info{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 4%, var(--panel))}.toast-info .toast-icon{color:var(--primary)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.toast-region{max-width:none;bottom:16px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.pwa-banner{z-index:9990;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);color:var(--text);align-items:center;gap:12px;width:max-content;max-width:min(480px,100vw - 32px);padding:12px 16px;font-size:.9rem;animation:.32s cubic-bezier(.34,1.56,.64,1) both pwa-slide-up;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000002e}.pwa-banner-icon{flex-shrink:0;font-size:1.4rem}.pwa-banner-text{flex:1;min-width:0}.pwa-banner-text strong{color:var(--primary);margin-bottom:2px;font-size:.92rem;display:block}.pwa-banner-text span{color:var(--muted);font-size:.82rem}.pwa-banner-actions{flex-shrink:0;gap:8px;display:flex}.pwa-banner-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);min-height:36px;padding:7px 14px;font-size:.84rem;font-weight:600;transition:all .18s}.pwa-banner-btn:hover{border-color:var(--primary);background:color-mix(in srgb, var(--accent) 18%, var(--panel));transform:translateY(-1px)}.pwa-banner-btn.pwa-banner-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.pwa-banner-btn.pwa-banner-btn-primary:hover{background:var(--primary-soft);border-color:var(--primary-soft)}@keyframes pwa-slide-up{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=640px){.pwa-banner{flex-wrap:wrap;width:auto;max-width:none;animation:.32s cubic-bezier(.34,1.56,.64,1) both pwa-slide-up-mobile;bottom:16px;left:12px;right:12px;transform:none}.pwa-banner-actions{justify-content:flex-end;width:100%}}@keyframes pwa-slide-up-mobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pwa-banner{animation:none}}@media (width<=1280px){.layout-with-ai-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-with-ai-guide .ai-guide-pane{grid-column:1/-1}.topbar{align-items:flex-start}.actions{justify-content:flex-end;width:100%}}@media (width<=1080px){.layout{grid-template-columns:repeat(2,minmax(0,1fr))}.action-group{min-width:0}.action-group-buttons{flex-wrap:wrap}}@media (width<=980px){.topbar{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px}.toolbar-ai-btn{display:none!important}.brand{width:100%;font-size:.95rem}.brand-icons{margin-left:auto}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.action-group{gap:4px;width:100%;min-width:0;padding:5px}.action-group .action-group-label{letter-spacing:.07em;font-size:.6rem}.action-group .action-group-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.actions button:not(.icon-button),.actions .icon-button{width:100%;min-height:30px}.actions button:not(.icon-button){border-radius:7px;gap:4px;padding:4px 5px;font-size:.72rem}.actions .icon-button{border:1px solid var(--border);background:var(--panel);border-radius:8px}.actions .icon-button:hover{border-color:var(--primary);background:color-mix(in srgb, var(--accent) 22%, var(--panel))}.layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:10px;min-height:340px}.layout-with-ai-guide{grid-template-columns:1fr}.mobile-tabs{gap:6px;display:flex}.mobile-tabs button{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:8px;flex:1;padding:6px 8px;font-size:.76rem;font-weight:600}.mobile-tabs button.is-active{color:var(--primary);border-color:var(--primary);background:color-mix(in srgb, var(--accent) 18%, var(--panel))}.layout.mobile-editor-active .preview-pane,.layout.mobile-preview-active .editor-pane,.layout.mobile-ai-guide-active .editor-pane,.layout.mobile-ai-guide-active .preview-pane,.layout.mobile-editor-active .ai-guide-pane,.layout.mobile-preview-active .ai-guide-pane{display:none}.editor-pane #editor{min-height:280px}.pane-header{flex-direction:column;align-items:stretch;gap:0;padding-right:0}.pane-title{border-bottom:1px solid var(--border)}.editor-toolbar{justify-content:flex-start;padding:8px 12px}.editor-tool-group-blocks{padding-bottom:0}.preview-theme-picker{justify-content:space-between;padding:8px 12px}.preview-theme-picker select{width:min(68%,320px);min-width:0}.markdown-body.preview-theme-official-report,.markdown-body.preview-theme-cambria-math,.markdown-body.preview-theme-monospace-lab,.markdown-body.preview-theme-thesis-report{box-shadow:none;border-radius:8px;padding:18px}.ai-guide-grid{grid-template-columns:1fr}.ai-guide-content{padding:12px}}@media (width<=640px){.actions{grid-template-columns:1fr}.action-group .action-group-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.version-badge{padding:3px 8px;font-size:.7rem}.editor-tool-select{width:auto;min-width:0}.editor-toolbar{gap:6px}.editor-tool-group{width:auto}.preview-theme-picker{flex-wrap:wrap;gap:6px}.preview-theme-picker select{width:100%}}@media (width<=480px){.topbar{gap:8px;padding:8px 10px}.brand{font-size:.92rem}.brand-icon{width:22px;height:22px}.action-group .action-group-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.actions button:not(.icon-button){min-height:40px;padding:4px 6px;font-size:.72rem}.mobile-tabs button{min-height:40px;padding:8px 4px;font-size:.72rem}.layout{padding:var(--space-2);gap:8px}.editor-tool-button{min-width:32px;min-height:32px}.word-count{display:none}}@media (height<=500px) and (orientation:landscape){.topbar{flex-direction:row;align-items:center;padding:6px 12px}.brand{flex-shrink:0}.actions{flex-wrap:nowrap;grid-template-columns:none;gap:6px;width:auto;display:flex;overflow-x:auto}.action-group{flex-shrink:0;width:auto;padding:4px 6px}.action-group .action-group-buttons{grid-template-columns:none;display:flex}.layout{padding:var(--space-2);gap:6px}}
