.habit-tracker{--bg:#f5faf9;--panel:#fff;--panel-soft:#fbfdfd;--line:#e6eef0;--text:#1f2d3a;--muted:#93a0ad;--teal:#53b7be;--teal-soft:#edf8f8;--teal-deep:#3fa4ac;--shadow:0 18px 40px #65899114;color:var(--text);background:radial-gradient(circle at 0 0,#53b7be14,#0000 24%),linear-gradient(#f8fcfb 0%,#f5fafa 100%);min-height:100vh;padding:10px;font-family:Outfit,Noto Sans SC,sans-serif}.habit-tracker *{box-sizing:border-box}.habit-tracker .back-link{color:var(--muted);align-items:center;gap:6px;margin:0 4px 10px;font-size:13px;font-weight:600;display:inline-flex}.habit-tracker .back-link:hover{color:var(--teal-deep)}.habit-tracker button,.habit-tracker input,.habit-tracker textarea,.habit-tracker select{font:inherit}.habit-tracker button{cursor:pointer;border:0}.habit-tracker .app-shell{min-height:calc(100vh - 60px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd6;border:1px solid #e6eef0cc;border-radius:24px;grid-template-columns:430px 1fr;display:grid;overflow:hidden}.habit-tracker .sidebar{border-right:1px solid var(--line);background:linear-gradient(#ffffffe6,#f8fcfceb);flex-direction:column;justify-content:space-between;gap:18px;padding:20px 22px;display:flex}.habit-tracker .sidebar-top{gap:18px;display:grid}.habit-tracker .brand-block{gap:10px;display:grid}.habit-tracker .brand-kicker,.habit-tracker .workspace-kicker,.habit-tracker .group-caption,.habit-tracker .note-field span,.habit-tracker .dialog-form span,.habit-tracker .panel-head p,.habit-tracker .record-date,.habit-tracker .calendar-weekdays span,.habit-tracker .workspace-chip{color:var(--muted);margin:0}.habit-tracker .brand-kicker,.habit-tracker .workspace-kicker{letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:600}.habit-tracker .brand-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.habit-tracker .brand-row h1,.habit-tracker .workspace-header h2,.habit-tracker .dialog-head h3,.habit-tracker .selected-card h3,.habit-tracker .panel-head h3{letter-spacing:-.03em;margin:0}.habit-tracker .brand-row h1{font-size:1.7rem}.habit-tracker .add-button,.habit-tracker .primary-button,.habit-tracker .ghost-button{border-radius:999px}.habit-tracker .add-button{color:var(--teal-deep);background:#fff;border:1px solid #dfecef;padding:10px 16px;font-weight:600;box-shadow:0 6px 20px #67a3a914}.habit-tracker .type-groups{gap:16px;display:grid}.habit-tracker .group-block{gap:10px;display:grid}.habit-tracker .group-head{align-items:center;gap:10px;font-size:1.05rem;font-weight:700;display:flex}.habit-tracker .group-count{min-width:26px;color:var(--muted);background:#f0f5f6;border-radius:999px;padding:3px 8px;font-size:.85rem}.habit-tracker .habit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.habit-tracker .habit-tile{text-align:center;background:linear-gradient(#fff 0%,#fbfdfd 100%);border:1px solid #0000;border-radius:26px;grid-template-rows:auto 1fr;place-items:start center;gap:10px;min-height:132px;padding:14px 12px 12px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,color .16s;display:grid;position:relative;box-shadow:0 10px 28px #3a5b620f}.habit-tracker .habit-tile:hover{transform:translateY(-2px);box-shadow:0 16px 30px #3a5b6214}.habit-tracker .habit-tile.checked{background:linear-gradient(180deg, color-mix(in srgb, var(--habit-color,#dbe6e8) 36%, white 64%), #fffffff0)}.habit-tracker .habit-tile.active{border-color:#557983;box-shadow:0 16px 30px #3a5b6214,0 0 0 1.5px #557983e6}.habit-tracker .habit-tile.active.checked{border-color:#557983}.habit-tracker .habit-emoji{background:color-mix(in srgb, var(--habit-color,#dedede) 18%, white 82%);border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.2rem;line-height:1;display:grid}.habit-tracker .habit-name{letter-spacing:-.02em;text-align:center;word-break:break-word;align-self:end;width:100%;font-size:1.15rem;font-weight:700;line-height:1.25}.habit-tracker .habit-tile-delete{color:#93a0ad;border:1px solid var(--line);background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:none;position:absolute;top:6px;right:8px}.habit-tracker .habit-tile:hover .habit-tile-delete{display:flex}.habit-tracker .habit-tile-delete:hover{color:#c25c5c;border-color:#f1cccc}.habit-tracker .sidebar-card{background:linear-gradient(135deg,#f4fcfaf5,#fff8ece6),#fff;border:1px solid #edf3f5;border-radius:20px;justify-content:space-between;align-items:end;gap:16px;padding:14px 16px;display:flex}.habit-tracker .sidebar-card h3{margin:0 0 8px;font-size:1.05rem}.habit-tracker .sidebar-card p{color:#71808d;margin:0;font-size:.9rem;line-height:1.45}.habit-tracker .sidebar-plant{font-size:1.8rem}.habit-tracker .workspace{grid-template-rows:auto auto auto 1fr;gap:10px;padding:18px;display:grid}.habit-tracker .workspace-header,.habit-tracker .panel-head,.habit-tracker .calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.habit-tracker .workspace-header h2{font-size:1.35rem}.habit-tracker .workspace-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:600}.habit-tracker .overview-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:10px;display:grid}.habit-tracker .overview-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.habit-tracker .stat-card,.habit-tracker .selected-card,.habit-tracker .calendar-panel,.habit-tracker .editor-panel,.habit-tracker .journal-panel{border:1px solid var(--line);background:#ffffffeb;border-radius:24px;box-shadow:0 10px 32px #3a5b620a}.habit-tracker .stat-card{padding:14px 16px}.habit-tracker .stat-card strong{color:#6f7f8b;font-size:.92rem;display:block}.habit-tracker .stat-card span{margin-top:4px;font-size:1.5rem;font-weight:700;display:block}.habit-tracker .stat-card small{color:#98a6b2;margin-top:6px;display:block}.habit-tracker .selected-card{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.habit-tracker .selected-card-copy p:last-child{color:#71808d;margin-top:6px;font-size:.9rem;line-height:1.4}.habit-tracker .selected-ring{flex:none;place-items:center;width:68px;height:68px;display:grid;position:relative}.habit-tracker .ring-svg{width:68px;height:68px}.habit-tracker .ring-track{fill:none;stroke:#edf2f5;stroke-width:8px}.habit-tracker .ring-progress{fill:none;stroke:var(--teal-deep);stroke-width:8px;stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.habit-tracker .ring-label{color:#4d5c68;font-size:.95rem;font-weight:700;position:absolute}.habit-tracker .calendar-panel{padding:12px 14px 14px}.habit-tracker .calendar-toolbar h3{margin:0;font-size:.98rem}.habit-tracker .month-button{border:1px solid var(--line);color:#75818d;background:#fff;border-radius:50%;width:30px;height:30px;box-shadow:0 4px 12px #3a5b620d}.habit-tracker .calendar-weekdays{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:8px 0 6px;font-size:.9rem;display:grid}.habit-tracker .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 4px;display:grid}.habit-tracker .calendar-cell{background:0 0;border:0;align-content:start;justify-items:center;min-height:50px;padding:3px 2px;transition:transform .16s;display:grid}.habit-tracker .calendar-cell:hover{transform:translateY(-1px)}.habit-tracker .calendar-cell.is-outside{opacity:.42}.habit-tracker .calendar-day{color:#7c8793;font-size:.82rem;font-weight:600}.habit-tracker .calendar-day.is-today{color:#fff;background:var(--teal-deep);border-radius:999px;padding:1px 8px;box-shadow:0 4px 10px #3fa4ac47}.habit-tracker .calendar-mark{background:#edf1f4;border:0;border-radius:50%;width:24px;height:24px;margin-top:5px;transition:background .16s,box-shadow .16s,transform .16s;box-shadow:inset 0 1px 1px #ffffffd9}.habit-tracker .calendar-mark.checked{background:color-mix(in srgb, var(--habit-color,#4f6f52) 92%, #2c4738 8%);box-shadow:inset 0 0 0 1px #ffffff29}.habit-tracker .calendar-cell.is-selected .calendar-mark{transform:scale(1.04);box-shadow:0 0 0 3px #53b7beeb,inset 0 0 0 1px #ffffff29}.habit-tracker .bottom-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:10px;display:grid}.habit-tracker .editor-panel,.habit-tracker .journal-panel{padding:14px 16px}.habit-tracker .panel-head p{margin-top:6px;font-size:.92rem}.habit-tracker .checkin-form{gap:10px;margin-top:10px;display:grid}.habit-tracker .status-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.habit-tracker .status-option{position:relative}.habit-tracker .status-option input{opacity:0;position:absolute;inset:0}.habit-tracker .status-option label{border:1px solid var(--line);text-align:center;cursor:pointer;background:#fcfefe;border-radius:18px;padding:10px 12px;display:block}.habit-tracker .status-option strong{font-size:1rem;display:block}.habit-tracker .status-option span{color:var(--muted);margin-top:6px;font-size:.82rem;display:block}.habit-tracker .status-option input:checked+label{background:var(--teal-soft);border-color:#53b7bead}.habit-tracker .note-field{gap:8px;display:grid}.habit-tracker textarea,.habit-tracker input[type=text],.habit-tracker select{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:18px;padding:10px 12px}.habit-tracker textarea{resize:vertical;min-height:72px}.habit-tracker .form-actions{gap:10px;display:flex}.habit-tracker .primary-button,.habit-tracker .ghost-button{padding:9px 14px;font-weight:600}.habit-tracker .primary-button{color:#fff;background:linear-gradient(#53b7be 0%,#43a9b0 100%);box-shadow:0 10px 22px #53b7be38}.habit-tracker .ghost-button{border:1px solid var(--line);color:#6f7e8a;background:#fff}.habit-tracker .record-list{gap:4px;margin-top:10px;display:grid}.habit-tracker .record-item{border-top:1px solid #edf2f4;padding:8px 0}.habit-tracker .record-item:first-child{border-top:0;padding-top:0}.habit-tracker .record-date{font-size:.9rem;font-weight:600}.habit-tracker .record-note{color:#60707d;margin:4px 0 0;font-size:.9rem;line-height:1.38}.habit-tracker .dialog-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#54747e33;place-items:center;display:grid;position:fixed;inset:0}.habit-tracker .dialog-form{background:#fff;border-radius:24px;gap:16px;width:min(92vw,400px);padding:24px;display:grid;box-shadow:0 20px 60px #3a5b622e}.habit-tracker .dialog-form label{gap:6px;display:grid}.habit-tracker .empty-state{color:var(--muted);background:#fbfdfd;border-radius:16px;padding:16px}@media (max-width:1280px){.habit-tracker .app-shell{grid-template-columns:320px 1fr}.habit-tracker .overview-grid,.habit-tracker .bottom-grid{grid-template-columns:1fr}}@media (max-width:920px){.habit-tracker{padding:0}.habit-tracker .app-shell{border-radius:0;grid-template-columns:1fr;min-height:100vh}.habit-tracker .sidebar{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width:720px){.habit-tracker .sidebar,.habit-tracker .workspace{padding:20px 16px}.habit-tracker .brand-row,.habit-tracker .workspace-header,.habit-tracker .selected-card,.habit-tracker .calendar-toolbar{flex-direction:column;align-items:start}.habit-tracker .habit-grid,.habit-tracker .overview-cards,.habit-tracker .status-options,.habit-tracker .calendar-weekdays,.habit-tracker .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
