:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;color:#222;background:#fafafa}*{box-sizing:border-box}body{margin:0;padding:0}.app{max-width:720px;margin:0 auto;padding:1.5rem 1rem 5rem}header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #eee;padding-bottom:.5rem;margin-bottom:1rem}header h1{margin:0;font-size:1.5rem}.user{color:#888;font-size:.875rem}.tab-bar{display:flex;gap:.25rem;margin-bottom:1.5rem;background:#fff;border-radius:8px;padding:.25rem;border:1px solid #e5e5e5;position:sticky;top:0;z-index:10}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem .25rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.75rem;color:#666}.tab:hover{background:#f5f5f5}.tab-active{background:#4f46e5;color:#fff}.tab-icon{font-size:1.25rem}.tab-label{font-size:.7rem}section h2{margin-top:0}.add-form{display:flex;gap:.5rem;margin-bottom:1rem}.add-form input[type=text]{flex:1;padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem}.add-form select{padding:.5rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;background:#fff}.add-form button{padding:.5rem 1rem;border:none;border-radius:6px;background:#4f46e5;color:#fff;font-size:1rem;cursor:pointer}.add-form button:hover{background:#4338ca}.task-list{list-style:none;padding:0;margin:0}.task-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid #f0f0f0;background:#fff;margin-bottom:.5rem;border-radius:6px}.task-card.empty{color:#999;justify-content:center;background:transparent;border:1px dashed #ddd}.task-card[data-status=done] .task-title{text-decoration:line-through;color:#888}.task-card[data-status=cancelled]{opacity:.4}.task-main{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.task-title{font-size:1rem;word-break:break-word}.task-meta{display:flex;gap:.75rem;font-size:.75rem;color:#666;flex-wrap:wrap}.task-meta .subject,.task-meta .points{background:#f3f4f6;padding:.125rem .5rem;border-radius:12px}.task-actions{display:flex;align-items:center;gap:.5rem}.btn-done{padding:.4rem .75rem;border:none;border-radius:6px;background:#10b981;color:#fff;font-size:.875rem;cursor:pointer}.btn-done:hover{background:#059669}.btn-delete{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#999;font-size:1.25rem;cursor:pointer;line-height:1}.btn-delete:hover{background:#fee2e2;color:#dc2626}.status{color:#16a34a;font-size:.875rem;font-weight:500}.task-type-icon{font-size:1.25rem;margin-right:.5rem}.subject-chips{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.chip{padding:.375rem .75rem;border:1px solid #d1d5db;border-radius:20px;background:#fff;font-size:.875rem;cursor:pointer;color:#555}.chip:hover{background:#f3f4f6}.chip-active{background:#4f46e5;color:#fff;border-color:#4f46e5}.stats-panel{background:linear-gradient(135deg,#eef2ff,#fef3c7);border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin-bottom:1rem}.stats-panel .stat{display:inline-block;margin-right:1rem;font-size:.875rem;color:#4b5563}.stats-panel .stat-value{display:block;font-size:1.25rem;font-weight:600;color:#111}.stats-panel .stat-label{font-size:.75rem;color:#6b7280}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;margin:.75rem 0 .5rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#34d399,#10b981);transition:width .5s}.quote{font-size:.875rem;color:#6b7280;font-style:italic;text-align:center;margin:.5rem 0 0}.day-pills{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem}.day-pill{flex-shrink:0;min-width:5.5rem;display:flex;flex-direction:column;align-items:center;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:12px;background:#fff;cursor:pointer;text-align:center}.day-pill:hover{background:#f9fafb}.day-pill.pill-active{background:#4f46e5;color:#fff;border-color:#4f46e5}.day-name{font-size:.75rem;font-weight:500}.day-date{font-size:.875rem;font-weight:600}.day-count{font-size:.7rem;color:inherit;opacity:.7}.focus-view{text-align:center}.focus-empty .big-text{font-size:1.5rem;margin:2rem 0 .5rem}.focus-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:2rem 1.5rem;margin-top:1rem;text-align:left;max-width:600px;margin-left:auto;margin-right:auto}.focus-priority{font-size:.75rem;text-transform:uppercase;font-weight:600;color:#6b7280;letter-spacing:.05em;margin-bottom:.5rem}.focus-title{font-size:2rem;line-height:1.2;margin:0 0 .75rem;color:#111;word-break:break-word}.focus-subject{color:#6b7280;font-size:1rem;margin:0 0 1rem}.focus-description{color:#374151;font-size:1.125rem;line-height:1.5;margin:0 0 1.5rem}.focus-points{font-size:1rem;color:#d97706;font-weight:600;margin-bottom:1.5rem}.focus-actions{display:flex;gap:.75rem;margin-bottom:1rem}.btn-focus-done,.btn-focus-next{flex:1;padding:1rem;border:none;border-radius:12px;font-size:1.125rem;font-weight:600;cursor:pointer}.btn-focus-done{background:#10b981;color:#fff}.btn-focus-done:hover{background:#059669}.btn-focus-next{background:#e5e7eb;color:#374151}.btn-focus-next:hover{background:#d1d5db}.focus-position{text-align:center;color:#9ca3af;font-size:.875rem;margin:0}.tab-separator{width:1px;background:#e5e5e5;margin:.25rem .5rem;align-self:stretch}.tab-parent{background:#fef9c3}.tab-parent.tab-active{background:#ca8a04}.parent-dashboard h3{margin-top:1.5rem;margin-bottom:.5rem}.journal-summary{background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;padding:1rem;margin-bottom:1rem}.journal-summary h3{margin-top:0}.summary-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:.5rem;font-size:.875rem;color:#4b5563}.summary-stats strong{font-size:1.25rem;color:#111;display:block}.journal-search{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin-bottom:1rem}.search-input{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;margin-bottom:.5rem}.search-hint{font-size:.75rem;color:#6b7280;font-style:italic;margin:0 0 .75rem}.search-results{list-style:none;padding:0;margin:0}.search-result{display:flex;gap:.75rem;padding:.75rem;border-bottom:1px solid #f3f4f6}.search-result.empty{color:#9ca3af;font-style:italic;justify-content:center}.result-type{font-size:1.25rem}.result-main{flex:1}.result-description{font-size:.875rem;color:#4b5563;margin:.25rem 0 .5rem}.result-meta{font-size:.75rem;color:#6b7280;display:flex;gap:.75rem;flex-wrap:wrap}.status-badge{padding:.125rem .5rem;border-radius:12px;font-size:.7rem;text-transform:uppercase;font-weight:500}.status-pending{background:#fef3c7;color:#92400e}.status-done{background:#d1fae5;color:#065f46}.status-cancelled{background:#fee2e2;color:#991b1b}.achievements-summary{font-size:.875rem;color:#6b7280;margin-bottom:.75rem}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.5rem}.achievement{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.75rem .5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:.75rem}.achievement.earned{background:#fef3c7;border-color:#fcd34d}.achievement.locked{opacity:.5}.achievement-icon{font-size:1.5rem;margin-bottom:.25rem}.achievement-title{font-weight:600;color:#111;margin-bottom:.25rem}.achievement-ep{color:#d97706;font-size:.7rem}
