html{box-sizing:border-box;color-scheme:light dark}*,*:before,*:after{box-sizing:inherit}:root{--bg:#0b1220;--panel:#0f1a33;--panel2:#101c3d;--text:#e8eefc;--muted:#a8b3d6;--line:#25365f;--good:#2ecc71;--bad:#ff5c5c;--accent:#4dd1ff;--accent2:#b7ff4d;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}body{margin:0;background:radial-gradient(1200px 600px at 20% 0%,#12214a 0%,var(--bg) 60%) fixed;color:var(--text)}a{color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:10px}@media (min-width: 600px){.container{padding:20px}}.header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}@media (max-width: 600px){.header{flex-direction:column;align-items:flex-start;gap:10px}}.title{font-size:24px;font-weight:800;letter-spacing:.2px}.subtitle{color:var(--muted);font-size:13px;margin-top:6px}.grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 920px){.grid{grid-template-columns:420px 1fr}}@media (max-width: 919px){.grid{grid-template-columns:1fr}}.card{background:linear-gradient(180deg,var(--panel) 0%,var(--panel2) 100%);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:14px;box-shadow:0 14px 40px #00000040}.card h2{margin:0 0 10px;font-size:15px;color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;flex:1 1 0}label{font-size:12px;color:var(--muted)}input[type=date],input[type=number],input[type=text]{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0a0e1e66;color:var(--text);outline:none}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}button{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff14;color:var(--text);cursor:pointer;font-weight:700}button.primary{background:linear-gradient(135deg,#4dd1ff2e,#b7ff4d26);border-color:#4dd1ff40}button.danger{background:#ff5c5c1f;border-color:#ff5c5c38}button:disabled{opacity:.5;cursor:not-allowed}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d}.pill input{transform:scale(1.15)}.good{background:#2ecc7126;border-color:#2ecc7140}.bad{background:#ff5c5c26;border-color:#ff5c5c40}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;color:var(--muted);font-weight:700;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;background:#0b1220a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}tbody td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);font-weight:800;font-size:11px}.tag.oui{background:#2ecc712e;border-color:#2ecc7140}.tag.non{background:#ff5c5c2e;border-color:#ff5c5c40}.mini{font-size:12px;color:var(--muted)}.footerActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.notice{font-size:12px;color:var(--muted);margin-top:8px}.save-button-container{display:flex;justify-content:center;width:100%}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grow{flex:1}.twoCols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 900px){.twoCols{grid-template-columns:1fr}}.field label{font-size:12px;color:var(--muted)}.field input,.field textarea,.field select{flex-shrink:1;width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;color:var(--text);outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#4dd1ff80;box-shadow:0 0 0 3px #4dd1ff1f}.panel{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}.panelHeader{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.habits{display:flex;flex-direction:column;gap:8px;margin-top:8px}.habitRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.habitRow input{flex-grow:1;flex-basis:0;flex-shrink:1}.chip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--text);cursor:pointer;font-weight:700;flex-grow:1}.chip.on{border-color:#2ecc7159;background:#2ecc7114}.dot{width:10px;height:10px;border-radius:999px}.dot.good{background:var(--good)}.dot.bad{background:var(--bad)}.iconBtn{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:6px 8px;border-radius:10px}.iconBtn:hover{background:#ffffff0f;color:var(--text)}.empty{color:var(--muted);padding:8px}.streakGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}@media (max-width: 560px){.streakGrid{grid-template-columns:1fr}}.streakCard{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px}.streakName{font-weight:900;margin-bottom:8px}.streakNums{display:flex;justify-content:space-between;gap:10px}.streakNums .v{display:block;font-size:18px;font-weight:900}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{width:min(900px,100%);background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px;box-shadow:0 18px 60px #0000008c}.modalHeader{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal textarea{width:100%;min-height:260px;margin-top:10px;background:#0000002e;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px;color:var(--text);outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.streakGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (max-width: 520px){.streakGrid{grid-template-columns:1fr}}.streakCard{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:#00000026}.streakName{font-weight:900;margin-bottom:10px}.streakNums{display:flex;justify-content:space-between;gap:12px}.streakNums .k{display:block;font-size:11px;color:var(--muted)}.streakNums .v{display:block;font-size:22px;font-weight:900}.historyWrap .actions{display:flex;gap:8px;flex-wrap:wrap}.empty{color:var(--muted);padding:16px 0}.brand{display:flex;align-items:center;gap:12px}.logo{display:flex;align-items:center;justify-content:center;height:50px}.topActions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 600px){.topActions{width:100%;justify-content:space-around}.topActions button{flex-grow:1}}.tabs{display:flex;gap:10px;margin:10px 0 14px;flex-wrap:wrap}@media (max-width: 600px){.tabs{justify-content:space-around}}.tab{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff14;color:var(--text);cursor:pointer;font-weight:700;flex-grow:1}.tab.active{background:#4dd1ff29;border-color:#4dd1ff40}.cardHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.list{margin:0;padding-left:18px;color:var(--text)}.list li{margin:8px 0;color:var(--muted)}.list li strong{color:var(--text)}.chartWrap{height:320px}.empty{color:var(--muted);padding:12px;border:1px dashed rgba(255,255,255,.14);border-radius:12px}.footer{margin-top:18px;padding:6px 2px 20px}
