:root{--ink:#10231b;--muted:#66756e;--paper:#f4f1e9;--card:#fffef9;--line:#d9ddd6;--green:#16784a;--lime:#dff36c;--red:#b94338;--shadow:0 14px 40px rgba(16,35,27,.1);font-family:Inter,"Noto Sans TC",system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0,#e5edcf 0,transparent 32%),var(--paper)}button,input,textarea,select{font:inherit}.shell{width:min(760px,100%);margin:auto;padding:24px 20px 80px}header{display:flex;align-items:center;gap:12px;margin-bottom:26px}header h1{font-size:20px;margin:1px 0}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--ink);color:var(--lime);font-weight:900}.eyebrow{margin:0;color:var(--green);font-size:10px;letter-spacing:.18em;font-weight:800}.icon-button{margin-left:auto;border:1px solid var(--line);background:rgba(255,255,255,.65);border-radius:12px;width:42px;height:42px;font-size:21px;cursor:pointer}.hero{background:var(--ink);color:white;border-radius:26px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:150px;height:150px;border:28px solid rgba(223,243,108,.14);border-radius:50%;right:-55px;top:-60px}.hero p{margin:0 0 7px;color:#b7c6bf;font-size:13px}.hero h2{margin:0 0 25px;font-size:clamp(24px,6vw,38px);letter-spacing:-.04em}.add-button,.primary{border:0;border-radius:14px;background:var(--lime);color:var(--ink);font-weight:800;padding:13px 18px;cursor:pointer}.add-button span{font-size:20px}.tabs{display:flex;gap:3px;overflow:auto;margin:25px 0 15px;padding-bottom:3px}.tabs button{white-space:nowrap;border:0;background:transparent;color:var(--muted);padding:10px 13px;font-weight:700;border-radius:11px;cursor:pointer}.tabs button.active{background:white;color:var(--ink);box-shadow:0 3px 12px rgba(16,35,27,.08)}.list{display:grid;gap:11px}.card{background:var(--card);border:1px solid rgba(16,35,27,.09);border-radius:18px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.time-badge{width:54px;height:54px;border-radius:15px;background:#e9eddf;display:grid;place-items:center;text-align:center;font-size:11px;color:var(--muted)}.time-badge strong{display:block;color:var(--ink);font-size:16px}.card h3{margin:0 0 5px;font-size:16px}.card p{margin:0;color:var(--muted);font-size:13px}.pill{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:100px;background:#edf5e4;color:var(--green);font-size:11px;font-weight:800}.actions{display:flex;gap:5px}.actions button{border:0;background:transparent;padding:7px;cursor:pointer;color:var(--muted)}.empty{text-align:center;padding:55px 20px;color:var(--muted);background:rgba(255,255,255,.45);border-radius:18px}.settings{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;background:white;padding:14px;margin-bottom:16px;border-radius:16px;box-shadow:var(--shadow)}label{display:grid;gap:7px;font-weight:700;font-size:13px}input,textarea,select{width:100%;border:1px solid var(--line);background:white;border-radius:11px;padding:12px;color:var(--ink)}.notice{margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff4d8;color:#6c5110;font-size:13px}.hidden{display:none!important}dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:24px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(8,24,17,.64);backdrop-filter:blur(4px)}dialog form{display:grid;gap:16px;padding:24px}.dialog-head{display:flex;align-items:center}.dialog-head h2{margin:3px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.dialog-actions button{padding:12px 18px;border-radius:12px;border:1px solid var(--line);font-weight:800;cursor:pointer}.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday-grid label{place-items:center;background:#eef1eb;padding:8px 2px;border-radius:8px}.weekday-grid input{width:auto}@media(max-width:620px){.shell{padding:17px 14px 70px}.settings{grid-template-columns:1fr}.hero{padding:23px}.card{grid-template-columns:auto 1fr}.actions{grid-column:2}.tabs{margin-inline:-5px}.tabs button{padding-inline:10px}}
.button-link{text-decoration:none;display:inline-grid;place-items:center}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.info-card,.login-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px}.info-card h3,.login-card h2{margin-top:0}.info-card p,.login-card p{color:var(--muted);line-height:1.65}.login-card form{display:grid;gap:14px}footer{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:30px}footer a{color:var(--muted)}@media(max-width:620px){.info-grid{grid-template-columns:1fr}}
