:root{--ground:#fffdf8;--card:#fff;--ink:#1c1c1a;--sub:#8a8375;--faint:#a09a8c;--wash:#f7f4ec;--accent:#ffb703;--accent-wash:#fdf3dc;--soon-wash:#fdeae0;--soon-ink:#b3541e;--shadow:0 1px 3px #1c1c1a14, 0 4px 14px #1c1c1a0a;--shadow-hover:0 2px 6px #1c1c1a1a, 0 8px 22px #1c1c1a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);margin:0;font-family:system-ui,-apple-system,sans-serif}button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.shell{flex-direction:column;gap:14px;max-width:460px;margin:0 auto;padding:16px 16px 48px;display:flex}.tabs{background:var(--wash);border-radius:12px;gap:4px;padding:4px;display:flex}.tab{text-align:center;color:var(--sub);border-radius:9px;flex:1;padding:8px 0;font-size:14px;transition:color .15s ease-out}.tab.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow);font-weight:500}.view{flex-direction:column;gap:14px;display:flex}.view[hidden]{display:none}.sort-select{font:inherit;color:var(--sub);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px}.window-input{width:52px;font:inherit;background:var(--card);box-shadow:var(--shadow);color:var(--ink);border:0;border-radius:10px;padding:6px 8px;font-size:13px}.card{background:var(--card);box-shadow:var(--shadow);border-radius:14px}.datebar{justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.datebar b{font-size:16px;font-weight:600}.arrowbtn{color:var(--faint);padding:4px 10px;transition:color .14s ease-out}.arrowbtn:hover{color:var(--ink)}.date-label{cursor:pointer;position:relative}.date-input{opacity:0;cursor:pointer;position:absolute;inset:0}.filterbar{color:#6e6858;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:13.5px;display:flex}.edit{color:var(--ink);flex-shrink:0;font-size:13px;font-weight:600}.filterbar.open{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.filter-controls{flex-direction:column;gap:16px;padding:6px 0 2px;display:flex}.filter-row{color:#4d4a42;cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.filter-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.filter-row select{width:auto}.filter-controls select{font:inherit;background:var(--wash);color:var(--ink);border:0;border-radius:10px;padding:9px 10px;font-size:13px}.filter-controls .check select{width:auto}.filter-foot{justify-content:flex-end;display:flex}.check{color:#6e6858;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.check input{accent-color:var(--accent)}.sec-head{justify-content:space-between;align-items:center;gap:8px;padding:4px 2px 0;display:flex}.sec-controls{align-items:center;gap:8px;display:flex}.sec-title{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);margin:0;font-size:12px;font-weight:600}.past-title{padding-top:6px}.day-section{flex-direction:column;gap:8px;display:flex}.spin{background:var(--accent);text-align:center;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;transition:transform .15s cubic-bezier(.23,1,.32,1),box-shadow .15s ease-out;box-shadow:0 2px 8px #ffb70366}.spin:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #ffb70380}.spin:disabled{opacity:.4;cursor:default;box-shadow:none}.tier{flex-direction:column;gap:6px;display:flex}.row{background:var(--card);box-shadow:var(--shadow);border-radius:14px;padding:12px 14px;transition:box-shadow .16s ease-out}.row:hover{box-shadow:var(--shadow-hover)}.row-top{align-items:center;gap:8px;display:flex}.row-name{flex:1;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:500;display:flex}.caret{flex-shrink:0;transition:transform .18s cubic-bezier(.23,1,.32,1);display:inline-block}.row.open .caret{transform:rotate(90deg)}.badge{color:#996b1a;background:var(--accent-wash);border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:500}.badge-soon{background:var(--soon-wash);color:var(--soon-ink)}.badge-done{color:#1f7a4d;background:#e5f4ec}.badge-unknown{background:var(--wash);color:var(--sub)}.mover.check.done{color:#1f7a4d;background:#e5f4ec}.movers{flex-shrink:0;align-items:center;gap:8px;display:flex}.mover{width:28px;height:28px;color:var(--faint);border-radius:10px;place-items:center;font-size:14px;transition:background .14s ease-out,color .14s ease-out;display:grid}.mover:hover{background:var(--accent-wash);color:var(--ink)}.star{font-size:16px}.star.filled{color:var(--accent)}.star.filled:hover{color:var(--soon-ink)}.planned-row{box-shadow:0 0 0 2px var(--accent), var(--shadow)}.detail{color:var(--sub);flex-direction:column;gap:4px;padding:8px 0 2px 20px;font-size:13px;animation:.18s cubic-bezier(.23,1,.32,1) both rise;display:flex}.detail-notes{color:#6e6858}.link-mark{color:var(--faint);flex-shrink:0;font-size:12px}.detail-image-link{margin:2px 0 4px;display:block}.detail-image{object-fit:cover;background:var(--wash);border-radius:10px;width:100%;max-height:160px;display:block}.sitelink{background:var(--accent-wash);color:var(--ink);font-weight:600;text-decoration:none}.sitelink:hover{background:var(--accent)}.actions{flex-wrap:wrap;gap:8px;padding-top:6px;display:flex}.action{color:#6e6858;background:var(--wash);text-align:center;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:500;transition:background .14s ease-out}.action:hover{background:var(--accent-wash)}.action.primary{background:var(--accent);color:var(--ink)}.planned-name{font-weight:500}.planned-actions{gap:8px}.hidden-row{opacity:.75}.empty{color:var(--faint);padding:4px 2px;font-size:13px}.foot{color:var(--faint);justify-content:space-between;gap:12px;padding-top:4px;font-size:12.5px;display:flex}.foot-link{color:#6e6858}.foot-toggle{color:var(--faint);font-size:12.5px}.foot-toggle:hover{color:var(--ink)}.build-stamp{color:var(--faint);text-align:center;padding-top:2px;font-size:11px}.scrapbook-head{padding:4px 2px;font-size:17px;font-weight:600}.badge-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.badge-card{background:var(--card);box-shadow:var(--shadow);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:16px 12px 14px;display:flex}.medal{color:#fff;width:84px;height:84px;box-shadow:0 0 0 3px var(--accent), 0 2px 8px #1c1c1a26;border-radius:50%;place-items:center;font-size:32px;font-weight:700;display:grid;position:relative;overflow:visible}.medal-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.medal-count{text-align:center;background:var(--accent);min-width:26px;color:var(--ink);border:2px solid var(--card);border-radius:999px;padding:4px 9px;font-size:15px;font-weight:800;line-height:1;position:absolute;bottom:-6px;right:-8px;box-shadow:0 2px 6px #1c1c1a47}.medal-large .medal-count{border-width:3px;min-width:40px;padding:6px 13px;font-size:22px;bottom:-8px;right:-10px}.badge-name{font-size:14px;font-weight:600;line-height:1.25}.badge-card{cursor:pointer;transition:box-shadow .16s ease-out}.badge-card:hover{box-shadow:var(--shadow-hover)}.medal-large{width:140px;height:140px;font-size:52px}.badge-panel{gap:10px}.date-list{flex-direction:column;align-self:stretch;gap:8px;display:flex}.date-row{justify-content:center;align-items:center;gap:8px;display:flex}.date-label{color:var(--sub);font-size:13px}.date-edit{font:inherit;background:var(--wash);color:var(--ink);border:0;border-radius:10px;padding:7px 10px;font-size:13px}.date-remove{color:var(--faint)}.date-remove:hover{color:var(--soon-ink);background:var(--soon-wash)}.badge-date{color:var(--faint);font-size:11.5px}.crash-banner{z-index:100;color:#fff;word-break:break-word;background:#b3271b;padding:10px 14px;font-size:13px;line-height:1.4;position:fixed;top:0;left:0;right:0}.welcome-panel{text-align:left;align-items:flex-start;margin-top:10vh}.welcome-line{color:#4d4a42;margin:0;font-size:14px;line-height:1.45}.welcome-actions{padding-top:8px}.sync-row{color:var(--faint);justify-content:center;align-items:center;gap:10px;padding-top:6px;font-size:12.5px;display:flex}.sync-action{color:#6e6858;text-underline-offset:2px;font-size:12.5px;font-weight:600;text-decoration:underline}.sync-action:hover{color:var(--ink)}.report-row{justify-content:center;gap:16px;padding-top:2px;display:flex}.report-link{color:var(--faint);text-underline-offset:2px;font-size:11.5px;text-decoration:underline}.report-link:hover{color:var(--ink)}.overlay{z-index:10;background:#1c1c1a80;justify-content:center;align-items:flex-start;padding:60px 16px;display:flex;position:fixed;inset:0}.panel{background:var(--card);border-radius:18px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:400px;padding:20px;display:flex;box-shadow:0 12px 40px #1c1c1a40}.panel-title{margin:0;font-size:18px;font-weight:600}.panel-note{color:var(--sub);margin:0;font-size:13px}.wheel-wrap{width:300px;height:300px;position:relative}.wheel-canvas{border-radius:50%;width:300px;height:300px}.wheel-canvas.spinning{transition:transform 4.2s cubic-bezier(.12,.8,.16,1)}.pointer{border-left:11px solid #0000;border-right:11px solid #0000;border-top:16px solid var(--ink);width:0;height:0;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.result-slot{align-self:stretch}.result{background:var(--ground);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;animation:.2s cubic-bezier(.23,1,.32,1) both rise;display:flex}.result-name{font-size:16px;font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.detail,.result{animation:none}.caret,.spin,.row,.mover,.action,.tab,.arrowbtn{transition:none}}
