:root{--bg: #0b0f14;--panel: #141a22;--panel-2: #1b232e;--line: #263241;--text: #e8edf3;--muted: #8b98a8;--danger: #fb7185;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}[x-cloak]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + 10px) 16px 10px}.brand{font-weight:700;letter-spacing:.3px;font-size:17px;display:flex;align-items:center;gap:6px}.brand-emoji{font-size:19px}.topbar-right{display:flex;align-items:center;gap:12px}.icon-btn{background:none;border:none;color:var(--text);font-size:20px;padding:4px 8px;cursor:pointer;border-radius:8px}.icon-btn:active{background:var(--panel)}.sync-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);display:inline-block}.sync-ok{background:#34d399}.sync-syncing{background:#fbbf24}.sync-offline,.sync-error{background:var(--danger)}.carousel{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.tile{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:24px}.tile-inner{width:100%;max-width:460px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.tile-title{font-size:20px;font-weight:600;color:var(--text);opacity:.9}.big-number{font-size:clamp(40px,13vw,76px);font-weight:800;letter-spacing:-1px;background:none;border:none;color:inherit;cursor:pointer;font-variant-numeric:tabular-nums;line-height:1.05;padding:4px 8px;max-width:100%;white-space:nowrap}.tile-sub{font-size:13px;color:var(--muted);text-transform:lowercase}.tile-meta{font-size:13px;color:var(--muted);margin-top:4px}.edit-btn{margin-top:16px;background:#ffffff14;border:1px solid var(--line);color:var(--text);padding:8px 18px;border-radius:999px;font-size:14px;cursor:pointer}.segments{display:flex;gap:14px;justify-content:center}.seg{min-width:58px}.seg-val{font-size:clamp(34px,11vw,60px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.seg-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px}.celebrate .big-number{cursor:default}.add-tile .tile-inner{gap:16px}.add-title{font-size:18px;color:var(--muted);margin-bottom:4px}.add-choice{width:100%;max-width:320px;padding:16px;border-radius:16px;border:1px dashed var(--line);background:var(--panel);color:var(--text);font-size:16px;cursor:pointer}.add-choice:active{background:var(--panel-2)}.dots{display:flex;gap:7px;justify-content:center;padding:12px 0 calc(var(--safe-bottom) + 12px)}.dot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .2s,transform .2s}.dot.on{background:var(--text);transform:scale(1.25)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:50}.sheet{width:100%;max-width:520px;max-height:92dvh;overflow-y:auto;background:var(--panel);border-radius:20px 20px 0 0;padding:18px 18px calc(var(--safe-bottom) + 22px);border-top:1px solid var(--line)}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sheet-head h2{margin:0;font-size:18px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:13px;color:var(--muted)}.field.grow{flex:1}.row{display:flex;gap:12px;align-items:flex-end}.grow{flex:1}input,select{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;font-size:16px;width:100%}input:focus,select:focus{outline:2px solid #38bdf8aa;outline-offset:0}.segmented{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.segmented button{flex:1;background:var(--panel-2);border:none;color:var(--muted);padding:11px;font-size:14px;cursor:pointer}.segmented button.on{background:#38bdf8;color:#06121c;font-weight:600}.weekdays{display:flex;gap:6px;margin-bottom:12px}.wd{flex:1;aspect-ratio:1;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:14px;cursor:pointer}.wd.on{background:#34d399;color:#05231a;font-weight:700;border-color:transparent}.schedule{margin-bottom:14px}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer}.swatch.on{border-color:var(--text);transform:scale(1.1)}.sheet-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.btn-primary,.btn-ghost,.btn-danger{border-radius:10px;padding:11px 16px;font-size:15px;cursor:pointer;border:1px solid var(--line)}.btn-primary{background:#38bdf8;color:#06121c;border-color:transparent;font-weight:600;margin-left:auto}.btn-primary.wide{width:100%;margin:0}.btn-ghost{background:var(--panel-2);color:var(--text)}.btn-ghost.sm{padding:6px 10px;font-size:13px}.btn-danger{background:transparent;color:var(--danger);border-color:#4a2530}.settings-block{border-top:1px solid var(--line);padding:16px 0}.settings-block h3{margin:0 0 8px;font-size:15px}.muted{color:var(--muted)}.small{font-size:12px}.or{text-align:center;color:var(--muted);font-size:13px;margin:12px 0}.code-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.code-row code{background:var(--panel-2);padding:8px 10px;border-radius:8px;font-size:13px;flex:1;overflow-x:auto}.update-banner{background:#38bdf8;color:#06121c;padding:calc(var(--safe-top) + 8px) 16px 8px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px}.update-banner button{background:#06121c;color:#fff;border:none;border-radius:8px;padding:6px 12px;cursor:pointer}.toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 80px);transform:translate(-50%);background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:10px 16px;border-radius:999px;font-size:14px;z-index:60;max-width:90%;text-align:center}
