
:root{font-family:ui-rounded,system-ui,-apple-system,"Segoe UI",sans-serif;color:#2d3047;background:#fff8ee;--ink:#2d3047;--pink:#ec6386;--purple:#6954b8;--cream:#fff8ee;--mint:#e5f7ed}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 7%,#ffe5ac 0,transparent 27%),radial-gradient(circle at 5% 48%,#ffdfed 0,transparent 34%),var(--cream);min-height:100vh}header{background:linear-gradient(120deg,#8053bb,#eb668a 75%,#f4a75b);color:white;padding:28px 18px 35px;border-radius:0 0 30px 30px}header div,main{max-width:850px;margin:auto}h1{margin:0;font-size:clamp(1.55rem,5vw,2.25rem);letter-spacing:-.03em}header p{margin:8px 0 0;font-size:1rem;opacity:.96}main{padding:18px 14px 65px}.card{background:#fff;border:1px solid #f0dfdc;border-radius:23px;padding:20px;margin:0 0 16px;box-shadow:0 8px 22px #5d416112}h2{font-size:1.22rem;margin:0 0 13px}h3{font-size:1.06rem;margin:0 0 6px}p{line-height:1.5;margin:7px 0 12px}.soft,.mini{color:#625f72}.mini{font-size:.93rem}.security{background:#f0fff6;border:1px solid #cceedd;padding:15px 17px}.security p{margin:0;font-size:.97rem;line-height:1.6}.security strong{color:#234a38}.warning{background:#fff2dc;border-color:#f9dfab}.pill{background:#f4ecff;color:#5d459c;border-radius:99px;font-weight:750;font-size:.88rem;padding:6px 10px;white-space:nowrap}.grid{display:grid;gap:12px}.service{border:2px solid #eee1f4;background:#fff;border-radius:19px;padding:16px;display:flex;flex-direction:column;gap:4px}.service.is-mine{border-color:#71bf98;background:#f2fff6}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.progress{height:9px;background:#eee9f5;border-radius:20px;overflow:hidden;margin:10px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,#6f63ce,#e66c9d)}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0 20px}button{background:linear-gradient(120deg,#7354be,#d75b93);border:0;color:white;border-radius:14px;font:inherit;font-weight:750;padding:14px 16px;cursor:pointer;min-height:48px;transition:transform .1s ease}button:active{transform:scale(.98)}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffb14d;outline-offset:3px}button:disabled{opacity:.46;cursor:not-allowed}button.secondary{background:#f1eafd;color:#543e91}.tabs button{padding:12px 6px;min-width:0;font-size:.95rem}button.active{background:#6751b4;outline:2px solid #c9baf0}.outline{background:#f5eefe;color:#6846ad;border:1px solid #bca8e4}.remove{background:#ffedf1;color:#9a3458}.service button{width:100%;margin-top:auto}.service-details{border-top:1px solid #eee7f1;margin:5px 0 10px;padding-top:10px;color:#554e63;font-size:.95rem}.service-details summary{cursor:pointer;font-weight:700;color:#6551a0;padding:4px 0}.service-details p{margin:8px 0 0}label{display:block;font-weight:750;margin:14px 0 9px;font-size:1rem}input{width:100%;padding:15px;border:2px solid #d9c7e9;border-radius:14px;font:inherit;font-size:1.1rem;background:white}ul{margin:8px 0 0;padding-left:20px}li{margin-bottom:5px}.notice{padding:10px 13px;border-radius:12px;background:#fff3db;margin-bottom:15px;color:#69532a;font-size:.92rem}.error{color:#a52f2f}.hidden{display:none!important}.dayhead{margin:22px 0 11px;font-size:1.15rem}.personal{background:#f4edff;padding:16px;border-radius:15px;font-size:1rem}#toast{position:fixed;bottom:15px;left:10px;right:10px;max-width:600px;margin:auto;background:#332849;color:white;padding:15px;border-radius:14px;display:none;box-shadow:0 8px 25px #0004;z-index:99}footer{text-align:center;font-size:.84rem;color:#62566f;padding:15px}.start-button{width:100%;font-size:1.1rem;margin-top:18px;padding:17px 16px}.intro-tag{display:inline-block;background:#fff0f7;color:#9b3767;padding:8px 12px;border-radius:99px;font-size:.9rem;font-weight:750;margin-bottom:10px}.welcome-card{padding:23px}.welcome-card h2{font-size:1.45rem;margin-bottom:5px}.welcome-card .sub{margin:0;color:#6e6176}.profile-line{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.profile-line h2{margin:0}.profile-line button{padding:11px 13px}.tip{border-radius:15px;background:#fff1db;padding:13px 15px;margin-bottom:15px;line-height:1.5;font-size:.96rem}.tip strong{color:#774aa7}.count{font-weight:850;font-size:1.2rem;color:#6450a5}.event-note{font-size:.94rem;color:#6e6176;margin:7px 0 0}.service p.mini{margin:4px 0 8px}.service .top strong{font-size:1rem;max-width:100%}#mine p{background:#f9f5ff;padding:12px;border-radius:12px;margin:7px 0}.hide-on-login{display:none}body:not(.logged-in) footer{font-size:.76rem}@media(min-width:680px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-card{max-width:600px;margin:0 auto 15px}.security{max-width:600px;margin-left:auto;margin-right:auto}.notice{max-width:600px;margin-left:auto;margin-right:auto}}@media(max-width:420px){main{padding:14px 12px 55px}.card{padding:17px;border-radius:19px}.security{padding:14px}header{padding:23px 15px 30px}.profile-line{align-items:start;gap:10px}.profile-line h2{font-size:1.1rem}.profile-line button{font-size:.89rem}.pill{font-size:.82rem}}@media print{header,.tabs,button,#mode,#login,.security,.warning,footer,.tip{display:none!important}.card{box-shadow:none}main{padding:0}}

.help{font-size:1rem}.subtle{color:#57526b}.tag{background:#f4ecff;border-radius:12px;padding:10px}.controls{display:flex;gap:10px;flex-wrap:wrap}.controls button{flex:1}.codebox{overflow-wrap:anywhere;font-family:monospace;background:#f5f0ff;padding:14px;border-radius:12px}#app .card{margin-bottom:18px} .loginrow{display:grid;gap:9px} .notice{font-size:1rem}
