:root{font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f0f4f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px}#root{min-height:100vh;min-height:100dvh}button{font-family:inherit}img{max-width:100%;height:auto}@media(hover:none)and (pointer:coarse){button{min-height:44px}}@media(max-width:380px){:root{font-size:14px}}.start-screen{max-width:480px;margin:0 auto;padding:2rem 1rem;text-align:center}.start-header{margin-bottom:2.5rem}.start-title{font-size:2rem;color:#2c3e50;margin:0 0 .5rem}.start-subtitle{font-size:1rem;color:#7f8c8d;margin:0}.quiz-mode-section{margin-bottom:1.5rem;background:#f1f5f9;border-radius:12px;padding:1rem}.quiz-mode-section h3{font-size:.9rem;color:#555;margin:0 0 .75rem}.quiz-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.quiz-mode-button{padding:.625rem .5rem;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;flex-direction:row;align-items:center;gap:.5rem}.quiz-mode-button:hover{border-color:#4f46e5}.quiz-mode-button.active{border-color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.quiz-mode-icon{font-size:1.25rem;flex-shrink:0}.quiz-mode-text{display:flex;flex-direction:column;text-align:left}.quiz-mode-label{font-size:.8rem;font-weight:700;color:#1e293b}.quiz-mode-desc{font-size:.625rem;color:#64748b;line-height:1.3}.region-section{margin-bottom:1.5rem;background:#f1f5f9;border-radius:12px;padding:1rem}.region-header{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:#555;padding:0;margin:0}.region-chevron{transition:transform .2s;font-size:.8rem;color:#94a3b8}.region-chevron.open{transform:rotate(180deg)}.region-toggle{margin-top:.75rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.375rem}.region-button{padding:.5rem .375rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.125rem}.region-button:hover{border-color:#4f46e5}.region-button.active{border-color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.region-label{font-size:.7rem;font-weight:700;color:#1e293b}.region-count{font-size:.6rem;color:#94a3b8}.difficulty-section{margin-bottom:1.5rem;background:#f1f5f9;border-radius:12px;padding:1rem}.difficulty-section h3{font-size:.9rem;color:#555;margin:0 0 .75rem}.difficulty-toggle{display:flex;gap:.75rem;justify-content:center}.difficulty-button{flex:1;max-width:160px;padding:.75rem .5rem;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.25rem}.difficulty-button:hover{border-color:#4f46e5}.difficulty-button.active{border-color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.difficulty-icon{font-size:1.25rem}.difficulty-label{font-size:.9rem;font-weight:700;color:#1e293b}.difficulty-desc{font-size:.7rem;color:#64748b}.difficulty-info{margin-top:.75rem;padding:.5rem;background:#4f46e51a;border-radius:6px}.difficulty-info p{margin:0;font-size:.7rem;color:#4f46e5;line-height:1.4}.question-count-section{margin-bottom:2rem}.question-count-section h3{font-size:1rem;color:#555;margin-bottom:1rem}.question-buttons{display:flex;gap:1rem;justify-content:center}.start-button{padding:1rem 2rem;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s}.start-button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #3498db66}.articles-section{margin-bottom:2rem}.articles-button{width:100%;padding:1rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.articles-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f166}.pastexam-section{margin-bottom:2rem}.pastexam-button{width:100%;padding:1rem;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.pastexam-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #e67e2266}.stats-section{background-color:#f8fafc;border-radius:16px;padding:1.5rem}.stats-section h3{font-size:.9rem;color:#666;margin:0 0 1rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:#2c3e50}.stat-label{font-size:.75rem;color:#999}.stats-detail-button{margin-top:1rem;padding:.75rem 1.5rem;background:transparent;border:2px solid #4f46e5;color:#4f46e5;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.stats-detail-button:hover{background:#4f46e5;color:#fff}@media(max-width:480px){.start-screen{padding:1.5rem .75rem}.start-header{margin-bottom:1.5rem}.start-title{font-size:1.5rem}.start-subtitle{font-size:.875rem}.quiz-mode-section{padding:.75rem}.quiz-mode-toggle{gap:.375rem}.quiz-mode-button{padding:.5rem .375rem}.quiz-mode-icon{font-size:1rem}.quiz-mode-label{font-size:.7rem}.quiz-mode-desc{font-size:.55rem}.region-section{padding:.75rem}.region-toggle{gap:.25rem}.region-button{padding:.375rem .25rem}.region-label{font-size:.625rem}.region-count{font-size:.55rem}.difficulty-section{padding:.75rem}.difficulty-toggle{gap:.5rem}.difficulty-button{padding:.625rem .375rem}.difficulty-icon{font-size:1rem}.difficulty-label{font-size:.8rem}.difficulty-desc{font-size:.65rem}.question-buttons{flex-wrap:wrap;gap:.75rem}.start-button{padding:.875rem 1.5rem;font-size:1rem;flex:1;min-width:80px}.stats-section{padding:1rem}.stats-grid{gap:.5rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.7rem}.stats-detail-button{padding:.625rem 1rem;font-size:.8rem}}@media(max-width:360px){.start-title{font-size:1.25rem}.question-buttons{flex-direction:column}.start-button{width:100%}}.quiz-image-container{min-height:180px;max-height:40vh;background:linear-gradient(135deg,#1e293b,#334155);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000001f,0 1px 3px #00000014;position:relative}.quiz-image{width:100%;height:100%;object-fit:cover;object-position:center}.quiz-image--hidden{opacity:0;position:absolute}.quiz-image-loading{color:#94a3b8;font-size:.875rem;font-weight:500}.quiz-image-error{flex-direction:column;color:#94a3b8;font-size:.875rem}.error-filename{font-size:.6875rem;color:#64748b;margin-top:.5rem;word-break:break-all;padding:0 1rem;text-align:center}.quiz-image-placeholder{flex-direction:column;background:linear-gradient(135deg,#1e3a5f,#2d4a6f,#1e293b)}.placeholder-icon{color:#64b5f6;opacity:.8;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}.placeholder-text{color:#94a3b8;font-size:1rem;font-weight:500;text-align:center;margin:0}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.commons-link{position:absolute;bottom:6px;right:6px;background:#0000008c;color:#ccc;font-size:.6rem;font-weight:700;padding:2px 5px;border-radius:4px;text-decoration:none;line-height:1;letter-spacing:.5px;transition:background .2s,color .2s;z-index:1}.commons-link:hover{background:#000c;color:#fff}.image-flag-button{position:absolute;bottom:6px;left:6px;background:#0000008c;border:none;font-size:.7rem;padding:2px 5px;border-radius:4px;line-height:1;cursor:pointer;transition:background .2s;z-index:1;opacity:.7}.image-flag-button:hover{background:#000c;opacity:1}.image-flag-button--flagged{background:#dc2626b3;opacity:1}.image-flag-button--flagged:hover{background:#dc2626e6}@media(max-width:480px){.quiz-image-container{min-height:150px;max-height:35vh;border-radius:10px}.quiz-image-loading{font-size:.8rem}.placeholder-icon svg{width:48px;height:48px}.placeholder-text{font-size:.875rem}}@media(max-width:360px){.quiz-image-container{min-height:120px;max-height:30vh}}.choice-button{display:flex;align-items:center;width:100%;padding:.75rem .875rem;border:2px solid #e2e8f0;border-radius:10px;background-color:#fff;cursor:pointer;font-size:.9375rem;text-align:left;transition:all .15s ease;box-shadow:0 1px 3px #0000000a}.choice-button:hover:not(:disabled){border-color:#6366f1;background-color:#f8fafc;box-shadow:0 2px 6px #6366f11a;transform:translateY(-1px)}.choice-button--correct{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#ecfdf5);box-shadow:0 2px 8px #10b98126}.choice-button--incorrect{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fef2f2);box-shadow:0 2px 8px #ef444426}.choice-button--disabled{opacity:.6;cursor:not-allowed}.choice-label{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:.75rem;background-color:#f1f5f9;border-radius:6px;font-weight:700;font-size:.8125rem;color:#64748b;flex-shrink:0;transition:all .15s ease}.choice-button--correct .choice-label{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b98133}.choice-button--incorrect .choice-label{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef444433}.choice-text{flex:1;line-height:1.5;color:#1e293b;font-weight:500}.quiz-card{display:flex;flex-direction:column;width:100%;max-width:600px;margin:0 auto;padding-bottom:1rem}.question-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem;flex-shrink:0}.question-title{text-align:center;font-size:1.0625rem;font-weight:600;color:#1e293b;margin:0;letter-spacing:-.01em;line-height:1.4}.difficulty-indicator{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0}.choices{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.skip-button{width:100%;padding:.625rem 1rem;background:transparent;color:#64748b;border:1px dashed #cbd5e1;border-radius:10px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;margin-top:.25rem}.skip-button:hover{background:#f8fafc;border-color:#94a3b8;color:#475569}.skip-button:active{background:#f1f5f9}.text-question{margin-bottom:.75rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:12px;padding:1.5rem 1.25rem;text-align:center}.text-question--description{background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde68a;text-align:left}.text-question-content{display:flex;flex-direction:column;gap:.5rem}.text-question-name{font-size:1.25rem;font-weight:700;color:#0c4a6e;margin:0;line-height:1.5}.text-question-sub{font-size:.8125rem;color:#64748b;margin:0;font-style:italic}.text-question-desc{font-size:.9375rem;color:#422006;line-height:1.7;margin:0}.text-question-keywords{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.text-question-keyword{font-size:.75rem;font-weight:600;color:#92400e;background:#f59e0b26;padding:.125rem .5rem;border-radius:9999px}.result-image{margin-bottom:.75rem}.result-section{padding:.875rem;border-radius:12px;background:#fff;flex-shrink:0;box-shadow:0 2px 8px #0000000f}.result-section--correct{border:2px solid #10b981;background:linear-gradient(135deg,#d1fae5,#fff)}.result-section--incorrect{border:2px solid #ef4444;background:linear-gradient(135deg,#fee2e2,#fff)}.result-section--skipped{border:2px solid #f59e0b;background:linear-gradient(135deg,#fef3c7,#fff)}.result-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem}.result-badge{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:1.125rem;font-weight:700;box-shadow:0 2px 4px #0000001a}.result-section--correct .result-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.result-section--incorrect .result-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.result-section--skipped .result-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.result-text{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}.result-section--correct .result-text{color:#059669}.result-section--incorrect .result-text{color:#dc2626}.result-section--skipped .result-text{color:#d97706}.heritage-compact{padding:.625rem;background:#f8fafccc;border-radius:8px;margin-bottom:.5rem;border:1px solid rgba(148,163,184,.1)}.heritage-title{font-size:.9375rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;letter-spacing:-.01em}.heritage-meta{font-size:.75rem;color:#64748b;line-height:1.5}.heritage-description{font-size:.8125rem;color:#475569;line-height:1.6;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(148,163,184,.2)}.result-actions{display:flex;flex-direction:column;gap:.5rem}.article-link-button{width:100%;padding:.75rem;background:#fff;color:#4f46e5;border:2px solid #4f46e5;border-radius:10px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.article-link-button:hover{background:#f0f0ff}.next-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px #4f46e533;letter-spacing:-.01em}.next-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.next-button:active{transform:translateY(0);box-shadow:0 2px 6px #4f46e533}.image-container{position:relative;margin-bottom:.75rem;z-index:1}.image-toggle-button{position:absolute;bottom:12px;right:12px;padding:8px 16px;background:#4f46e5e6;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:24px;font-size:.8125rem;font-weight:700;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000004d}.image-toggle-button:hover{background:#4f46e5e6;transform:scale(1.05)}.image-toggle-button:active{transform:scale(.98)}.details-toggle{width:100%;padding:.5rem;background:transparent;color:#6366f1;border:1px dashed #c7d2fe;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;margin-bottom:.5rem;transition:background .15s ease,border-color .15s ease}.details-toggle:hover{background:#f5f3ff;border-color:#a5b4fc}.heritage-details{background:#f8fafc;border-radius:8px;padding:.75rem;margin-bottom:.5rem;border:1px solid #e2e8f0}.section-title{font-size:.75rem;font-weight:700;color:#475569;margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid #e2e8f0}.criteria-section{margin-bottom:.75rem}.criteria-list{list-style:none;padding:0;margin:0}.criteria-item{display:flex;gap:.5rem;padding:.375rem 0;border-bottom:1px solid #f1f5f9}.criteria-item:last-child{border-bottom:none}.criteria-number{font-size:.6875rem;font-weight:700;color:#6366f1;background:#eef2ff;padding:.125rem .375rem;border-radius:4px;flex-shrink:0;height:fit-content}.criteria-content{flex:1}.criteria-name{font-size:.75rem;font-weight:600;color:#334155;display:block;margin-bottom:.125rem}.criteria-reason{font-size:.6875rem;color:#64748b;margin:0;line-height:1.5}.themes-section{margin-bottom:.75rem}.theme-tags{display:flex;flex-wrap:wrap;gap:.375rem}.theme-tag{font-size:.6875rem;font-weight:600;color:#0f766e;background:#ccfbf1;padding:.1875rem .5rem;border-radius:9999px}.similar-section{margin-bottom:0}.similar-list{list-style:none;padding:0;margin:0}.similar-item{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:1px solid #f1f5f9;gap:.5rem}.similar-item:last-child{border-bottom:none}.similar-name{font-size:.75rem;font-weight:600;color:#334155;flex:1}.similar-country{font-size:.6875rem;color:#94a3b8;flex-shrink:0}@media(max-width:480px){.question-header{margin-bottom:.5rem}.question-title{font-size:.9375rem}.difficulty-indicator{padding:.1rem .375rem;font-size:.625rem}.choices{gap:.375rem}.skip-button{padding:.5rem .875rem;font-size:.75rem}.result-section{padding:.75rem}.result-badge{width:28px;height:28px;font-size:1rem}.result-text{font-size:.9375rem}.heritage-compact{padding:.5rem}.heritage-title{font-size:.875rem}.heritage-meta{font-size:.6875rem}.heritage-description{font-size:.75rem}.next-button{padding:.625rem;font-size:.875rem}.text-question{padding:1.25rem 1rem}.text-question-name{font-size:1.125rem}.text-question-desc{font-size:.875rem}.text-question-keyword{font-size:.6875rem}.image-toggle-button{padding:6px 12px;font-size:.75rem;bottom:8px;right:8px}.details-toggle{padding:.375rem;font-size:.75rem}.heritage-details{padding:.625rem}.section-title{font-size:.6875rem}.criteria-number{font-size:.625rem;padding:.1rem .25rem}.criteria-name{font-size:.6875rem}.criteria-reason{font-size:.625rem}.theme-tag{font-size:.625rem;padding:.125rem .375rem}.similar-name{font-size:.6875rem}.similar-country{font-size:.625rem}}@media(max-width:360px){.question-title{font-size:.875rem}.heritage-title{font-size:.8125rem}}.quiz-complete{max-width:400px;margin:2rem auto;padding:2rem;text-align:center;background-color:#fff;border-radius:20px;box-shadow:0 8px 24px #0000001a}.complete-header h2{font-size:1.5rem;color:#2c3e50;margin:0 0 1.5rem}.score-display{margin-bottom:1.5rem}.grade{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;font-size:2.5rem;font-weight:700;border-radius:50%;margin-bottom:1rem}.grade--s{background:linear-gradient(135deg,gold,#fa0);color:#fff;box-shadow:0 4px 16px #fa06}.grade--a{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.grade--b{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.grade--c{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.grade--d{background:linear-gradient(135deg,#9e9e9e,#757575);color:#fff}.score-numbers{font-size:2rem;color:#333;margin-bottom:.25rem}.score-main{font-weight:700;color:#3498db}.score-divider{margin:0 .25rem;color:#999}.score-total{color:#666}.score-percentage{font-size:1.25rem;color:#666}.score-message{font-size:1.1rem;color:#555;margin-bottom:1.5rem}.cumulative-stats{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.cumulative-stats h3{font-size:.9rem;color:#6c757d;margin:0 0 .75rem;font-weight:600}.stats-row{display:flex;justify-content:space-around;gap:.5rem}.cumulative-stats .stat-item{display:flex;flex-direction:column;align-items:center}.cumulative-stats .stat-value{font-size:1.25rem;font-weight:700;color:#4f46e5}.cumulative-stats .stat-label{font-size:.7rem;color:#6c757d;margin-top:.25rem}.restart-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s}.restart-button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #3498db66}.learning-chart{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;max-width:100%;overflow:hidden}.learning-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.learning-chart-header h3{margin:0;font-size:.9rem;color:#374151}.period-buttons{display:flex;gap:.25rem}.period-btn{padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.75rem;color:#6b7280;cursor:pointer;transition:all .15s;font-family:inherit}.period-btn:hover{border-color:#9ca3af}.period-btn.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.chart-container{position:relative}.chart-empty{text-align:center;color:#9ca3af;font-size:.85rem;padding:2rem 0}.chart-summary{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f3f4f6;font-size:.8rem;color:#6b7280}.chart-summary-item{display:flex;align-items:center;gap:.35rem}.chart-summary-value{font-weight:600;color:#374151}.chart-legend{display:flex;gap:1rem;justify-content:center;margin-top:.5rem;font-size:.75rem;color:#6b7280}.chart-legend-item{display:flex;align-items:center;gap:.3rem}.chart-legend-dot{width:10px;height:10px;border-radius:2px}.chart-legend-dot.bar{background:#818cf8}.chart-legend-dot.line{background:#f59e0b;border-radius:50%}@media(max-width:480px){.learning-chart{padding:.75rem}.learning-chart-header h3{font-size:.8rem}.period-btn{padding:.2rem .4rem;font-size:.7rem}.chart-summary{font-size:.75rem;gap:.75rem}.chart-legend{font-size:.7rem}}.stats-screen{max-width:600px;width:100%;margin:0 auto;padding:1rem;height:100%;display:flex;flex-direction:column;overflow-x:hidden;word-break:break-word;overflow-wrap:break-word}.stats-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.stats-header h2{margin:0;font-size:1.25rem;color:#1f2937}.stats-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid #e5e7eb;padding-bottom:.5rem}.tab{flex:1;padding:.5rem 1rem;border:none;background:#f3f4f6;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s}.tab.active{background:#4f46e5;color:#fff}.stats-content{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0}.overview-tab{overflow:hidden}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem;overflow:hidden}.summary-card{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:12px;padding:1rem .5rem;text-align:center;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:80px;min-width:0;overflow:hidden}.card-value{font-size:1.5rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card-label{font-size:.7rem;opacity:.9;margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.country-collection-button{width:100%;max-width:100%;padding:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:1rem;transition:transform .2s,box-shadow .2s}.country-collection-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.mode-stats-section{background:#f9fafb;border-radius:12px;padding:1rem;margin-bottom:1rem;max-width:100%;overflow:hidden}.mode-stats-section h3{margin:0 0 .75rem;font-size:.9rem;color:#374151}.mode-stats-list{display:flex;flex-direction:column;gap:.5rem}.mode-stats-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d}.mode-stats-icon{font-size:1.1rem;flex-shrink:0;width:1.5rem;text-align:center}.mode-stats-label{font-size:.85rem;color:#374151;flex:1;min-width:0}.mode-stats-accuracy{font-size:1rem;font-weight:700;color:#4f46e5;text-align:right;white-space:nowrap}.mode-stats-count{font-size:.75rem;color:#6b7280;text-align:right;white-space:nowrap}.mode-stats-none{font-size:.8rem;color:#9ca3af;margin-left:auto}.progress-overview{background:#f9fafb;border-radius:12px;padding:1rem;margin-bottom:1rem;max-width:100%;overflow:hidden}.progress-overview h3{margin:0 0 .75rem;font-size:.9rem;color:#374151}.progress-bar-container{margin-bottom:.5rem}.progress-bar{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;display:flex}.progress-segment{height:100%;transition:width .3s ease}.progress-segment.mastered{background:#10b981}.progress-segment.learning{background:#f59e0b}.progress-legend{display:flex;gap:1rem;font-size:.75rem;color:#6b7280;margin-top:.5rem}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.25rem}.dot.mastered{background:#10b981}.dot.learning{background:#f59e0b}.dot.not-started,.dot.level0{background:#9ca3af}.dot.level1{background:#3b82f6}.dot.level2{background:#8b5cf6}.dot.level3{background:#f59e0b}.dot.level4{background:#10b981}.difficulty-mode-tabs{display:flex;gap:.375rem;margin-bottom:.75rem;flex-wrap:wrap}.difficulty-mode-tab{padding:.3rem .6rem;border:1px solid #e5e7eb;border-radius:16px;background:#fff;font-size:.75rem;color:#6b7280;cursor:pointer;transition:all .15s;font-family:inherit}.difficulty-mode-tab:hover{border-color:#a5b4fc;color:#4f46e5}.difficulty-mode-tab.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.difficulty-distribution{margin-bottom:.75rem}.difficulty-bar{height:16px;background:#e5e7eb;border-radius:8px;overflow:hidden;display:flex;margin-bottom:.75rem}.difficulty-segment{height:100%;transition:width .3s ease}.difficulty-segment.level4{background:#10b981}.difficulty-segment.level3{background:#f59e0b}.difficulty-segment.level2{background:#8b5cf6}.difficulty-segment.level1{background:#3b82f6}.difficulty-legend{display:flex;flex-direction:column;gap:.375rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.legend-label{color:#374151;flex:1}.legend-count{color:#6b7280;font-weight:600;min-width:30px;text-align:right}.level-explanation{background:#4f46e51a;border-radius:6px;padding:.5rem;margin-top:.5rem}.level-explanation p{margin:0;font-size:.7rem;color:#4f46e5;line-height:1.4}.weak-section,.strong-section{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;max-width:100%;overflow:hidden}.weak-section h3,.strong-section h3{margin:0 0 .75rem;font-size:.9rem;color:#374151;display:flex;align-items:center;gap:.5rem}.badge{background:#ef4444;color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:400}.heritage-list{list-style:none;padding:0;margin:0}.heritage-list li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6;font-size:.85rem;min-width:0;gap:.5rem}.heritage-list li:last-child{border-bottom:none}.heritage-name{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.heritage-accuracy{font-weight:600}.heritage-accuracy.good{color:#10b981}.heritage-accuracy.bad{color:#ef4444}.review-button{width:100%;margin-top:1rem;padding:.75rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s}.review-button:hover{transform:translateY(-2px)}.section-title{margin:0 0 .75rem;font-size:.95rem;color:#374151;font-weight:700}.section-title:not(:first-child){margin-top:1.5rem}.category-card{background:#fff;border-radius:12px;padding:1rem;margin-bottom:.75rem;box-shadow:0 1px 3px #0000001a}.category-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.category-card-name{font-size:.95rem;font-weight:700;color:#1f2937}.category-card-accuracy{font-size:1.25rem;font-weight:700;color:#4f46e5}.category-card-counts{display:flex;justify-content:space-between;font-size:.75rem;color:#6b7280;margin-bottom:.75rem}.category-level-bar{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;display:flex;margin-bottom:.5rem}.category-level-counts{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.category-level-item{display:flex;align-items:center;gap:.25rem;font-size:.7rem}.category-level-label{color:#6b7280}.category-level-num{color:#374151;font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filters select{flex:1;min-width:0;padding:.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:.85rem;background:#fff}.progress-count{font-size:.8rem;color:#6b7280;margin-bottom:.5rem}.progress-list{list-style:none;padding:0;margin:0}.progress-item{background:#fff;border-radius:8px;padding:.75rem;margin-bottom:.5rem;box-shadow:0 1px 2px #0000000d;overflow:hidden}.progress-item-main{display:flex;align-items:center;gap:.5rem;min-width:0}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.progress-name{font-size:.9rem;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.progress-item-sub{display:flex;justify-content:space-between;margin-top:.25rem;margin-left:1.25rem;min-width:0}.progress-country{font-size:.75rem;color:#9ca3af}.progress-accuracy{font-size:.75rem;color:#6b7280}.progress-accuracy.good{color:#10b981}.progress-accuracy.bad{color:#ef4444}.level-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:700;color:#fff;min-width:40px;flex-shrink:0}.progress-accuracy-badge{margin-left:auto;font-size:.75rem;font-weight:700;padding:.1rem .4rem;border-radius:6px;flex-shrink:0}.progress-accuracy-badge.good{color:#059669;background:#d1fae5}.progress-accuracy-badge.mid{color:#d97706;background:#fef3c7}.progress-accuracy-badge.bad{color:#dc2626;background:#fee2e2}.progress-stats{font-size:.75rem;color:#6b7280}.article-stats-section{background:#f9fafb;border-radius:12px;padding:1rem;margin-bottom:1rem;max-width:100%;overflow:hidden}.article-stats-section h3{margin:0 0 .75rem;font-size:.9rem;color:#374151}.article-stats-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:.375rem}.article-stats-row:last-of-type{margin-bottom:0}.article-stats-icon{font-size:1.1rem;flex-shrink:0;width:1.5rem;text-align:center}.article-stats-label{font-size:.85rem;color:#374151;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-stats-count{font-size:.8rem;font-weight:600;color:#4f46e5;text-align:right;white-space:nowrap}.article-stats-bar{width:60px;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;flex-shrink:1}.article-stats-fill{height:100%;background:#4f46e5;border-radius:4px;transition:width .3s ease}.recent-reads-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.recent-reads-section h4{margin:0 0 .5rem;font-size:.8rem;color:#6b7280;font-weight:600}.recent-reads-list{display:flex;flex-direction:column;gap:.25rem}.recent-read-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:#fff;border-radius:6px;font-size:.8rem}.recent-read-type{flex-shrink:0;font-size:.85rem}.recent-read-name{flex:1;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-read-date{font-size:.7rem;color:#9ca3af;flex-shrink:0}.read-suggestion{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;color:#f59e0b;background:#fffbeb;padding:.1rem .4rem;border-radius:4px;margin-left:.375rem;flex-shrink:0;white-space:nowrap}.article-read-icon{flex-shrink:0;font-size:.8rem;position:relative}.article-read-icon.read{color:#10b981}.article-read-icon.unread-weak{color:#ef4444}@media(max-width:480px){.stats-screen{padding:.75rem}.stats-header h2{font-size:1.1rem}.stats-tabs{gap:.25rem}.tab{padding:.375rem .5rem;font-size:.8rem}.summary-cards{grid-template-columns:repeat(3,1fr);gap:.5rem}.summary-card{padding:.75rem .375rem;min-height:68px}.card-value{font-size:1.1rem}.card-label{font-size:.625rem}.country-collection-button{padding:.75rem;font-size:.875rem}.mode-stats-section{padding:.75rem}.mode-stats-section h3{font-size:.8rem}.mode-stats-row{padding:.375rem .5rem}.mode-stats-icon{font-size:1rem}.mode-stats-label{font-size:.8rem}.mode-stats-accuracy{font-size:.9rem}.mode-stats-count{font-size:.7rem}.progress-overview{padding:.75rem}.progress-overview h3{font-size:.8rem}.legend-item{font-size:.7rem}.legend-count{min-width:24px}.level-explanation p{font-size:.625rem}.difficulty-mode-tabs{gap:.25rem}.difficulty-mode-tab{padding:.25rem .5rem;font-size:.65rem}.weak-section,.strong-section{padding:.75rem}.weak-section h3,.strong-section h3{font-size:.8rem}.heritage-list li{font-size:.8rem;padding:.375rem 0}.review-button{padding:.625rem;font-size:.8rem}.category-card{padding:.75rem}.category-card-name{font-size:.85rem}.category-card-accuracy{font-size:1.1rem}.category-card-counts{font-size:.7rem}.category-level-item{font-size:.625rem}.filters{display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.filters select{padding:.375rem;font-size:.8rem;width:100%}.progress-item{padding:.625rem}.progress-name{font-size:.8rem}.progress-item-sub{margin-left:0;margin-top:.375rem}.progress-country,.progress-stats{font-size:.7rem}.progress-accuracy-badge{font-size:.65rem;padding:.075rem .3rem}.level-badge{font-size:.625rem;padding:.1rem .375rem;min-width:36px}.article-stats-section{padding:.75rem}.article-stats-section h3{font-size:.8rem}.article-stats-row{padding:.375rem .5rem}.article-stats-label{font-size:.8rem}.article-stats-count{font-size:.75rem}.article-stats-bar{width:40px}.recent-read-item{font-size:.75rem;padding:.3rem .375rem}.recent-read-date{font-size:.625rem}.read-suggestion{font-size:.6rem;padding:.075rem .3rem}}@media(max-width:360px){.summary-cards{grid-template-columns:repeat(2,1fr)}.category-level-counts{gap:.125rem .5rem}.article-stats-bar{width:32px}}.country-collection{max-width:600px;width:100%;margin:0 auto;padding:1rem;height:100%;display:flex;flex-direction:column;overflow:hidden}.collection-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.collection-header h2{margin:0;font-size:1.25rem;color:#1f2937}.back-button{background:none;border:none;color:#4f46e5;font-size:1rem;cursor:pointer;padding:.5rem}.collection-summary{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:16px;padding:1.25rem;color:#fff;margin-bottom:1rem;overflow:hidden}.summary-main{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.trophy{font-size:2.5rem}.summary-text{display:flex;flex-direction:column}.summary-count{font-size:1.5rem;font-weight:700}.summary-total{font-size:.9rem;opacity:.9}.summary-progress{display:flex;align-items:center;gap:.75rem}.summary-progress .progress-bar{flex:1;height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.summary-progress .progress-fill{height:100%;background:#fbbf24;border-radius:4px;transition:width .5s ease}.progress-text{font-size:.85rem;white-space:nowrap}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{padding:.5rem .75rem;border:none;background:#f3f4f6;border-radius:20px;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:all .2s}.filter-tab.active{background:#4f46e5;color:#fff}.country-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;flex:1;overflow-y:auto;padding-bottom:1rem}.country-card{background:#fff;border-radius:12px;padding:1rem;text-align:center;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s;position:relative;border:2px solid transparent;min-width:0;overflow:hidden}.country-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.country-card.completed{border-color:#fbbf24;background:linear-gradient(135deg,#fef3c7,#fde68a)}.country-card.in-progress{border-color:#4f46e5}.country-card.not-started{opacity:.7}.country-flag{font-size:2rem;margin-bottom:.25rem}.country-name{font-size:.9rem;font-weight:600;color:#1f2937;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-stars{font-size:.7rem;margin-bottom:.25rem;letter-spacing:-1px}.country-progress{font-size:.85rem;color:#4f46e5;font-weight:600}.country-badge{position:absolute;top:-4px;right:4px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:.2rem .4rem;border-radius:10px;font-size:.6rem;font-weight:700;box-shadow:0 2px 4px #0003}.country-percent{font-size:.75rem;color:#6b7280}.country-new{font-size:.7rem;color:#9ca3af}.country-detail{height:100%;display:flex;flex-direction:column}.detail-header{margin-bottom:1rem}.detail-summary{text-align:center;margin-bottom:1.5rem}.detail-flag{font-size:4rem;margin-bottom:.5rem}.detail-summary h2{margin:0 0 .5rem;font-size:1.5rem;color:#1f2937}.detail-badge{display:inline-block;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:700}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.detail-stats .stat-item{background:#f9fafb;border-radius:12px;padding:1rem;text-align:center}.detail-stats .stat-value{display:block;font-size:1.25rem;font-weight:700;color:#4f46e5}.detail-stats .stat-label{font-size:.75rem;color:#6b7280}.detail-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.quiz-button{flex:1;padding:.875rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.quiz-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4f46e566}.guide-button{flex:1;padding:.875rem;background:linear-gradient(135deg,#059669,#10b981);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.guide-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #05966966}.heritage-list-section{flex:1;overflow-y:auto}.heritage-list-section h3{margin:0 0 .75rem;font-size:1rem;color:#374151}.heritage-detail-list{list-style:none;padding:0;margin:0}.heritage-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fff;border-radius:8px;margin-bottom:.5rem;box-shadow:0 1px 2px #0000000d}.heritage-item.mastered{background:#f0fdf4}.heritage-item.learning{background:#fefce8}.heritage-status-icon{font-size:1rem;flex-shrink:0}.heritage-item .heritage-name{flex:1;min-width:0;font-size:.85rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heritage-item .heritage-accuracy{font-size:.8rem;font-weight:600;color:#6b7280}.heritage-item .heritage-accuracy.good{color:#10b981}.heritage-item .heritage-accuracy.bad{color:#ef4444}@media(max-width:480px){.country-collection{padding:.75rem}.collection-summary{padding:1rem}.summary-count{font-size:1.25rem}.trophy{font-size:2rem}.country-grid{gap:.5rem}.country-card{padding:.75rem}.country-flag{font-size:1.5rem}.country-name{font-size:.8rem}.detail-stats{gap:.5rem}.detail-stats .stat-item{padding:.75rem .5rem}.detail-stats .stat-value{font-size:1rem}.detail-stats .stat-label{font-size:.7rem}}.progress-container{width:100%;max-width:600px;margin:0 auto .75rem;flex-shrink:0}.progress-text{text-align:center;font-size:.8125rem;font-weight:600;color:#64748b;margin-bottom:.375rem;letter-spacing:-.01em}.progress-bar{height:6px;background-color:#e2e8f0cc;border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#6366f1);border-radius:6px;transition:width .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #4f46e54d}.pwa-prompt-container{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.pwa-prompt{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;pointer-events:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-prompt--update{border-left:4px solid #4f46e5}.pwa-prompt--offline{border-left:4px solid #10b981}.pwa-prompt--install{border-left:4px solid #f59e0b}.pwa-prompt-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.pwa-prompt-icon{font-size:1.25rem;flex-shrink:0}.pwa-prompt-text{font-size:.875rem;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-prompt-actions{display:flex;gap:.5rem;flex-shrink:0}.pwa-btn{padding:.375rem .75rem;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:transform .1s ease,opacity .1s ease}.pwa-btn:active{transform:scale(.95)}.pwa-btn--primary{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}.pwa-btn--primary:hover{opacity:.9}.pwa-btn--secondary{background:#f1f5f9;color:#64748b}.pwa-btn--secondary:hover{background:#e2e8f0}@media(max-width:480px){.pwa-prompt-container{bottom:.5rem;left:.5rem;right:.5rem}.pwa-prompt{padding:.625rem .75rem}.pwa-prompt-text{font-size:.8125rem}.pwa-btn{padding:.3rem .625rem;font-size:.75rem}}.login-button-container{display:flex;align-items:center;gap:.5rem}.login-loading{color:#ffffffb3;font-size:.75rem}.user-info{display:flex;align-items:center;gap:.375rem}.user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4)}.user-name{font-size:.75rem;color:#ffffffe6;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-button{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fffffff2;border:none;border-radius:.375rem;font-size:.75rem;font-weight:500;color:#334155;cursor:pointer;transition:all .2s}.login-button:hover{background:#fff}.google-icon{flex-shrink:0}.logout-button{padding:.25rem .5rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:.25rem;font-size:.625rem;color:#ffffffe6;cursor:pointer;transition:all .2s}.logout-button:hover{background:#ffffff40}@media(max-width:640px){.user-name{display:none}.login-button{padding:.375rem .625rem;font-size:.6875rem}}.sync-status{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#fffc}.sync-error{color:#fca5a5}.sync-syncing{display:flex;align-items:center;gap:.25rem;color:#ffffffe6}.sync-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sync-last{color:#fffc}.sync-button{position:relative;padding:.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sync-icon{width:18px;height:18px;color:#ffffffd9;transition:transform .6s cubic-bezier(.4,0,.2,1)}.sync-button:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;box-shadow:0 0 0 3px #ffffff14,0 4px 12px #00000026;transform:translateY(-1px)}.sync-button:hover:not(:disabled) .sync-icon{color:#fff;transform:rotate(180deg)}.sync-button:active:not(:disabled){transform:translateY(0);box-shadow:0 0 0 2px #ffffff14,0 2px 6px #0000001a}.sync-button.is-syncing .sync-icon{animation:sync-rotate 1s linear infinite}.sync-button:disabled{cursor:not-allowed;opacity:.4;background:#ffffff0d;border-color:#ffffff1a}@keyframes sync-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.sync-last{display:none}.sync-status{gap:.25rem}.sync-button{padding:.4rem}.sync-icon{width:16px;height:16px}}.shortcut-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.shortcut-modal{background:#fff;border-radius:16px;max-width:480px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.shortcut-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0}.shortcut-modal-header h2{margin:0;font-size:1rem;color:#1f2937}.shortcut-close{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:0;line-height:1}.shortcut-close:hover{color:#374151}.shortcut-modal-body{padding:.75rem 1.25rem 1.25rem}.shortcut-section{margin-bottom:.75rem}.shortcut-section:last-child{margin-bottom:0}.shortcut-section h3{font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .4rem;font-weight:600}.shortcut-list{margin:0;padding:0}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:.3rem 0}.shortcut-row dt{flex-shrink:0}.shortcut-row dd{margin:0;font-size:.85rem;color:#4b5563}kbd{display:inline-block;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;font-family:inherit;color:#374151;box-shadow:0 1px #d1d5db;min-width:1.5rem;text-align:center}@media(max-width:480px){.shortcut-modal{max-height:90vh}.shortcut-modal-header{padding:.75rem 1rem}.shortcut-modal-header h2{font-size:.9rem}.shortcut-modal-body{padding:.5rem 1rem 1rem}.shortcut-row dd{font-size:.8rem}}.article-list{max-width:900px;margin:0 auto;padding:1rem}.article-list-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.article-list-title{font-size:1.3rem;font-weight:700;color:#333;margin:0}.back-button{background:none;border:1px solid #ddd;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;color:#666;cursor:pointer;transition:background .2s}.back-button:hover{background:#f5f5f5}.article-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid #e5e7eb}.article-tab{flex:1;padding:.75rem;border:none;background:none;font-size:1rem;font-weight:500;color:#999;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s;font-family:inherit}.article-tab.active{color:#4f46e5;border-bottom-color:#4f46e5}.guide-list{display:flex;flex-direction:column;gap:1.5rem}.guide-group-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:background .15s;font-family:inherit;margin-bottom:0}.guide-group-header.expanded{border-radius:10px 10px 0 0;margin-bottom:0;border-bottom-color:transparent}.guide-group-header:hover{background:#e5e7eb}.guide-group-title{font-size:.85rem;font-weight:700;color:#374151;margin:0;letter-spacing:.03em}.guide-group-count{font-size:.75rem;color:#9ca3af;margin-left:auto}.guide-group-arrow{font-size:.65rem;color:#9ca3af}.guide-card-grid{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#fafafa;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 10px 10px}.guide-search-box{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:#fafafa;border:1px solid #e5e7eb;border-top:none}.guide-search-input{flex:1;padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:.85rem;outline:none;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.guide-search-input:focus{border-color:#6366f1}.guide-search-count{font-size:.75rem;color:#9ca3af;white-space:nowrap}.guide-country-regions{display:flex;flex-direction:column;background:#fafafa;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 10px 10px;overflow:hidden}.guide-region-group{padding:.5rem .75rem .625rem}.guide-region-group:not(:last-child){border-bottom:1px solid #e5e7eb}.guide-region-label{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;color:#6366f1;margin-bottom:.375rem;padding:.25rem 0;letter-spacing:.02em}.guide-region-count{font-size:.7rem;font-weight:500;color:#9ca3af}.guide-card-grid--compact{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}.guide-country-regions .guide-card-grid{padding:0;background:none;border:none;border-radius:0}.guide-card{display:flex;align-items:flex-start;gap:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:left;font-family:inherit}.guide-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.guide-card--compact{padding:.5rem .75rem;gap:.5rem;align-items:center;border-radius:8px}.guide-card--compact:hover{transform:none;box-shadow:0 2px 6px #0000000f}.guide-card-emoji{font-size:1.5rem;flex-shrink:0;line-height:1;margin-top:.1rem}.guide-card-emoji--compact{font-size:1.125rem;margin-top:0}.guide-card-body{flex:1;min-width:0}.guide-card-title{font-size:.95rem;font-weight:700;color:#1f2937;margin:0 0 .25rem;line-height:1.4}.guide-card--compact .guide-card-title{font-size:.8rem;margin:0}.guide-card-desc{font-size:.8rem;color:#6b7280;margin:0;line-height:1.5}.article-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.article-search{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:10px;font-size:1rem;outline:none;transition:border-color .2s;box-sizing:border-box}.article-search:focus{border-color:#6366f1}.filter-row{display:flex;flex-wrap:wrap;gap:.5rem}.filter-select{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;background:#fff;outline:none}.filter-select:focus{border-color:#6366f1}.criteria-filter{display:flex;flex-direction:column;gap:.4rem}.criteria-filter-header{display:flex;align-items:center;gap:.5rem}.criteria-filter-label{font-size:.85rem;color:#555;font-weight:500}.criteria-clear{background:none;border:none;color:#6366f1;font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline}.criteria-chips{display:flex;flex-wrap:wrap;gap:.35rem}.criteria-chip{padding:.3rem .55rem;border:1px solid #ddd;border-radius:16px;font-size:.78rem;background:#fff;color:#666;cursor:pointer;transition:all .15s;font-family:inherit}.criteria-chip:hover{border-color:#aaa}.criteria-chip.cultural{border-color:#e0d4f5}.criteria-chip.cultural.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.criteria-chip.natural{border-color:#d1fae5}.criteria-chip.natural.active{background:#059669;color:#fff;border-color:#059669}.theme-filter{display:flex;flex-direction:column;gap:.5rem}.theme-filter-header{display:flex;align-items:center;gap:.5rem}.theme-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;background:#fff;color:#666;cursor:pointer;transition:all .2s;font-family:inherit}.theme-toggle-btn:hover{border-color:#aaa}.theme-toggle-btn.active{border-color:#6366f1;color:#6366f1}.theme-toggle-btn.has-filter{background:#6366f1;color:#fff;border-color:#6366f1}.theme-toggle-arrow{font-size:.7rem}.theme-clear{background:none;border:none;color:#6366f1;font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline}.theme-groups{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.theme-group{display:flex;flex-direction:column;gap:.3rem}.theme-group-label{font-size:.75rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.03em}.theme-chips{display:flex;flex-wrap:wrap;gap:.3rem}.theme-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border:1px solid #ddd;border-radius:16px;font-size:.8rem;background:#fff;color:#555;cursor:pointer;transition:all .15s;font-family:inherit}.theme-chip:hover{border-color:#6366f1;color:#6366f1}.theme-chip.active{background:#6366f1;color:#fff;border-color:#6366f1}.theme-chip-count{font-size:.7rem;opacity:.7}.article-only-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#555;cursor:pointer}.article-count{font-size:.85rem;color:#999;margin:0 0 .75rem}.article-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.article-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:left;padding:0;font-family:inherit}.article-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.article-card-image{position:relative;width:100%;height:160px;overflow:hidden;background:#f0f0f0}.article-card-image img{width:100%;height:100%;object-fit:cover}.article-card-no-image{display:flex;align-items:center;justify-content:center;height:100%;color:#aaa;font-size:.9rem}.article-badge{position:absolute;top:8px;right:8px;background:#6366f1;color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .5rem;border-radius:6px}.article-card-body{padding:.75rem}.article-card-title{font-size:.95rem;font-weight:700;color:#333;margin:0 0 .35rem;line-height:1.4}.article-card-meta{font-size:.8rem;color:#888;margin:0}.article-card--read{opacity:.65}.article-card--read:hover{opacity:.85}.read-badge{position:absolute;top:8px;left:8px;background:#22c55ee6;color:#fff;font-size:.7rem;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.guide-card--read{opacity:.65}.guide-card--read:hover{opacity:.85}.guide-read-check{color:#22c55e;font-weight:700}@media(max-width:768px){.article-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.article-card-grid{grid-template-columns:1fr}.guide-card-grid--compact{grid-template-columns:repeat(2,1fr)}.filter-row{flex-direction:column}}@media(max-width:360px){.guide-card-grid--compact{grid-template-columns:1fr}}.pastexam-appearances{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #fde8d0}.pastexam-appearances-title{font-size:1rem;font-weight:700;color:#2c3e50;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.pastexam-appearances-badge{display:inline-block;padding:.15rem .5rem;font-size:.75rem;font-weight:700;color:#fff;background:#e67e22;border-radius:10px}.pastexam-appearances-list{display:flex;flex-direction:column;gap:.5rem}.pastexam-appearances-item{padding:.6rem .75rem;background:#fef9f3;border-radius:8px;border-left:3px solid #e67e22}.pastexam-appearances-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.3rem;flex-wrap:wrap}.pastexam-appearances-exam{font-size:.8rem;font-weight:600;color:#2c3e50}.pastexam-appearances-qnum{font-size:.75rem;color:#e67e22;font-weight:600}.pastexam-appearances-cat{font-size:.7rem;color:#7f8c8d;background:#f1f5f9;padding:.1rem .4rem;border-radius:4px}.pastexam-appearances-text{font-size:.78rem;color:#555;margin:0;line-height:1.4}.article-page{max-width:720px;margin:0 auto;padding:1rem}.article-hero{width:100%;border-radius:12px;overflow:hidden;margin-bottom:1.5rem;background:#f0f0f0}.article-hero img{width:100%;height:auto;display:block;max-height:400px;object-fit:cover}.article-header{margin-bottom:2rem}.article-title{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0 0 .25rem;line-height:1.4}.article-title-en{font-size:.9rem;color:#888;margin:0 0 1.25rem}.article-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;background:#f8fafc;border-radius:12px;padding:1rem;margin-bottom:1rem}.meta-item{display:flex;flex-direction:column}.meta-label{font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:.95rem;color:#333;font-weight:500}.criteria-reasons{background:#f0f4ff;border-radius:12px;padding:1rem;margin-bottom:1rem}.criteria-reasons-title{font-size:.85rem;font-weight:700;color:#4f46e5;margin:0 0 .75rem}.criteria-reason-item{display:flex;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;line-height:1.5}.criteria-reason-item:last-child{margin-bottom:0}.criteria-key{color:#6366f1;font-weight:700;flex-shrink:0}.criteria-reason{color:#444}.article-themes{display:flex;flex-wrap:wrap;gap:.4rem}.theme-tag{background:#e0e7ff;color:#4338ca;font-size:.75rem;padding:.2rem .6rem;border-radius:999px}.article-body{line-height:1.8;color:#333;font-size:.95rem}.article-body h2{font-size:1.2rem;font-weight:700;color:#1a1a2e;margin:2rem 0 .75rem;padding-bottom:.4rem;border-bottom:2px solid #e0e7ff}.article-body h3{font-size:1.05rem;font-weight:700;color:#333;margin:1.5rem 0 .5rem}.article-body p{margin:0 0 1rem}.article-body strong{color:#4f46e5;font-weight:700}.article-body ul,.article-body ol{padding-left:1.5rem;margin:0 0 1rem}.article-body li{margin-bottom:.4rem}.article-body blockquote{border-left:3px solid #6366f1;margin:1rem 0;padding:.5rem 1rem;background:#f8fafc;border-radius:0 8px 8px 0;color:#555}.article-internal-link{color:#4f46e5;text-decoration:none;font-weight:600;border-bottom:1px dashed #4f46e5;cursor:pointer;transition:border-color .2s}.article-internal-link:hover{border-bottom-style:solid}.article-loading{color:#999;text-align:center;padding:2rem 0}.article-no-content{text-align:center;padding:3rem 1rem;background:#f8fafc;border-radius:12px;color:#888}@media(max-width:600px){.article-title{font-size:1.3rem}.article-meta-grid{grid-template-columns:1fr 1fr;gap:.5rem}}.guide-category-badge{display:inline-block;background:#e0e7ff;color:#4338ca;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;margin-bottom:.75rem}.guide-nav{margin-top:2rem;border-top:1px solid #e5e7eb;padding-top:1.5rem}.guide-nav-buttons{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.guide-nav-btn{padding:.625rem 1rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#4f46e5;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guide-nav-btn:hover{background:#f0f0ff;border-color:#c7d2fe}.guide-nav-list{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1rem}.guide-nav-list-title{font-size:.85rem;font-weight:700;color:#374151;margin:0 0 .75rem}.guide-nav-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.guide-nav-list-items li{font-size:.825rem}.guide-nav-list-current{font-weight:700;color:#4f46e5}.guide-nav-list-label{display:block;padding:.375rem .5rem;background:#e0e7ff;border-radius:6px}.guide-nav-list-link{display:block;width:100%;text-align:left;padding:.375rem .5rem;border:none;background:none;color:#4b5563;font-size:.825rem;cursor:pointer;border-radius:6px;transition:background .15s;font-family:inherit}.guide-nav-list-link:hover{background:#f3f4f6;color:#4f46e5}.pastexam-start{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.pastexam-header{text-align:center;margin-bottom:2rem}.pastexam-back{display:inline-block;margin-bottom:.75rem;padding:.5rem 1rem;background:none;border:none;color:#4f46e5;font-size:.9rem;font-weight:600;cursor:pointer}.pastexam-header h2{font-size:1.5rem;color:#2c3e50;margin:0 0 .25rem}.pastexam-subtitle{font-size:.9rem;color:#7f8c8d;margin:0}.pastexam-empty{text-align:center;padding:3rem 1rem;background:#f8fafc;border-radius:16px}.pastexam-empty p{margin:0 0 .5rem;color:#555;font-size:1rem}.pastexam-empty-hint{font-size:.8rem!important;color:#999!important}.pastexam-random-section{background:#f1f5f9;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.pastexam-random-section h3{font-size:.9rem;color:#555;margin:0 0 .5rem}.pastexam-random-desc{font-size:.75rem;color:#7f8c8d;margin:0 0 .75rem}.pastexam-random-buttons{display:flex;gap:.75rem;justify-content:center}.pastexam-random-btn{flex:1;max-width:120px;padding:.75rem 1rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#e67e22,#d35400);border:none;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s}.pastexam-random-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #e67e2266}.pastexam-random-btn:disabled{opacity:.4;cursor:not-allowed}.pastexam-nav-links{display:flex;gap:.5rem;margin-bottom:1.5rem}.pastexam-nav-btn{flex:1;padding:.6rem .5rem;font-size:.8rem;font-weight:600;color:#4f46e5;background:#eef2ff;border:2px solid #4f46e5;border-radius:10px;cursor:pointer;transition:all .2s}.pastexam-nav-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #4f46e533}.pastexam-nav-btn--analysis{color:#e67e22;background:#fff7ed;border-color:#e67e22}.pastexam-nav-btn--analysis:hover{box-shadow:0 2px 8px #e67e2233}.pastexam-nav-btn--lookup{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.pastexam-nav-btn--lookup:hover{box-shadow:0 2px 8px #16a34a33}.pastexam-exam-list{margin-bottom:1.5rem}.pastexam-exam-list h3{font-size:.9rem;color:#555;margin:0 0 .75rem}.pastexam-exam-item{display:flex;flex-direction:column;width:100%;padding:1rem;margin-bottom:.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.pastexam-exam-item:hover{border-color:#e67e22;box-shadow:0 2px 8px #e67e2226}.pastexam-exam-info{display:flex;justify-content:space-between;align-items:center}.pastexam-exam-title{font-size:1rem;font-weight:600;color:#2c3e50}.pastexam-exam-count{font-size:.8rem;color:#7f8c8d}.pastexam-exam-score{font-size:.75rem;color:#e67e22;margin-top:.25rem}@media(max-width:480px){.pastexam-start{padding:1rem .75rem}.pastexam-header h2{font-size:1.25rem}.pastexam-random-btn{padding:.625rem .75rem;font-size:.9rem}}.pastexam-card{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.pastexam-category{display:inline-block;padding:.25rem .75rem;background:#f1f5f9;border-radius:20px;font-size:.75rem;color:#64748b;margin-bottom:1rem}.pastexam-question{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 2px 8px #0000000f}.pastexam-question p{margin:0;font-size:1rem;line-height:1.7;color:#2c3e50}.pastexam-choices{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.pastexam-feedback{text-align:center;margin-top:1rem}.pastexam-result{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.pastexam-result--correct{color:#16a34a}.pastexam-result--incorrect{color:#dc2626}.pastexam-explanation{background:#fefce8;border:1px solid #fde68a;border-radius:10px;padding:1rem;margin-bottom:1rem;text-align:left}.pastexam-explanation p{margin:0;font-size:.875rem;line-height:1.6;color:#713f12}.pastexam-next-btn{padding:.75rem 2rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s}.pastexam-next-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}@media(max-width:480px){.pastexam-card{padding:1rem .75rem}.pastexam-question{padding:1rem}.pastexam-question p{font-size:.9rem}}.pastexam-review{max-width:480px;margin:1.5rem auto 0;padding:0 1rem}.pastexam-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pastexam-review-header h3{font-size:1rem;color:#2c3e50;margin:0}.pastexam-review-filter{display:flex;gap:.5rem}.pastexam-review-filter-btn{padding:.35rem .75rem;font-size:.75rem;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#555;cursor:pointer;transition:all .2s}.pastexam-review-filter-btn.active{border-color:#4f46e5;background:#eef2ff;color:#4f46e5;font-weight:600}.pastexam-review-category{margin-bottom:1.25rem}.pastexam-review-category-title{font-size:.8rem;font-weight:600;color:#7f8c8d;margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid #e2e8f0}.pastexam-review-item{padding:.75rem;margin-bottom:.5rem;border-radius:8px;border-left:4px solid}.pastexam-review-item--correct{background:#f0fdf4;border-left-color:#16a34a}.pastexam-review-item--wrong{background:#fef2f2;border-left-color:#dc2626}.pastexam-review-question{font-size:.85rem;color:#2c3e50;margin:0 0 .5rem;line-height:1.4}.pastexam-review-choices{list-style:none;padding:0;margin:0}.pastexam-review-choice{font-size:.75rem;padding:.25rem .5rem;margin-bottom:.15rem;border-radius:4px;color:#555}.pastexam-review-choice--selected-wrong{background:#fee2e2;color:#dc2626;font-weight:600}.pastexam-review-choice--correct{background:#dcfce7;color:#16a34a;font-weight:600}.pastexam-review-explanation{font-size:.75rem;color:#555;margin-top:.5rem;padding:.5rem;background:#f8fafc;border-radius:6px;line-height:1.4}.pastexam-review-empty{text-align:center;padding:2rem;color:#7f8c8d;font-size:.9rem}.pastexam-complete{max-width:400px;margin:2rem auto;padding:2rem;text-align:center;background-color:#fff;border-radius:20px;box-shadow:0 8px 24px #0000001a}.pastexam-complete-title{font-size:.9rem;color:#7f8c8d;margin:.25rem 0 0}.pastexam-pass-indicator{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;border-radius:12px;margin-bottom:1.5rem}.pastexam-pass{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.pastexam-fail{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.pastexam-pass-icon{font-size:1.25rem;font-weight:700}.pastexam-pass .pastexam-pass-icon{color:#16a34a}.pastexam-fail .pastexam-pass-icon{color:#dc2626}.pastexam-pass-text{font-size:.8rem;color:#555}.pastexam-complete-actions{display:flex;flex-direction:column;gap:.75rem;align-items:center}.pastexam-review-toggle{width:100%;max-width:280px;padding:.75rem 1rem;font-size:.9rem;font-weight:600;color:#4f46e5;background:#eef2ff;border:2px solid #4f46e5;border-radius:12px;cursor:pointer;transition:all .2s}.pastexam-review-toggle:hover{background:#e0e7ff}.pastexam-stats{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.pastexam-stats-header{text-align:center;margin-bottom:1.5rem}.pastexam-stats-header h2{font-size:1.5rem;color:#2c3e50;margin:0 0 .25rem}.pastexam-stats-empty{text-align:center;padding:3rem 1rem;background:#f8fafc;border-radius:16px;color:#7f8c8d}.pastexam-stats-section{margin-bottom:1.5rem}.pastexam-stats-section h3{font-size:.95rem;color:#2c3e50;margin:0 0 .75rem;padding-bottom:.25rem;border-bottom:2px solid #e2e8f0}.pastexam-trend-list{display:flex;flex-direction:column;gap:.5rem}.pastexam-trend-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:#f8fafc;border-radius:8px;border-left:4px solid}.pastexam-trend-item--pass{border-left-color:#16a34a}.pastexam-trend-item--fail{border-left-color:#dc2626}.pastexam-trend-info{display:flex;flex-direction:column;gap:.15rem}.pastexam-trend-title{font-size:.85rem;font-weight:600;color:#2c3e50}.pastexam-trend-date{font-size:.7rem;color:#7f8c8d}.pastexam-trend-score{font-size:.9rem;font-weight:700}.pastexam-trend-item--pass .pastexam-trend-score{color:#16a34a}.pastexam-trend-item--fail .pastexam-trend-score{color:#dc2626}.pastexam-category-bars{display:flex;flex-direction:column;gap:.5rem}.pastexam-category-bar{display:flex;flex-direction:column;gap:.2rem}.pastexam-category-bar-header{display:flex;justify-content:space-between;font-size:.8rem}.pastexam-category-bar-name{color:#2c3e50;font-weight:600}.pastexam-category-bar-pct{font-weight:700}.pastexam-category-bar-pct--high{color:#16a34a}.pastexam-category-bar-pct--mid{color:#ca8a04}.pastexam-category-bar-pct--low{color:#dc2626}.pastexam-category-bar-track{width:100%;height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden}.pastexam-category-bar-fill{height:100%;border-radius:5px;transition:width .5s}.pastexam-category-bar-fill--high{background:linear-gradient(90deg,#22c55e,#16a34a)}.pastexam-category-bar-fill--mid{background:linear-gradient(90deg,#facc15,#ca8a04)}.pastexam-category-bar-fill--low{background:linear-gradient(90deg,#f87171,#dc2626)}.pastexam-category-bar-detail{font-size:.7rem;color:#7f8c8d}.pastexam-weak-list{display:flex;flex-direction:column;gap:.5rem}.pastexam-weak-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:#fef2f2;border-radius:8px}.pastexam-weak-info{display:flex;flex-direction:column;gap:.15rem}.pastexam-weak-name{font-size:.85rem;font-weight:600;color:#2c3e50}.pastexam-weak-detail{font-size:.7rem;color:#7f8c8d}.pastexam-weak-right{display:flex;align-items:center;gap:.5rem}.pastexam-weak-pct{font-size:.9rem;font-weight:700;color:#dc2626}.pastexam-weak-trend{font-size:.85rem}.pastexam-weak-trend--improving{color:#16a34a}.pastexam-weak-trend--declining{color:#dc2626}.pastexam-weak-trend--stable{color:#7f8c8d}.pastexam-missed-list{display:flex;flex-direction:column;gap:.5rem}.pastexam-missed-item{padding:.6rem .75rem;background:#f8fafc;border-radius:8px;border-left:3px solid #dc2626}.pastexam-missed-question{font-size:.8rem;color:#2c3e50;margin:0 0 .25rem;line-height:1.4}.pastexam-missed-meta{display:flex;justify-content:space-between;font-size:.7rem;color:#7f8c8d}@media(max-width:480px){.pastexam-stats{padding:1rem .75rem}.pastexam-stats-header h2{font-size:1.25rem}}.pastexam-analysis{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.pastexam-analysis-header{text-align:center;margin-bottom:1.5rem}.pastexam-analysis-header h2{font-size:1.5rem;color:#2c3e50;margin:0 0 .25rem}.pastexam-analysis-subtitle{font-size:.85rem;color:#7f8c8d;margin:0}.pastexam-analysis-summary{display:flex;gap:.75rem;margin-bottom:1.5rem}.pastexam-analysis-summary-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:linear-gradient(135deg,#fff7ed,#fef3e2);border-radius:12px;border:1px solid #fde8d0}.pastexam-analysis-summary-value{font-size:1.5rem;font-weight:800;color:#e67e22}.pastexam-analysis-summary-label{font-size:.7rem;color:#7f8c8d;margin-top:.15rem}.pastexam-analysis-section{margin-bottom:1.5rem}.pastexam-analysis-section h3{font-size:.95rem;color:#2c3e50;margin:0 0 .75rem;padding-bottom:.25rem;border-bottom:2px solid #e2e8f0}.pastexam-analysis-bars{display:flex;flex-direction:column;gap:.5rem}.pastexam-analysis-bar-row{display:flex;align-items:center;gap:.5rem}.pastexam-analysis-bar-label{flex:0 0 auto;min-width:6rem;font-size:.78rem;font-weight:600;color:#2c3e50;text-align:right}.pastexam-analysis-bar-track{flex:1;height:16px;background:#f1f5f9;border-radius:8px;overflow:hidden}.pastexam-analysis-bar-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,#f5a623,#e67e22);transition:width .5s}.pastexam-analysis-bar-fill--category{background:linear-gradient(90deg,#6366f1,#4f46e5)}.pastexam-analysis-bar-fill--knowledge{background:linear-gradient(90deg,#22c55e,#16a34a)}.pastexam-analysis-bar-fill--region{background:linear-gradient(90deg,#38bdf8,#0284c7)}.pastexam-analysis-bar-sub{font-size:.65rem;color:#94a3b8;margin-left:.2rem}.pastexam-analysis-bar-count{flex:0 0 auto;min-width:2rem;font-size:.78rem;font-weight:700;color:#555;text-align:right}.pastexam-analysis-heritage-list{display:flex;flex-direction:column;gap:.4rem}.pastexam-analysis-heritage-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.6rem .75rem;background:#fef9f3;border:1px solid #fde8d0;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s}.pastexam-analysis-heritage-item:hover:not(:disabled){border-color:#e67e22;box-shadow:0 2px 8px #e67e2226}.pastexam-analysis-heritage-item:disabled{opacity:.5;cursor:default}.pastexam-analysis-heritage-name{font-size:.85rem;font-weight:600;color:#2c3e50}.pastexam-analysis-heritage-count{font-size:.75rem;font-weight:700;color:#e67e22;background:#fff7ed;padding:.15rem .5rem;border-radius:10px}@media(max-width:480px){.pastexam-analysis{padding:1rem .75rem}.pastexam-analysis-header h2{font-size:1.25rem}.pastexam-analysis-bar-label{min-width:5rem;font-size:.7rem}.pastexam-analysis-summary-value{font-size:1.25rem}}.pastexam-lookup{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.pastexam-lookup-header{text-align:center;margin-bottom:1.5rem}.pastexam-lookup-header h2{font-size:1.5rem;color:#2c3e50;margin:0 0 .25rem}.pastexam-lookup-subtitle{font-size:.85rem;color:#7f8c8d;margin:0}.pastexam-lookup-search{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.pastexam-lookup-input{flex:1;padding:.6rem .75rem;font-size:.9rem;border:2px solid #e2e8f0;border-radius:10px;outline:none;transition:border-color .2s}.pastexam-lookup-input:focus{border-color:#e67e22}.pastexam-lookup-result-count{font-size:.78rem;color:#7f8c8d;white-space:nowrap}.pastexam-lookup-list{display:flex;flex-direction:column;gap:.4rem}.pastexam-lookup-item{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.pastexam-lookup-item-header{display:flex;align-items:center;width:100%;padding:.7rem .75rem;background:none;border:none;cursor:pointer;text-align:left;gap:.5rem;transition:background .2s}.pastexam-lookup-item-header:hover{background:#fef9f3}.pastexam-lookup-item-name{flex:1;font-size:.85rem;font-weight:600;color:#2c3e50}.pastexam-lookup-item-badge{font-size:.7rem;font-weight:700;color:#fff;background:#e67e22;padding:.1rem .4rem;border-radius:8px}.pastexam-lookup-item-arrow{font-size:.7rem;color:#7f8c8d;transition:transform .2s}.pastexam-lookup-item-arrow--open{transform:rotate(180deg)}.pastexam-lookup-detail{padding:0 .75rem .75rem;border-top:1px solid #f1f5f9}.pastexam-lookup-detail-list{display:flex;flex-direction:column;gap:.4rem;padding-top:.5rem}.pastexam-lookup-detail-item{padding:.5rem .6rem;background:#f8fafc;border-radius:6px;border-left:3px solid #e67e22}.pastexam-lookup-detail-meta{display:flex;gap:.4rem;align-items:center;margin-bottom:.25rem;flex-wrap:wrap}.pastexam-lookup-detail-exam{font-size:.75rem;font-weight:600;color:#2c3e50}.pastexam-lookup-detail-qnum{font-size:.7rem;color:#e67e22;font-weight:600}.pastexam-lookup-detail-cat{font-size:.65rem;color:#7f8c8d;background:#eef2ff;padding:.05rem .3rem;border-radius:3px}.pastexam-lookup-detail-text{font-size:.75rem;color:#555;margin:0;line-height:1.4}.pastexam-lookup-article-btn{display:block;width:100%;margin-top:.5rem;padding:.5rem;font-size:.8rem;font-weight:600;color:#e67e22;background:#fff7ed;border:1px solid #fde8d0;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s}.pastexam-lookup-article-btn:hover{background:#fef3e2;border-color:#e67e22}.pastexam-lookup-empty{text-align:center;padding:2rem 1rem;color:#7f8c8d;font-size:.9rem}@media(max-width:480px){.pastexam-lookup{padding:1rem .75rem}.pastexam-lookup-header h2{font-size:1.25rem}}.image-flag-admin{padding:1rem;max-width:600px;margin:0 auto}.image-flag-admin .admin-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.image-flag-admin .admin-header h2{margin:0;font-size:1.2rem;flex:1}.image-flag-admin .back-button{background:none;border:none;font-size:1rem;cursor:pointer;padding:.25rem .5rem;color:#64748b}.image-flag-admin .admin-actions{display:flex;gap:.5rem;margin-bottom:1rem}.image-flag-admin .admin-actions button{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;font-size:.8rem;cursor:pointer;transition:background .2s}.image-flag-admin .admin-actions button:hover{background:#e2e8f0}.image-flag-admin .admin-actions .clear-button{color:#dc2626;border-color:#fecaca}.image-flag-admin .admin-actions .clear-button:hover{background:#fef2f2}.image-flag-admin .empty-state{text-align:center;color:#94a3b8;padding:2rem;font-size:.9rem}.image-flag-admin .flag-list{display:flex;flex-direction:column;gap:.75rem}.image-flag-admin .flag-item{display:flex;gap:.75rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center}.image-flag-admin .flag-thumbnail{width:60px;height:60px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#e2e8f0}.image-flag-admin .flag-info{flex:1;min-width:0}.image-flag-admin .flag-heritage-name{font-weight:600;font-size:.85rem;margin-bottom:.25rem}.image-flag-admin .flag-meta{font-size:.7rem;color:#64748b;word-break:break-all}.image-flag-admin .flag-date{font-size:.7rem;color:#94a3b8}.image-flag-admin .flag-delete{background:none;border:none;font-size:1rem;cursor:pointer;padding:.25rem;color:#94a3b8;flex-shrink:0}.image-flag-admin .flag-delete:hover{color:#dc2626}.image-flag-admin .copy-success{color:#16a34a;font-size:.8rem;margin-left:.5rem}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow-x:hidden;max-width:100vw}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f8fafc,#e0e7ff);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;width:100%;max-width:100vw;overflow-x:hidden}.app-header{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;padding:.75rem 1rem;flex-shrink:0;box-shadow:0 2px 8px #4f46e526;display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;overflow:hidden}.app-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:.75rem;min-width:0;flex-shrink:1}.app-main{flex:1;display:flex;flex-direction:column;padding:.75rem;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-width:0}@media(max-width:480px){.app-header{padding:.75rem;gap:.375rem}.app-title{font-size:1.1rem}.header-actions{gap:.5rem}}.app-footer{background-color:#0f172a08;color:#64748b;text-align:center;padding:.5rem;font-size:.75rem;flex-shrink:0;border-top:1px solid rgba(148,163,184,.1)}.app-footer p{margin:0}
