*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Noto Sans TC',sans-serif;background:#f5f6fa;color:#212121;line-height:1.6}
a{text-decoration:none;color:inherit}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;background:#1a237e;color:#fff;position:sticky;top:0;z-index:100}
.nav-brand a{font-size:1.2rem;font-weight:700;color:#fff}
.nav-sub{font-size:.75rem;color:#9fa8da;margin-left:10px}
.nav-right{display:flex;align-items:center;gap:10px}
.nav-user{font-size:.85rem;color:#c5cae9}
.btn-nav{padding:6px 14px;border-radius:5px;font-size:.85rem;border:1px solid #5c6bc0;color:#fff;background:transparent}
.btn-nav:hover{background:#3949ab}
.btn-nav.btn-primary{background:#ffd54f;color:#1a237e;border-color:#ffd54f;font-weight:600}
footer{text-align:center;padding:20px;color:#888;font-size:.85rem;border-top:1px solid #e0e0e0;margin-top:40px}
.page-header{text-align:center;padding:40px 20px 20px;background:#fff;margin-bottom:30px}
.page-header h1{font-size:1.8rem;color:#1a237e}
.page-header p{color:#666;margin-top:6px}
/* Hero */
.hero{background:linear-gradient(135deg,#1a237e 0%,#283593 60%,#3949ab 100%);color:#fff;padding:80px 20px;text-align:center}
.hero-inner{max-width:720px;margin:0 auto}
.hero h1{font-size:2.4rem;font-weight:700;line-height:1.3;margin-bottom:16px}
.hero-sub{font-size:1.05rem;color:#c5cae9;margin-bottom:28px;line-height:1.7}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.btn-hero{padding:13px 32px;background:#ffd54f;color:#1a237e;border-radius:6px;font-weight:700;font-size:1rem}
.btn-hero:hover{background:#ffca28}
.btn-hero-ghost{padding:13px 32px;border:2px solid #fff;color:#fff;border-radius:6px;font-weight:600}
.hero-badge{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:6px 18px;font-size:.85rem;color:#ffd54f}
/* Features */
.features{padding:60px 20px;text-align:center;background:#fff}
.features h2{font-size:1.8rem;color:#1a237e;margin-bottom:36px}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;max-width:1000px;margin:0 auto}
.feature-card{padding:24px;border:1px solid #e8eaf6;border-radius:10px;text-align:left}
.feat-icon{font-size:2rem;margin-bottom:10px}
.feature-card h3{font-size:1rem;color:#1a237e;margin-bottom:8px}
.feature-card p{font-size:.88rem;color:#555;line-height:1.6}
/* Pricing */
.pricing{padding:60px 20px;background:#f5f6fa;text-align:center}
.pricing h2{font-size:1.8rem;color:#1a237e;margin-bottom:36px}
.pricing-grid{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;max-width:1000px;margin:0 auto}
.price-card{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:28px 24px;width:280px;position:relative}
.price-card.featured{border-color:#1a237e;box-shadow:0 4px 20px rgba(26,35,126,.15)}
.price-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#ffd54f;color:#1a237e;padding:3px 14px;border-radius:20px;font-size:.78rem;font-weight:700;white-space:nowrap}
.price-card h3{font-size:1.1rem;margin-bottom:10px;color:#1a237e}
.price{font-size:2rem;font-weight:700;color:#1a237e;margin-bottom:4px}
.price span{font-size:1rem;font-weight:400;color:#888}
.price-year{font-size:.8rem;color:#888;margin-bottom:16px}
.price-card ul{list-style:none;margin-bottom:20px;text-align:left}
.price-card li{padding:5px 0;font-size:.88rem;color:#444}
.price-card li::before{content:'✓ ';color:#43a047;font-weight:700}
.btn-price{display:block;text-align:center;padding:10px;background:#1a237e;color:#fff;border-radius:6px;font-weight:600}
.btn-price:hover{background:#283593}
/* Exam select */
.exam-container{max-width:1000px;margin:0 auto;padding:20px}
.exam-section{margin-bottom:40px}
.exam-section h2{font-size:1.3rem;color:#1a237e;margin-bottom:6px}
.section-note{font-size:.85rem;color:#888;margin-bottom:16px}
.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.subject-card{display:flex;flex-direction:column;padding:18px;background:#fff;border:2px solid #e8eaf6;border-radius:8px;transition:.15s}
.subject-card:hover{border-color:#1a237e;box-shadow:0 2px 12px rgba(26,35,126,.12)}
.subject-card-mcq{border-left:4px solid #43a047}
.subj-name{font-weight:600;color:#1a237e;margin-bottom:4px}
.subj-meta{font-size:.8rem;color:#888}
.subj-arrow{margin-top:auto;text-align:right;color:#3949ab;font-weight:700;font-size:1.1rem}
/* Dashboard */
.dash-wrap{max-width:800px;margin:0 auto;padding:20px}
.dash-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.dash-section h2{font-size:1.1rem;color:#1a237e;margin-bottom:16px}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bar-label{width:180px;font-size:.88rem;color:#444;flex-shrink:0}
.bar-track{flex:1;height:16px;background:#f0f0f0;border-radius:8px;overflow:hidden}
.bar-fill{height:100%;border-radius:8px;transition:width .5s}
.bar-red{background:#ef5350}
.bar-orange{background:#ffa726}
.bar-green{background:#66bb6a}
.bar-pct{width:120px;font-size:.85rem;color:#555;text-align:right;flex-shrink:0}
.weak-alert{margin-top:16px;padding:12px 16px;background:#fff3e0;border-left:4px solid #ffa726;border-radius:4px;font-size:.9rem}
.weak-alert a{color:#1a237e;text-decoration:underline}
.empty-state{text-align:center;padding:40px;color:#888}
.empty-state a{color:#1a237e;text-decoration:underline}
.recent-table{width:100%;border-collapse:collapse;font-size:.9rem}
.recent-table th,.recent-table td{padding:8px 12px;border-bottom:1px solid #eee;text-align:left}
.recent-table th{background:#f5f6fa;font-weight:600;color:#555}

/* Exam Type Selection */
.exam-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;max-width:1000px;margin:0 auto;padding:20px}
.exam-type-card{display:flex;flex-direction:column;padding:28px 24px;background:#fff;border:2px solid #e8eaf6;border-radius:12px;text-decoration:none;color:inherit;transition:.2s;position:relative;cursor:pointer}
.exam-type-card:hover{border-color:#1a237e;box-shadow:0 4px 20px rgba(26,35,126,.15);transform:translateY(-2px)}
.exam-type-hot{border-color:#1a237e}
.exam-type-soon{opacity:.7;cursor:default;pointer-events:none}
.et-badge{position:absolute;top:-12px;left:20px;background:#ffd54f;color:#1a237e;padding:3px 14px;border-radius:20px;font-size:.78rem;font-weight:700}
.et-badge-soon{background:#bdbdbd;color:#fff}
.et-icon{font-size:2.2rem;margin-bottom:12px}
.et-name{font-size:1.25rem;font-weight:700;color:#1a237e;margin-bottom:8px}
.et-desc{font-size:.88rem;color:#555;line-height:1.6;margin-bottom:12px}
.et-stats{font-size:.82rem;color:#888;margin-bottom:16px}
.et-enter{margin-top:auto;font-weight:700;color:#3949ab;font-size:.95rem}
/* Back link */
.back-link{display:inline-block;color:#888;font-size:.9rem;margin-bottom:10px;text-decoration:none}
.back-link:hover{color:#1a237e}
/* Coming soon box */
.coming-soon-box{padding:24px;background:#f5f6fa;border-radius:8px;color:#888;text-align:center;font-size:.95rem}
