:root{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-primary-bg: rgba(99, 102, 241, .08);--color-primary-bg-hover: rgba(99, 102, 241, .14);--color-accent: #007aff;--color-success: #34c759;--color-warning: #ff9f0a;--color-danger: #ff3b30;--color-text-primary: #1d1d1f;--color-text-secondary: #86868b;--color-text-tertiary: #aeaeb2;--color-bg-primary: #f5f5f7;--color-bg-secondary: #ffffff;--color-bg-glass: rgba(255, 255, 255, .72);--color-border: rgba(0, 0, 0, .06);--color-border-hover: rgba(0, 0, 0, .12);--color-shadow: rgba(0, 0, 0, .04);--color-shadow-hover: rgba(0, 0, 0, .08);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "PingFang SC", "Noto Sans SC", sans-serif;--font-mono: "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 980px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px;--shadow-sm: 0 1px 2px var(--color-shadow);--shadow-md: 0 2px 8px var(--color-shadow), 0 1px 2px var(--color-shadow);--shadow-lg: 0 4px 16px var(--color-shadow-hover), 0 2px 4px var(--color-shadow);--shadow-glass: 0 2px 12px rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1200px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;background:var(--color-bg-primary)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}button{transition:all var(--transition-fast);border:none;cursor:pointer;font-family:var(--font-sans)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-xs)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}.subject-content-section{max-width:1200px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-4xl);width:100%}.subject-hero-section{padding:80px var(--spacing-2xl) 48px}.subject-tab-bar{display:flex;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-lg) var(--spacing-lg) 0;flex-wrap:wrap}.subject-tab-bar button{padding:10px var(--spacing-xl);font-size:13px;border-radius:var(--radius-md);white-space:nowrap;transition:all var(--transition-fast)}.subject-tab-bar button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.subject-tab-bar button:active{transform:translateY(0)}.content-glass-card{margin:0 auto;max-width:100%;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.content-glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media(max-width:1200px){.container{max-width:100%;padding:0 var(--spacing-xl)}.subject-content-section{max-width:100%}}@media(max-width:1024px){.subject-hero-section{padding:60px var(--spacing-xl) 36px}.subject-tab-bar button{padding:8px var(--spacing-lg);font-size:12px}}@media(max-width:768px){.mobile-hide{display:none!important}.subject-hero-section{padding:48px var(--spacing-md) 28px}.subject-tab-bar{gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-md) 0;-webkit-overflow-scrolling:touch}.subject-tab-bar button{padding:7px var(--spacing-md);font-size:11px;border-radius:10px;min-height:36px}.subject-content-section{padding:var(--spacing-md) var(--spacing-md) var(--spacing-3xl)}.content-glass-card{border-radius:var(--radius-lg)}.responsive-grid,.responsive-grid-2col{grid-template-columns:1fr!important}.responsive-grid-3col{grid-template-columns:1fr 1fr!important}.responsive-padding{padding:var(--spacing-lg)!important}.responsive-text-center{text-align:center!important}}@media(max-width:576px){.small-screen{flex-direction:column!important}.subject-hero-section{padding:40px var(--spacing-md) var(--spacing-xl)}.subject-tab-bar{gap:var(--spacing-xs);padding:10px var(--spacing-sm) 0;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:var(--spacing-sm)}.subject-tab-bar::-webkit-scrollbar{display:none}.subject-tab-bar button{padding:6px 10px;font-size:10px;border-radius:var(--radius-sm);flex-shrink:0;min-height:32px}.subject-content-section{padding:var(--spacing-md) var(--spacing-sm) var(--spacing-2xl)}.responsive-grid-3col{grid-template-columns:1fr!important}.responsive-padding{padding:var(--spacing-md)!important}.responsive-font-sm{font-size:13px!important}.responsive-font-xs{font-size:11px!important}}@media(orientation:landscape)and (max-height:500px){.subject-hero-section{padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-lg)}.subject-tab-bar{padding:var(--spacing-sm) var(--spacing-lg) 0}.subject-content-section{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-2xl)}}@media(min-width:1400px){.subject-content-section{max-width:1300px}}canvas{max-width:100%;height:auto}@media(orientation:landscape)and (max-height:500px){canvas{max-height:60vh}}@media(max-width:576px){.content-glass-card{border-radius:var(--radius-md)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out forwards}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.fade-in-scale{animation:fadeInScale .3s ease-out forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.slide-down{animation:slideDown .25s ease-out forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .25s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-in{animation:scaleIn .3s ease-out forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner-wrapper{display:flex;align-items:center;justify-content:center;min-height:200px}.loading-spinner{border:3px solid rgba(99,102,241,.2);border-top:3px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.95)}}.toast-enter{animation:toastIn .3s ease-out forwards}.toast-exit{animation:toastOut .2s ease-in forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.pulse{animation:pulse 2s ease-in-out infinite}.search-result-item{transition:background var(--transition-fast)}.search-result-item:hover{background:var(--color-primary-bg-hover)!important}.nav-item{transition:background var(--transition-fast),color var(--transition-fast)}.nav-item:hover{background:var(--color-primary-bg-hover)!important}.category-item{transition:background var(--transition-fast),border-color var(--transition-fast)}.category-item:hover{background:var(--color-primary-bg)!important}.keyword-link{color:var(--color-primary);text-decoration:underline;text-decoration-color:#6366f14d;text-underline-offset:2px;transition:all var(--transition-fast);cursor:pointer}.keyword-link:hover{color:var(--color-primary-dark);text-decoration-color:var(--color-primary)}.subject-card-hover{transition:transform .3s cubic-bezier(.25,.1,.25,1),box-shadow .3s ease}.subject-card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.subject-card-hover:hover .subject-card-arrow{color:var(--color-primary)!important;transform:translate(4px)}@media(hover:none){.content-glass-card:hover{transform:none;box-shadow:var(--shadow-glass)}button:hover{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@supports (backdrop-filter: blur(20px)){.glass-effect{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}}@supports not (backdrop-filter: blur(20px)){.glass-effect{background:#fffffff2!important}}.app-container{min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.main-section{display:flex;gap:12px;max-width:1400px;margin:0 auto;padding:16px;align-items:flex-start}.detail-layout{display:flex;height:calc(100vh - 62px);overflow:hidden}.detail-main{flex:1;min-width:0;overflow-y:auto;padding:20px 24px}.detail-graph-panel{width:45%;flex-shrink:0;border-right:.5px solid var(--color-border);background:#fafafa;overflow:hidden}.loading-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;background:#007aff1a}.loading-inner{height:100%;width:60%;background:linear-gradient(90deg,#007aff,#6366f1);animation:slide 1.5s ease-in-out infinite;border-radius:0 3px 3px 0}@keyframes slide{0%{transform:translate(-100%)}50%{transform:translate(25%)}to{transform:translate(200%)}}.sidebar-panel{flex-shrink:0;position:sticky;top:62px;align-self:flex-start;max-height:calc(100vh - 80px);overflow-y:auto;overflow-x:hidden;background:#ffffffb8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-radius:16px;box-shadow:0 1px 12px #0000000a;border:.5px solid var(--color-border);transition:width .3s cubic-bezier(.25,.1,.25,1),padding .3s cubic-bezier(.25,.1,.25,1)}.toggle-btn{display:block;width:100%;padding:5px;border:none;background:#0000000a;color:#86868b;font-size:11px;font-weight:600;cursor:pointer;border-radius:var(--radius-pill);margin-bottom:8px}.back-btn{display:block;width:100%;padding:6px;border:none;background:#0000000a;color:var(--color-text-primary);font-size:12px;font-weight:600;cursor:pointer;border-radius:var(--radius-pill);margin-bottom:8px}.sidebar-title{font-size:12px;font-weight:700;color:var(--color-text-primary);margin:0 0 10px;padding-bottom:8px;border-bottom:.5px solid rgba(0,0,0,.08);letter-spacing:-.02em;text-transform:uppercase}.collapsed-labels{display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 0;cursor:pointer}.collapsed-icon{font-size:14px;text-align:center}.collapsed-text{font-size:10px;color:#86868b;font-weight:600;line-height:1}.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary)}.question-html p{margin:0 0 8px}.question-html p:last-child{margin-bottom:0}.question-html .q-inline-img{display:inline-block;max-width:min(100%,560px);max-height:220px;object-fit:contain;vertical-align:middle;margin:0 2px}.question-html table{border-collapse:collapse;width:100%;margin:8px 0}.question-html td,.question-html th{border:1px solid rgba(0,0,0,.14);padding:6px 8px}@media(max-width:768px){.mobile-detail-layout{display:flex;flex-direction:column;min-height:calc(100vh - 62px)}.mobile-detail-main{flex:1;overflow-y:auto;padding:14px 12px}.mobile-detail-graph-panel{width:100%;flex-shrink:0;border-bottom:.5px solid var(--color-border);background:#fafafa}.sidebar-panel{width:40px!important;padding:6px 4px!important}.sidebar-panel.expanded{width:220px!important;padding:10px!important}}
