:root{color-scheme:light;--orange: #ffaa00;--ink: #2c2c2c;--date: #67686a;--quiet: #8a8a8a;--holiday: #ff5371;--line: #e0e0e0;--page: #f0f0f0;--great: #b41114;--mid: #005720;--small: #454545;font-family:Noto Sans TC,PingFang HK,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--page);color:var(--ink)}button,input{font:inherit}.page{min-height:100dvh;display:flex;justify-content:center}.column{width:min(100%,640px);height:100dvh;background:#fff;display:flex;flex-direction:column;min-height:0}.column.is-settings{background:var(--page)}@media(min-width:760px){.column{height:calc(100dvh - 32px);margin:16px 0;border:1px solid #e4e4e4;border-radius:18px;overflow:hidden}}#chrome{flex:none;background:#fff}#view{flex:1;min-height:0;overflow:auto;background:#fff}.column.is-settings #view{background:var(--page)}.cal-head,.set-head{display:flex;align-items:center;gap:8px;padding:10px 8px 0 20px}.cal-head h1,.set-head h1{margin:0;color:var(--orange);font-size:22px;font-weight:700;letter-spacing:.01em}.set-head h1{color:var(--ink)}.year{margin:0;color:var(--orange);font-size:14px;font-weight:500}.text-btn{margin-left:auto;border:0;background:none;color:var(--orange);font-size:16px;padding:8px 12px;cursor:pointer}.legend{display:flex;gap:14px;padding:6px 20px 4px}.legend span{display:inline-flex;align-items:center;gap:4px;color:var(--date);font-size:12px}.dot{width:8px;height:8px;border-radius:50%}.dot.great{background:var(--great)}.dot.mid{background:var(--mid)}.dot.small{background:var(--small)}.weekdays,.week{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{padding:4px 4px 2px;color:var(--quiet);font-size:12px;text-align:center}.month-title{margin:0;padding:8px 20px 4px;color:#663;font-size:12px;font-weight:500}.week{height:62px;margin:0 4px;border-bottom:.5px solid var(--line)}.week.first{border-top:.5px solid var(--line)}@container (min-width: 520px){.week{height:72px}}.column{container-type:inline-size}.day,.blank{min-width:0;height:100%}.day{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--date);cursor:pointer}.day:disabled{cursor:default}.day:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}.day .num{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:16px;line-height:1}.day.today .num{background:var(--orange);color:#fff}.day.holiday:not(.today) .num{color:var(--holiday)}.day.dim{opacity:.35}.day .remain{font-size:10px;line-height:1;color:var(--quiet)}.day .remain.great{color:var(--great)}.day .remain.mid{color:var(--mid)}.day .remain.small{color:var(--small)}.spinner{width:28px;height:28px;margin:64px auto;border:3px solid #ffe0a3;border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}.settings{display:flex;flex-direction:column;gap:12px;padding:8px 16px 24px}.card{background:#fff;border-radius:12px}.stepper,.switch-row{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 16px}.stepper>span:first-child,.switch-row>span,.block-label{font-size:16px}.stepper>span:first-child{flex:1;min-width:0}.stepper .value{width:84px;text-align:center;font-size:15px}.step{width:32px;height:32px;border:0;background:none;color:var(--orange);font-size:24px;line-height:1;cursor:pointer}.step:disabled{opacity:.35;cursor:default}.block{padding:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{border:0;border-radius:20px;background:var(--page);color:var(--orange);padding:6px 16px;cursor:pointer}.chip[aria-pressed=true]{background:var(--orange);color:#fff}.switch{margin-left:auto;width:48px;height:28px;border:0;border-radius:14px;background:#d0d0d0;position:relative;cursor:pointer;flex:none}.switch[aria-checked=true]{background:var(--orange)}.switch:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .15s ease}.switch[aria-checked=true]:after{transform:translate(20px)}.info{width:22px;height:22px;margin-left:2px;border:0;border-radius:50%;background:transparent;color:var(--quiet);cursor:pointer;font-size:14px}.note{margin:0;color:#555;font-size:13px;line-height:1.45}.status{margin:8px 0 0;color:var(--orange);font-size:13px}.link-btn,.dev-link{display:inline-flex;color:var(--orange);background:none;border:0;padding:8px 0 0;font-size:15px;text-decoration:none;cursor:pointer}.dev-link{color:#333;padding:16px}.ad-slot{flex:none;background:#fff;border-top:1px solid #eee;min-height:50px;padding-bottom:env(safe-area-inset-bottom)}.ad-slot[hidden]{display:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;overflow:auto;background:#0000008c;display:grid;place-items:center;padding:18px 22px}.overlay[hidden]{display:none!important}.fortune-wrap{width:min(100%,420px)}.fortune-card{border-radius:3px;overflow:hidden;text-align:center;animation:pop .45s cubic-bezier(.2,.8,.2,1)}.fortune-card .quit,.fortune-card .notice{margin:0;color:#fff}.fortune-card .quit{padding-top:12px;font-size:14px}.fortune-card .notice{padding-top:4px;font-size:12px}.art{position:relative;width:calc(100% - 30px);margin:6px auto 0;aspect-ratio:1}.art img{position:absolute;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.light1{top:0;right:0;bottom:0;left:0;width:100%;height:100%;animation:spin 40s linear infinite}.c1{left:10.9%;top:2.7%;width:34.8%;height:28%}.c2{left:59.4%;top:71%;width:35.5%;height:28%}.c3{left:1%;top:33.8%;width:32.4%;height:11.9%}.c4{left:64.9%;top:29.2%;width:34.8%;height:28%}.medal{position:absolute;top:6.5%;right:6.5%;bottom:6.5%;left:6.5%}.medal .big,.medal .light2{top:0;right:0;bottom:0;left:0;width:100%;height:100%}.medal .small{top:4.7%;right:4.7%;bottom:4.7%;left:4.7%;width:90.6%;height:90.6%}.medal .light2{animation:spin 40s linear infinite}.art img.seal{top:6.5%;right:6.5%;bottom:6.5%;left:6.5%;width:87%;height:87%;object-fit:cover;object-position:center;border-radius:50%}.stamp{left:17.4%;top:50%;height:28%;width:calc(28% * 19 / 82);object-fit:contain}.panel{background:#fff;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%);padding:calc(12% + 8px) 24px 16px}.remain-row{margin:0;color:var(--accent, var(--great));font-size:16px}.remain-row strong{font-size:40px;font-weight:700;padding:0 2px;line-height:1}.rule{height:2px;margin:4px 6px 0;background:var(--accent, var(--great))}.panel .body{margin:8px 4px 0;color:#111;font-size:12px;line-height:1.45;white-space:pre-line}.fortune-actions{display:flex;justify-content:space-evenly;padding-top:8px}.fortune-actions button{border:0;background:none;color:#fff;font-size:16px;padding:10px 16px;cursor:pointer}dialog{border:0;border-radius:12px;padding:20px 20px 12px;max-width:min(360px,calc(100vw - 32px));color:var(--ink)}dialog::backdrop{background:#00000073}dialog h2{margin:0 0 8px;font-size:18px}dialog p{margin:0;font-size:15px;line-height:1.5}dialog button{margin-top:12px;margin-left:auto;display:block;border:0;background:none;color:var(--orange);font-size:16px;cursor:pointer}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:30;background:#222;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px}.toast[hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(.08)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.light1,.light2,.spinner,.fortune-card{animation:none}.switch:after{transition:none}}
