*{box-sizing:border-box}body{margin:0;background:#fff;color:#151515;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;line-height:1.6}.app{max-width:1100px;margin:0 auto;padding:28px 18px 56px}.card{border:1px solid #e8e8e8;border-radius:24px;padding:28px;margin:18px 0;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.05)}.hero{display:grid;grid-template-columns:1fr 230px;gap:24px;align-items:center}.eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#777;font-weight:800}h1{font-size:46px;line-height:1.08;margin:8px 0 12px}h2{font-size:28px;margin:0 0 12px}h3{font-size:20px;margin:0 0 10px}.lead{font-size:20px;color:#444;margin:0}.mascot{display:flex;align-items:center;justify-content:center;gap:12px}.face{width:96px;height:96px;border-radius:30px;border:4px solid #111;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:900;background:#fff}.bubble{border:2px dashed #111;border-radius:18px;padding:10px 12px;font-weight:800}.primary,.secondary{appearance:none;border:0;border-radius:999px;padding:13px 22px;font-weight:900;cursor:pointer;font-size:16px;margin-top:12px}.primary{background:#111;color:#fff}.secondary{background:#f1f1f1;color:#111}.hidden{display:none}.kano-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.kano-grid div{border:1px solid #ddd;border-radius:18px;padding:16px}.kano-grid strong{display:block}.kano-grid span{font-size:14px;color:#555}.topbar{display:flex;justify-content:space-between;align-items:center}.scorebox{display:flex;gap:14px;flex-wrap:wrap}.scorebox div{border:1px solid #ddd;border-radius:999px;padding:8px 14px}.scorebox strong{font-size:22px}.concept{background:#fcfcfc}.feedback{margin-top:18px;border-left:6px solid #111;background:#fafafa;padding:16px 18px;border-radius:14px}.options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.option{border:2px solid #e6e6e6;border-radius:20px;padding:18px;cursor:pointer;background:#fff;text-align:left;transition:.15s}.option:hover{border-color:#111;transform:translateY(-1px)}.option h4{font-size:18px;margin:0 0 8px}.option p{color:#555;margin:0}.option.selected.good{border-color:#111;background:#f6fff6}.option.selected.ok{border-color:#555;background:#f9f9f9}.option.selected.bad{border-color:#111;background:#fff6f6}.sort-area{margin-top:20px}.feature-pool{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}.feature-card{border:1px solid #ddd;border-radius:18px;padding:14px;background:#fff}.feature-card h4{margin:0 0 6px}.feature-card p{margin:0 0 10px;color:#555}.feature-card select{width:100%;padding:10px;border-radius:12px;border:1px solid #bbb;background:#fff}.tag{display:inline-flex;border:1px solid #ddd;border-radius:999px;padding:4px 10px;margin:4px 6px 4px 0;font-size:14px;background:#fff}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-box,.principle{border:1px solid #ddd;border-radius:20px;padding:18px;background:#fff}.principle-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.principle strong{display:block;font-size:18px;margin-bottom:6px}.plan-table{width:100%;border-collapse:collapse;margin:14px 0}.plan-table th,.plan-table td{border:1px solid #ddd;padding:12px;text-align:left;vertical-align:top}.plan-table th{background:#fafafa}.budget-board{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.budget-card{border:1px solid #ddd;border-radius:18px;padding:16px;background:#fff}.budget-card h4{margin:0 0 8px}.budget-card p{margin:0 0 10px;color:#555}.budget-card button{margin:0}.chosen-list{border:2px dashed #999;border-radius:18px;padding:16px;margin-top:16px;background:#fcfcfc}.chosen-item{border:1px solid #111;border-radius:999px;display:inline-flex;padding:7px 11px;margin:4px;font-weight:700}.progress{height:12px;border:1px solid #ddd;border-radius:999px;overflow:hidden;background:#fafafa}.bar{height:100%;background:#111;width:0%}.teacher ol{margin-bottom:0}@media(max-width:820px){.hero,.kano-grid,.feature-pool,.summary-grid,.principle-list,.budget-board,.options{grid-template-columns:1fr}.topbar{display:block}.scorebox{margin-top:12px}h1{font-size:34px}}