*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f5f5f5;min-height:100vh}.container{max-width:800px;margin:0 auto;padding:20px}button{cursor:pointer;padding:10px 20px;border:none;border-radius:8px;font-size:16px;transition:all .2s}button:hover{transform:translateY(-1px)}button.primary{background:#2563eb;color:#fff}button.primary:hover{background:#1d4ed8}button.secondary{background:#e5e7eb;color:#374151}button.success{background:#10b981;color:#fff}button.warning{background:#f59e0b;color:#fff}button.danger{background:#ef4444;color:#fff}input,textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;margin-bottom:12px}input:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header h1{font-size:24px;color:#111827}.nav{display:flex;gap:12px}.category-list{display:grid;gap:12px}.category-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s}.category-item:hover{background:#f9fafb;transform:translate(4px)}.word-card{text-align:center;padding:48px 24px}.word-english{font-size:36px;font-weight:700;color:#111827;margin-bottom:24px}.word-answer{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.word-korean{font-size:24px;color:#374151;margin-bottom:16px}.word-example{font-size:16px;color:#6b7280;font-style:italic}.rating-buttons{display:flex;gap:8px;justify-content:center;margin-top:24px}.login-form{max-width:400px;margin:100px auto}.login-form h1{text-align:center;margin-bottom:24px}.stats{display:flex;gap:16px;margin-bottom:24px}.stat-item{flex:1;text-align:center;padding:16px;background:#fff;border-radius:8px}.stat-number{font-size:32px;font-weight:700;color:#2563eb}.stat-label{font-size:14px;color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;padding:24px;border-radius:12px;width:90%;max-width:500px}.modal h2{margin-bottom:16px}.modal-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.empty-state{text-align:center;padding:48px;color:#6b7280}.word-list{display:grid;gap:8px}.word-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px}.word-item-text{font-weight:500}.word-item-korean{color:#6b7280;font-size:14px}.actions{display:flex;gap:8px}.icon-btn{padding:8px;background:transparent;border-radius:4px}.icon-btn:hover{background:#f3f4f6}.forecast-list{display:flex;flex-direction:column;gap:12px}.forecast-item{display:grid;grid-template-columns:120px 1fr 60px;gap:12px;align-items:center}.forecast-date{font-size:14px}.forecast-bar-container{height:24px;background:#f3f4f6;border-radius:4px;overflow:hidden}.forecast-bar{height:100%;background:#2563eb;transition:width .3s ease}.forecast-count{text-align:right;font-size:14px;font-weight:600;color:#374151}.heatmap-container{overflow-x:auto;margin:16px 0}.heatmap{display:flex;gap:3px;min-width:600px}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-day{width:12px;height:12px;border-radius:2px;cursor:pointer}.heatmap-day:hover{opacity:.8;outline:1px solid #374151}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px}.heatmap-legend-colors{display:flex;gap:3px}.heatmap-legend-box{width:12px;height:12px;border-radius:2px}.show-mobile{display:none}@media (max-width: 480px){.hide-mobile{display:none}.show-mobile{display:inline}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.stats-grid .stat-streak{grid-column:1 / -1}.stats-grid .stat-item{padding:12px 8px}.stats-grid .stat-number{font-size:24px}.forecast-item{grid-template-columns:100px 1fr 50px;gap:8px}.heatmap{min-width:500px}.heatmap-day,.heatmap-legend-box{width:10px;height:10px}}
