@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@300;400;500;600&display=swap";:root{--bg: #2b2a28;--bg-card: rgba(255, 248, 240, .04);--panel-bg: rgba(34, 33, 31, .88);--panel-bg-strong: rgba(34, 33, 31, .94);--bg-hover: rgba(255, 248, 240, .075);--border: rgba(255, 245, 235, .08);--border-hover: rgba(255, 245, 235, .16);--text: #f0e9dc;--text-dim: #b2aa9e;--text-muted: #80786d;--accent: #6366f1;--danger: #e5484d;--radius: 10px;--mono: "IBM Plex Mono", monospace;--sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--btn-bg: #f0e9dc;--btn-text: #2b2a28}.light-theme{--bg: #f5f5ed;--bg-card: rgba(0, 0, 0, .03);--panel-bg: rgba(245, 241, 232, .9);--panel-bg-strong: rgba(245, 241, 232, .96);--bg-hover: rgba(0, 0, 0, .06);--border: rgba(0, 0, 0, .08);--border-hover: rgba(0, 0, 0, .15);--text: #2b2b2b;--text-dim: #555;--text-muted: #888;--accent: #a1b9ed;--btn-bg: #2b2b2b;--btn-text: #f5f5ed}.light-theme .hm-cell{background:#0000000a;border-color:#00000014}.light-theme .hm-cell:hover{border-color:#0000004d!important}.light-theme .hm-tooltip{background:#fffffffa;border-color:#0000001a;box-shadow:0 4px 12px #0000001a}.light-theme .hm-tooltip-dur{color:var(--text)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .22s ease,color .22s ease}body.world-theme-heatmap{background:var(--bg)}body.world-theme-clock{background:radial-gradient(circle at top,rgba(255,241,224,.16),transparent 36%),linear-gradient(180deg,#ecd9c7,#e5cfbc)}body.world-theme-circle{background:radial-gradient(circle at 50% 18%,rgba(240,233,220,.08),transparent 28%),radial-gradient(circle at top,rgba(118,104,88,.18),transparent 42%),linear-gradient(180deg,#2b2a28,#262523)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px 20px 40px;gap:28px}.login-card{background:#ffffff05;border:1px solid var(--border);border-radius:16px;padding:44px 36px;width:100%;max-width:380px}.login-card h1{font-family:var(--sans);font-size:2rem;font-weight:600;text-align:center;margin-bottom:4px;color:var(--text)}.login-card .subtitle{text-align:center;color:var(--text-dim);font-size:.85rem;margin-bottom:32px}.claim-alert{display:grid;gap:6px;margin-bottom:20px;padding:14px 16px;border-radius:12px;background:#ffffff0a;border:1px solid var(--border);color:var(--text);text-align:left}.claim-alert strong{font-size:.86rem;font-weight:600;color:var(--text)}.claim-alert span{font-size:.8rem;line-height:1.45;color:var(--text-dim)}.form-group{margin-bottom:18px}.form-group label{display:block;color:var(--text-dim);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.form-group input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.9rem;outline:none;transition:border-color .2s}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--accent)}.btn-primary{width:100%;padding:12px;background:var(--btn-bg);color:var(--btn-text);border:none;border-radius:8px;font-family:var(--sans);font-size:.9rem;font-weight:600;cursor:pointer;margin-top:6px}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.4;cursor:default}.login-link{text-align:center;margin-top:20px;color:var(--text-dim);font-size:.82rem}.login-link a{color:#fff;text-decoration:none;font-weight:500}.pro-lock-overlay{position:fixed;inset:0;background:#0f0f148c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1200;animation:proLockFadeIn .18s ease-out}.pro-lock-card{width:min(760px,100%);background:#ffffff05;border:1px solid var(--border);border-radius:16px;padding:20px;text-align:center;transform-origin:center;animation:proLockPopIn .18s ease-out}.pro-lock-media{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.pro-lock-video-wrap{border-radius:14px;overflow:hidden;background:#00000059;transition:transform .18s ease,box-shadow .18s ease;transform:translateZ(0)}.pro-lock-video-wrap:hover{transform:scale(1.06);box-shadow:0 18px 36px #00000052;z-index:2;position:relative}.pro-lock-media video{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;opacity:.96;cursor:pointer}.pro-lock-card h2{font-size:1.2rem;font-weight:600;margin-bottom:8px;color:var(--text)}.pro-lock-card p{color:var(--text-dim);font-size:.85rem;margin-bottom:18px}.pro-lock-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pro-lock-actions .btn-primary{margin-top:0;padding:10px 12px;font-size:.82rem}@keyframes proLockFadeIn{0%{opacity:0}to{opacity:1}}@keyframes proLockPopIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.error-msg{color:var(--danger);text-align:center;margin-top:14px;font-size:.82rem}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;flex-direction:column;gap:14px}.auth-loading .spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--text-dim);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-loading p{color:var(--text-muted);font-family:var(--mono);font-size:.8rem}.app-container{position:relative;min-height:100vh;padding:32px 24px}.sidebar-toggle,.worlds-toggle,.leaderboard-toggle,.changelog-toggle,.worlds-panel,.sidebar,.main-panel>:not(.timer-bar-section){transition:opacity .26s ease,transform .26s ease,filter .26s ease}.app-container.session-focus-hidden .sidebar-toggle,.app-container.session-focus-hidden .worlds-toggle,.app-container.session-focus-hidden .leaderboard-toggle,.app-container.session-focus-hidden .changelog-toggle,.app-container.session-focus-hidden .worlds-panel,.app-container.session-focus-hidden .sidebar,.app-container.session-focus-hidden .main-panel>:not(.timer-bar-section){opacity:0;pointer-events:none;filter:blur(6px)}.app-container.session-focus-hidden .sidebar-toggle{transform:translate(-14px)}.app-container.session-focus-hidden .worlds-toggle,.app-container.session-focus-hidden .leaderboard-toggle,.app-container.session-focus-hidden .changelog-toggle{transform:translateY(-12px)}.app-container.session-focus-hidden .sidebar{transform:translate(-18px)}.app-container.session-focus-hidden .main-panel>:not(.timer-bar-section){transform:translateY(14px)}.sidebar{position:fixed;top:32px;left:24px;width:220px;display:flex;flex-direction:column;gap:18px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--panel-bg);-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);box-shadow:0 18px 36px #0000002e;z-index:20;transform:translate(0);opacity:1;transition:transform .26s ease,opacity .22s ease,border-color .22s ease}.sidebar.closed{transform:translate(calc(-100% - 24px));opacity:0;pointer-events:none}.sidebar-toggle{position:fixed;top:40px;left:256px;width:40px;height:40px;border:1px solid var(--border);border-radius:999px;background:#2b2a28eb;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:left .26s ease,background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.sidebar-toggle:hover{background:#363532fa;border-color:var(--border-hover)}.sidebar-toggle:active{transform:scale(.96)}.sidebar-toggle.is-closed{left:24px}.sidebar-toggle svg{width:16px;height:16px;fill:currentColor}.worlds-toggle{position:fixed;top:40px;right:24px;width:40px;height:40px;border:1px solid var(--border);border-radius:999px;background:#2b2a28eb;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.worlds-toggle:hover,.worlds-toggle.is-open{background:#363532fa;border-color:var(--border-hover)}.worlds-toggle:active{transform:scale(.96)}.worlds-toggle svg{width:17px;height:17px;fill:currentColor}.leaderboard-toggle{position:fixed;right:24px;bottom:34px;width:42px;height:42px;border:1px solid var(--border);border-radius:999px;background:#2b2a28eb;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .18s ease,border-color .18s ease,transform .18s ease}.leaderboard-toggle:hover,.leaderboard-toggle.is-open{background:#363532fa;border-color:var(--border-hover)}.leaderboard-toggle:active{transform:scale(.96)}.leaderboard-toggle svg{width:18px;height:18px;fill:currentColor}.changelog-toggle{position:fixed;left:24px;bottom:34px;width:42px;height:42px;border:1px solid var(--border);border-radius:999px;background:#2b2a28eb;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .18s ease,border-color .18s ease,transform .18s ease}.changelog-toggle:hover,.changelog-toggle.is-open{background:#363532fa;border-color:var(--border-hover)}.changelog-toggle:active{transform:scale(.96)}.changelog-toggle svg{width:18px;height:18px;fill:currentColor}.worlds-panel{position:fixed;top:88px;right:24px;width:220px;display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--panel-bg);-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);z-index:24;box-shadow:0 18px 36px #0000002e}.leaderboard-window{width:min(420px,calc(100vw - 32px))}.leaderboard-body{padding:18px}.leaderboard-header h2{font-size:1.05rem;font-weight:600}.leaderboard-header p{margin-top:2px;color:var(--text-muted);font-size:.78rem}.leaderboard-shell{display:flex;flex-direction:column;gap:12px}.leaderboard-list{display:flex;flex-direction:column;gap:10px}.leaderboard-row{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:#fff8f008}.leaderboard-row.is-current{border-color:#f0e9dc2e;background:#fff8f00d}.leaderboard-rank{width:28px;flex:0 0 28px;color:var(--text-muted);font-family:var(--mono);font-size:.82rem;text-align:center}.leaderboard-main{flex:1;min-width:0}.leaderboard-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.leaderboard-line strong{color:var(--text);font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-line span{color:var(--text-dim);font-family:var(--mono);font-size:.74rem;flex:0 0 auto}.leaderboard-bar{height:7px;border-radius:999px;background:#fff8f00f;overflow:hidden}.leaderboard-bar span{display:block;height:100%;border-radius:999px;background:#f0e9dce0}.leaderboard-empty{padding:20px 8px;color:var(--text-dim);text-align:center}.clock-view{width:100%;display:flex;justify-content:center;margin-top:22px;margin-bottom:10px}.flip-clock-shell{width:min(100%,560px);padding:24px 10px 8px;display:flex;justify-content:center}.flip-clock-core{position:relative;display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 30%),linear-gradient(180deg,#111,#030303);box-shadow:inset 0 0 0 1px #ffffff0d,0 18px 32px #0000003d}.flip-clock-group{position:relative;display:flex;align-items:center;gap:8px}.flip-clock-gap{width:8px}.flip-digit{position:relative;width:74px;height:94px;border-radius:4px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 32%),linear-gradient(180deg,#232323,#121212 48%,#191919);box-shadow:inset 0 1px #ffffff0d,inset 0 -1px #00000073}.flip-digit-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#f7ede2;font-family:var(--sans);font-size:3.55rem;font-weight:400;line-height:1;letter-spacing:-.06em;text-shadow:0 1px 0 rgba(255,255,255,.04)}.flip-digit-divider{position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;background:#0000008c;box-shadow:0 1px #ffffff14}.circle-timer-view{width:100%;display:flex;justify-content:center;margin-top:28px;margin-bottom:6px}.circle-timer-shell{position:relative;width:min(100%,520px);aspect-ratio:1;display:grid;place-items:center;padding:28px}.circle-timer-shell:before{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,rgba(255,248,240,.04) 0%,rgba(255,248,240,.015) 52%,transparent 72%);filter:blur(10px);pointer-events:none}.circle-timer-ring{position:relative;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.circle-timer-track,.circle-timer-progress{fill:none;stroke-linecap:round}.circle-timer-track{stroke:#fff8f014;stroke-width:14}.circle-timer-progress{stroke:#f0e9dc;stroke-width:14;transition:stroke-dashoffset .4s ease,stroke .22s ease;filter:drop-shadow(0 0 10px rgba(240,233,220,.18))}.circle-timer-center{position:absolute;inset:23%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at top,rgba(255,248,240,.06),transparent 58%),#181715b8;border:1px solid rgba(255,248,240,.08);box-shadow:inset 0 1px #ffffff0a,0 18px 36px #0000002e;-webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%)}.circle-timer-time{color:var(--text);font-family:var(--mono);font-size:clamp(2.6rem,7vw,4.75rem);font-weight:400;letter-spacing:-.06em;line-height:1;-webkit-user-select:none;user-select:none}.world-option{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text-dim);font-family:var(--sans);font-size:.95rem;font-weight:500;text-align:left;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.world-option:hover{color:var(--text);background:var(--bg-hover);border-color:var(--border)}.world-option svg{width:16px;height:16px;flex:0 0 16px;fill:currentColor}.world-option span{display:block}.world-option.active{color:var(--text);background:var(--bg-hover);border-color:var(--border-hover)}.sidebar-group{display:flex;flex-direction:column;gap:8px}.sidebar-group-bottom{margin-top:auto}.sidebar-btn{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text-dim);font-family:var(--sans);font-size:.95rem;font-weight:500;text-align:left;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.sidebar-btn:hover{color:var(--text);background:var(--bg-hover);border-color:var(--border)}.sidebar-btn svg{width:16px;height:16px;flex:0 0 16px;fill:currentColor}.sidebar-badge-new{margin-left:auto;padding:2px 7px;border:1px solid rgba(74,222,128,.28);border-radius:999px;background:#22c55e24;color:#86efac;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.08em;line-height:1.2}.sidebar-btn.active{color:var(--text);background:var(--bg-hover);border-color:var(--border-hover)}.sidebar-btn.is-locked{opacity:.42}.sidebar-btn.is-locked:hover{opacity:.62}.btn-secondary{width:100%;padding:12px;background:#ffffff0a;color:var(--text);border:1px solid var(--border);border-radius:8px;font-family:var(--sans);font-size:.9rem;font-weight:600;cursor:pointer}.btn-secondary:hover{border-color:var(--border-hover);background:#ffffff12}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pricing-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:#ffffff06;color:var(--text);cursor:pointer;transition:border-color .18s ease,background .18s ease;text-align:left}.pricing-card:hover{border-color:var(--border-hover);background:#ffffff09}.pricing-card-featured{background:#ffffff0a;border-color:var(--border-hover)}.pricing-card-label{color:var(--text-dim);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.pricing-card strong{font-size:.95rem;font-weight:600}.pricing-card small{color:var(--text-dim);font-size:.72rem;line-height:1.3}.main-panel{width:min(100%,960px);margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 64px)}.timer-bar-section{width:min(100%,760px);margin-top:60px;min-height:96px;display:flex;justify-content:center;align-items:flex-start}.timer-section{text-align:center;margin-bottom:36px;width:min(100%,760px)}.timer-mode-badge{display:inline-block;padding:4px 12px;color:var(--text-muted);font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.timer-mode-badge-button{border:none;background:transparent;cursor:pointer}.timer-mode-badge-button:hover{color:var(--text-dim)}.timer-bar{display:flex;align-items:center;gap:16px;width:100%;min-height:62px;padding:12px 14px;border:1px solid rgba(255,245,235,.08);border-radius:14px;background:var(--panel-bg);-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);box-shadow:0 18px 36px #0000002e}.timer-display{font-family:var(--mono);font-size:5.5rem;font-weight:300;letter-spacing:-.03em;line-height:1;margin-bottom:28px;-webkit-user-select:none;user-select:none;color:var(--text)}.timer-bar-display{margin-bottom:0;flex:0 0 auto;font-size:clamp(1.55rem,3vw,2.2rem);text-align:left;letter-spacing:-.03em}.timer-display.editable{cursor:ns-resize;transition:color .18s ease,transform .18s ease,opacity .18s ease}.timer-display.editable:hover{color:var(--text-bright);transform:translateY(-1px)}.timer-bar-display:not(.editable){cursor:zoom-in}.timer-duration-editor{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(255,245,235,.12);border-radius:12px;background:#fff8f00d;box-shadow:inset 0 1px #ffffff08}.timer-duration-editor-bar{flex:0 0 auto}.timer-duration-editor span{font-family:var(--mono);font-size:1rem;color:var(--text-muted)}.timer-duration-editor input{width:72px;padding:8px 10px;border:1px solid rgba(255,245,235,.12);border-radius:10px;background:#0c0c1052;color:var(--text);font-family:var(--mono);font-size:1rem;outline:none;appearance:textfield}.timer-duration-editor input::-webkit-outer-spin-button,.timer-duration-editor input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.timer-duration-editor input:focus{border-color:#fff8f042;box-shadow:0 0 0 3px #fff8f00f}.timer-duration-editor button{padding:8px 14px;border:1px solid rgba(255,245,235,.12);border-radius:10px;background:#fff8f017;color:var(--text);font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.timer-duration-editor button:hover{transform:translateY(-1px);background:#fff8f024;border-color:#fff5eb2e}.timer-display.paused{animation:blink 2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.progress-track{width:280px;height:4px;background:#fff8f012;border-radius:999px;margin:0 auto 32px;overflow:hidden}.timer-bar-progress{flex:1;width:auto;margin:0}.progress-fill{height:100%;background:#f0e9dce0;border-radius:999px;transition:width 1s linear}.timer-fullscreen-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(255,248,240,.1),transparent 36%),#07080cf0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.timer-fullscreen-shell{width:min(100%,1100px);min-height:min(78vh,780px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;position:relative;text-align:center}.timer-fullscreen-close{position:absolute;top:0;right:0;width:52px;height:52px;border:1px solid rgba(255,245,235,.12);border-radius:999px;background:#fff8f00f;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.timer-fullscreen-close svg{width:20px;height:20px;fill:currentColor}.timer-fullscreen-close:hover{transform:scale(1.04);background:#fff8f01f;border-color:#fff5eb2e}.timer-fullscreen-mode{padding:7px 14px;border:1px solid rgba(255,245,235,.12);border-radius:999px;color:var(--text-muted);font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.timer-fullscreen-display{margin-bottom:0;font-size:clamp(6rem,18vw,13rem);line-height:.92;letter-spacing:-.08em}.timer-fullscreen-progress{width:min(620px,82vw);height:8px;margin:0;background:#fff8f017}.timer-fullscreen-actions{display:flex;justify-content:center}.controls{display:flex;align-items:center;gap:10px;margin-bottom:0}.ctrl-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.ctrl-btn:hover{border-color:var(--border-hover);background:var(--bg-hover)}.ctrl-btn:active{transform:scale(.94)}.ctrl-btn svg{width:18px;height:18px;fill:currentColor}.ctrl-btn.play-btn{width:44px;height:44px;background:var(--btn-bg);color:var(--btn-text);border:none}.ctrl-btn.play-btn:hover{opacity:.85}.ctrl-btn.play-btn svg{width:18px;height:18px}.ctrl-btn.play-btn.has-label{width:auto;min-width:44px;padding:0 16px 0 14px;border-radius:999px;gap:8px}.ctrl-btn.play-btn.has-label span{font-family:var(--mono);font-size:.78rem;letter-spacing:.02em;white-space:nowrap}.ctrl-btn.stop-btn{border-color:#e5484d66;color:var(--danger)}.ctrl-btn.stop-btn:hover{background:#e5484d14}.timer-bar-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}.timer-bar .controls{padding-left:2px}.timer-bar-shell{width:100%;max-width:760px;will-change:transform}.timer-bar-shell.draggable{position:relative;cursor:default}.timer-bar-grip{display:inline-flex;align-items:center;gap:4px;padding:6px 4px;cursor:grab;color:var(--text-muted)}.timer-bar-grip:active{cursor:grabbing}.timer-bar-grip span{width:4px;height:4px;border-radius:999px;background:currentColor;opacity:.75}.timer-bar-collapse{width:32px;height:32px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.timer-bar-collapse:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border)}.timer-bar-collapse svg,.timer-pill svg{width:14px;height:14px;fill:currentColor}.timer-pill{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 14px;border:1px solid rgba(255,245,235,.08);border-radius:999px;background:var(--panel-bg-strong);-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);color:var(--text);font-family:var(--mono);font-size:.95rem;cursor:pointer;box-shadow:0 18px 36px #0000002e}.timer-pill:hover{border-color:var(--border-hover);background:#fff8f00b}.tool-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:400px}.tool-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-dim);font-family:var(--mono);font-size:.75rem;cursor:pointer;transition:color .2s,border-color .2s}.tool-btn:hover{border-color:var(--border-hover);color:var(--text)}.tool-btn svg{width:14px;height:14px;fill:currentColor}.tool-btn.active{border-color:var(--text-dim);color:var(--text)}@media(max-width:980px){.app-container{padding:24px 16px 40px}.sidebar{top:20px;left:16px;max-width:calc(100vw - 32px)}.main-panel{min-height:auto;width:100%;padding-top:52px}.timer-bar{flex-wrap:wrap;justify-content:center}.timer-bar-display{width:100%;text-align:center}.timer-duration-editor-bar{width:100%;justify-content:center;flex-wrap:wrap}.timer-bar-progress{width:100%;flex-basis:100%}.sidebar-toggle{top:28px;left:248px}.sidebar-toggle.is-closed{left:16px}.worlds-toggle{top:28px;right:16px}.worlds-panel{top:76px;right:16px;width:min(220px,calc(100vw - 32px))}.flip-digit{width:56px;height:76px}.flip-digit-face{font-size:2.65rem}}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg);border:1px solid var(--border);border-radius:14px;width:100%;max-width:460px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 14px;border-bottom:1px solid var(--border)}.modal-header h2{font-family:var(--sans);font-size:1rem;font-weight:600}.close-btn{width:28px;height:28px;border:none;border-radius:6px;background:#ffffff0a;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.close-btn:hover{color:var(--text)}.modal-body{padding:20px 24px 24px}.pro-welcome-overlay{z-index:1280;background:radial-gradient(circle at top,#38bdf82e,#000000bf)}.pro-welcome-card{position:relative;width:min(560px,calc(100vw - 32px));padding:24px;border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at top,rgba(255,255,255,.08),transparent 38%),linear-gradient(180deg,#0c0e18fa,#080a12fa);box-shadow:0 30px 100px #00000073;overflow:hidden}.pro-welcome-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.pro-welcome-confetti-piece{position:absolute;top:-18px;border-radius:999px;opacity:.92;animation:confetti-fall linear infinite}.pro-welcome-media{position:relative;margin-bottom:18px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#ffffff08}.pro-welcome-media img{display:block;width:100%;height:220px;object-fit:cover}.pro-welcome-copy{text-align:center}.pro-welcome-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--text-dim);font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.pro-welcome-copy h2{margin:0 0 10px;font-size:1.45rem}.pro-welcome-copy p{margin:0;color:var(--text-dim);line-height:1.6}.pro-welcome-actions{display:flex;gap:10px;margin-top:20px}.pro-welcome-actions .btn-primary,.pro-welcome-actions .btn-secondary{flex:1}.pro-tour-overlay{position:fixed;inset:0;z-index:1310;background:#02061742}.pro-tour-spotlight{position:fixed;border-radius:20px;box-shadow:0 0 0 9999px #020617c7,0 0 0 2px #fff3,0 0 40px #38bdf847;pointer-events:none}.pro-tour-panel{position:fixed;width:min(340px,calc(100vw - 32px));padding:18px;border:1px solid var(--border);border-radius:18px;background:radial-gradient(circle at top,rgba(255,255,255,.08),transparent 35%),#090b14fa;box-shadow:0 28px 80px #00000070}.pro-tour-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pro-tour-header span{color:var(--text-dim);font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.pro-tour-panel h3{margin:0 0 8px;font-size:1.05rem}.pro-tour-panel p{margin:0;color:var(--text-dim);line-height:1.55}.pro-tour-hint{display:inline-flex;margin-top:12px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:#ffffff08;color:var(--text);font-size:.74rem}.pro-tour-actions{display:flex;gap:10px;margin-top:18px}.pro-tour-actions .btn-secondary,.pro-tour-actions .btn-primary{flex:1}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}12%{opacity:1}to{transform:translateY(calc(100vh + 80px)) rotate(540deg);opacity:0}}.setting-group{margin-bottom:20px}.setting-group label{display:block;color:var(--text-dim);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.setting-group select,.setting-group input[type=text],.setting-group input[type=number]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--mono);font-size:.85rem;outline:none;appearance:none}.setting-group select:focus,.setting-group input[type=text]:focus,.setting-group input[type=number]:focus{border-color:var(--accent)}.setting-row{display:flex;gap:10px}.setting-row>div{flex:1}.btn-save{width:100%;padding:12px;background:var(--btn-bg);color:var(--btn-text);border:none;border-radius:8px;font-family:var(--sans);font-size:.88rem;font-weight:600;cursor:pointer;margin-top:6px}.btn-save:hover{opacity:.88}.ui-sound-slider-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff06}.ui-sound-slider{width:100%;height:6px;margin:0;-webkit-appearance:none;appearance:none;border-radius:999px;outline:none;cursor:pointer;background:#ffffff1f}.ui-sound-slider:disabled{cursor:default;opacity:.45}.ui-sound-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:transparent}.ui-sound-slider::-moz-range-track{height:6px;border-radius:999px;background:transparent}.ui-sound-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-4px;border:2px solid var(--bg);border-radius:50%;background:var(--text);box-shadow:0 0 0 3px #ffffff14}.ui-sound-slider::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--bg);border-radius:50%;background:var(--text);box-shadow:0 0 0 3px #ffffff14}.ui-sound-slider-value{min-width:52px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:#ffffff0a;color:var(--text-muted);font-family:var(--mono);font-size:.82rem;text-align:center}.whats-new-overlay{z-index:1200}.rebrand-notice-overlay{z-index:1270}.rebrand-notice-modal{width:min(460px,calc(100vw - 32px));padding:24px;border-radius:18px;border:1px solid var(--border);background:var(--panel-bg-strong);box-shadow:0 24px 70px #00000057;color:var(--text);display:grid;gap:12px}.rebrand-notice-modal h2{margin:0;font-size:1.35rem;line-height:1.2}.rebrand-notice-modal p{margin:0;color:var(--text-dim);line-height:1.6}.rebrand-notice-modal .btn-primary{justify-self:start;width:auto;min-width:120px;padding-inline:18px}.rebrand-notice-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.whats-new-modal{max-width:480px;max-height:92vh;overflow:hidden;border-radius:10px;background:radial-gradient(circle at 16% 0%,rgba(99,102,241,.16),transparent 30%),radial-gradient(circle at 92% 12%,rgba(34,197,94,.12),transparent 30%),var(--bg)}.whats-new-header{align-items:flex-start;padding-bottom:12px}.whats-new-header span{display:block;margin-bottom:4px;color:var(--text-muted);font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.whats-new-body{padding-top:16px;padding-bottom:24px}.whats-new-hero{position:relative;overflow:hidden;margin-bottom:16px;border:1px solid var(--border);border-radius:8px;background:#ffffff06;box-shadow:0 18px 55px #00000038}.whats-new-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.22)),radial-gradient(circle at 50% 100%,rgba(255,255,255,.14),transparent 38%)}.whats-new-hero img{display:block;width:100%;height:180px;object-fit:cover;filter:saturate(1.08) contrast(1.04)}.whats-new-hero-v2 img{height:190px}.whats-new-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}.whats-new-item{padding:12px;border:1px solid var(--border);border-radius:7px;background:#ffffff06}.whats-new-item strong{display:block;margin-bottom:3px;color:var(--text);font-size:.86rem;font-weight:600}.whats-new-item p{margin:0;color:var(--text-dim);font-size:.74rem;line-height:1.45}.whats-new-action{margin-top:2px}.whats-new-v2-copy{display:grid;gap:9px;margin-bottom:14px}.whats-new-v2-copy p{margin:0;padding:11px 12px;border-left:2px solid var(--text-dim);background:#ffffff05;color:var(--text-dim);font-size:.8rem;line-height:1.45}.whats-new-v2-copy p:first-child{color:var(--text);border-left-color:var(--text)}.whats-new-request{display:grid;gap:8px;margin-bottom:14px}.whats-new-request label{color:var(--text-muted);font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.whats-new-request textarea{width:100%;min-height:72px;resize:vertical;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:#ffffff06;color:var(--text);font-family:var(--sans);font-size:.82rem;outline:none}.whats-new-request textarea:focus{border-color:var(--border-hover)}.whats-new-request button{justify-self:start;padding:8px 12px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--text);font-family:var(--sans);font-size:.82rem;font-weight:600;cursor:pointer}.whats-new-request button:hover{border-color:var(--border-hover);background:var(--bg-hover)}@media(max-width:520px){.whats-new-list{grid-template-columns:1fr}.whats-new-hero img{height:150px}}.color-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.color-dot{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}.color-dot:hover{transform:scale(1.15)}.color-dot.active{border-color:var(--text)}.color-custom-wrap{width:26px;height:26px;border-radius:50%;border:1px dashed var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden}.window-layer{position:fixed;inset:0;pointer-events:none;z-index:1000}.window-frame{position:fixed;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;border-color:#fff5eb24;box-shadow:0 24px 60px #0000006b;pointer-events:auto;min-width:320px;min-height:180px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.window-titlebar{flex:0 0 auto;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;min-height:48px;padding:0 12px 0 14px;background:linear-gradient(180deg,#fff8f014,#fff8f008);border-bottom:1px solid var(--border);cursor:grab}.window-titlebar:active{cursor:grabbing}.window-titlebar-left{display:flex;align-items:center;gap:6px}.window-dot{width:9px;height:9px;border-radius:999px;padding:0;border:none;background:#fff8f02e;box-shadow:inset 0 0 0 1px #00000024;cursor:pointer}.window-dot-close{background:#e26d5a}.window-dot-minimize{background:#d9a441}.window-dot-fullscreen{background:#67b65d}.window-title{display:flex;align-items:center;justify-content:center;min-width:0;color:var(--text);font-family:var(--sans);font-size:.88rem;font-weight:600;letter-spacing:.01em;text-align:center}.window-title h2,.window-title p{margin:0}.window-title p{color:var(--text-dim);font-size:.74rem;font-weight:500}.window-titlebar-actions{display:flex;align-items:center;gap:8px}.window-chrome-btn{width:28px;height:28px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.window-chrome-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border)}.window-chrome-btn svg{width:15px;height:15px;fill:currentColor}.window-frame .modal-body{flex:1 1 auto;min-height:0;overflow:auto}.window-resize-handle{position:absolute;z-index:2}.window-resize-handle.n,.window-resize-handle.s{left:10px;right:10px;height:8px}.window-resize-handle.n{top:-4px;cursor:ns-resize}.window-resize-handle.s{bottom:-4px;cursor:ns-resize}.window-resize-handle.e,.window-resize-handle.w{top:10px;bottom:10px;width:8px}.window-resize-handle.e{right:-4px;cursor:ew-resize}.window-resize-handle.w{left:-4px;cursor:ew-resize}.window-resize-handle.ne,.window-resize-handle.nw,.window-resize-handle.se,.window-resize-handle.sw{width:14px;height:14px}.window-resize-handle.ne{top:-4px;right:-4px;cursor:nesw-resize}.window-resize-handle.nw{top:-4px;left:-4px;cursor:nwse-resize}.window-resize-handle.se{right:-4px;bottom:-4px;cursor:nwse-resize}.window-resize-handle.sw{left:-4px;bottom:-4px;cursor:nesw-resize}.extra-window-body{padding:30px 24px}.color-custom-wrap input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none}.color-custom-wrap span{font-size:.8rem;color:var(--text-muted);pointer-events:none}.color-preview-strip{display:flex;gap:4px;margin-top:12px}.log-section{width:100%;max-width:800px;margin-top:28px}.log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.log-header h3{font-family:var(--sans);font-size:.95rem;font-weight:600}.log-filters{display:flex;gap:6px}.log-add-btn{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1rem;line-height:1}.log-add-btn:hover{border-color:var(--border-hover);background:#ffffff0a}.log-filters select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font-family:var(--mono);font-size:.72rem;outline:none;cursor:pointer}.log-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-family:var(--mono);font-size:.8rem}.log-entry{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:6px;gap:10px;transition:border-color .15s}.log-entry:hover{border-color:var(--border-hover)}.log-entry-info{flex:1;min-width:0}.log-entry-date{font-family:var(--mono);font-size:.75rem;color:var(--text-dim);margin-bottom:2px}.log-entry-duration{font-family:var(--mono);font-size:1rem;font-weight:600}.log-entry-desc{font-size:.75rem;color:var(--text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-entry-actions{display:flex;gap:4px;flex-shrink:0}.log-action-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.72rem}.log-action-btn:hover{border-color:var(--border-hover);color:var(--text)}.log-action-btn.delete:hover{border-color:var(--danger);color:var(--danger)}.manual-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manual-session-error{margin-bottom:12px;color:var(--danger);font-family:var(--mono);font-size:.72rem}@media(max-width:520px){.manual-session-grid{grid-template-columns:1fr}}.analytics-modal{width:95%;max-width:960px}.analytics-header{align-items:flex-start}.analytics-header p{margin-top:3px;color:var(--text-muted);font-size:.76rem}.analytics-body{padding:24px}.analytics-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.analytics-card,.analytics-panel{border:1px solid var(--border);background:#ffffff05;border-radius:16px}.analytics-card{padding:16px}.analytics-card span,.analytics-card small,.analytics-section-head p,.analytics-section-head>span,.analytics-kv-list span,.analytics-top-days small,.analytics-week-bar small{color:var(--text-muted)}.analytics-card span{display:block;margin-bottom:8px;font-size:.72rem}.analytics-card strong{display:block;color:var(--text);font-family:var(--mono);font-size:1.35rem;font-weight:600;letter-spacing:-.04em}.analytics-card small{display:block;margin-top:6px;font-size:.72rem}.analytics-panel{padding:18px}.analytics-chart-panel{margin-bottom:14px}.analytics-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.analytics-section-head h3{margin:0;color:var(--text);font-size:.95rem;font-weight:600}.analytics-section-head p,.analytics-section-head>span{margin:2px 0 0;font-family:var(--mono);font-size:.68rem}.analytics-chart{color:var(--text)}.analytics-chart svg{display:block;width:100%;height:230px;overflow:visible}.analytics-grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:5 7}.analytics-area-path{fill:url(#analyticsArea)}.analytics-line-path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}.analytics-point circle{fill:var(--bg);stroke:currentColor;stroke-width:2}.analytics-chart-labels{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;margin-top:8px;color:var(--text-dim);font-family:var(--mono);font-size:.62rem;text-align:center}.analytics-chart-labels .muted{opacity:.35}.analytics-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px;margin-bottom:14px}.analytics-week-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-height:170px}.analytics-week-bar{display:grid;grid-template-rows:1fr auto auto;gap:7px;min-width:0;text-align:center}.analytics-week-bar>div{display:flex;align-items:flex-end;justify-content:center;min-height:120px;border:1px solid var(--border);border-radius:12px;background:#ffffff03;overflow:hidden}.analytics-week-bar>div span{display:block;width:100%;max-width:26px;border-radius:8px 8px 0 0;background:var(--text);opacity:.86}.analytics-week-bar strong{color:var(--text-dim);font-family:var(--mono);font-size:.68rem;font-weight:500}.analytics-week-bar small{font-family:var(--mono);font-size:.62rem}.analytics-kv-list{display:grid;gap:2px}.analytics-kv-list div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.analytics-kv-list div:last-child{border-bottom:none}.analytics-kv-list span{font-size:.78rem}.analytics-kv-list strong{color:var(--text);font-family:var(--mono);font-size:.82rem;font-weight:600;text-align:right}.analytics-top-days{display:grid;gap:8px}.analytics-top-days>div{display:grid;grid-template-columns:36px minmax(90px,.6fr) minmax(120px,1fr) 70px;align-items:center;gap:12px}.analytics-top-days>div>span{color:var(--text-muted);font-family:var(--mono);font-size:.72rem}.analytics-top-days strong{color:var(--text);font-size:.82rem;font-weight:500}.analytics-top-days div div{height:8px;border-radius:999px;background:#ffffff0b;overflow:hidden}.analytics-top-days div div span{display:block;height:100%;border-radius:inherit;background:var(--text);opacity:.84}.analytics-top-days small{font-family:var(--mono);font-size:.74rem;text-align:right}.analytics-empty{padding:26px 10px;color:var(--text-muted);font-size:.82rem;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}.stat-card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}.stat-card .stat-value{font-family:var(--mono);font-size:1.3rem;font-weight:600;margin-bottom:4px}.stat-card .stat-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.weekly-chart{display:flex;align-items:flex-end;gap:6px;height:100px;padding:12px 0}.weekly-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.weekly-bar{width:100%;max-width:28px;background:var(--text-dim);border-radius:3px 3px 0 0;min-height:3px;transition:height .4s ease}.weekly-label{font-family:var(--mono);font-size:.6rem;color:var(--text-muted);margin-top:6px}.heatmap{width:fit-content;max-width:100%;max-width:800px;margin:28px auto 0}.hm-months{position:relative;height:18px;margin-bottom:4px;font-family:var(--mono);font-size:.65rem;color:var(--text-muted)}.hm-day-labels{display:flex;flex-direction:column;justify-content:space-between;padding-right:6px;width:28px;flex-shrink:0}.hm-day-labels span{font-family:var(--mono);font-size:.6rem;color:var(--text-muted);height:11px;line-height:11px}.hm-grid{display:flex;gap:3px;flex:1;justify-content:center;overflow-x:auto;padding-bottom:4px}.hm-col{display:flex;flex-direction:column;gap:3px}.hm-cell{width:11px;height:11px;border-radius:2px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);transition:border-color .15s,box-shadow .15s}.hm-cell:hover{border-color:#ffffff4d!important;box-shadow:0 0 8px #ffffff1a}.hm-tooltip{position:absolute;z-index:9999;background:#16161cf2;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;pointer-events:none;font-family:var(--mono);box-shadow:0 4px 12px #0000004d;transform:translate(-50%,-100%);animation:hm-tip-in .15s ease-out forwards}@keyframes hm-tip-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 4px))}to{opacity:1;transform:translate(-50%,-100%)}}.hm-tooltip-dur{font-size:.8rem;font-weight:600;color:#fff}.hm-tooltip-date{font-size:.6rem;color:var(--text-muted)}.hm-legend{display:flex;align-items:center;gap:4px;margin-top:10px;justify-content:flex-end}.hm-legend span{font-size:.65rem;color:var(--text-muted);font-family:var(--mono)}.hm-view-actions{display:flex;align-items:center;gap:6px;margin-right:auto}.hm-3d-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:5px;background:var(--bg);color:var(--text-dim);font-family:var(--mono);font-size:.65rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:color .2s,border-color .2s,filter .2s;position:relative;border:1px solid transparent;background-clip:padding-box}.hm-3d-btn:before{content:"";position:absolute;inset:-1px;border-radius:6px;background:linear-gradient(90deg,#ff595e,#ffca3a,#8ac926,#1982c4,#6a4c93,#ff595e);background-size:200% 100%;animation:hm-rainbow 3s linear infinite;z-index:-1;opacity:.7;transition:opacity .2s}@keyframes hm-rainbow{to{background-position:200% 0}}.hm-3d-btn:hover{color:var(--text)}.hm-3d-btn:hover:before{opacity:1}.hm-footer-stats{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;width:100%;font-family:var(--mono);font-size:.65rem;color:var(--text-muted)}.hm-rating,.hm-joined{display:inline-flex;align-items:center}.hm-rating{gap:6px;white-space:nowrap}.hm-rating-stars{color:#fff;letter-spacing:.08em;text-shadow:0 0 6px rgba(255,255,255,.12)}.hm-rating-value{color:var(--text-muted)}.hm-joined{text-align:right;color:var(--text-muted);white-space:nowrap}.hm-3d-btn svg{flex-shrink:0}.hm-game-btn:before{background:linear-gradient(90deg,#24f7a0,#6ee7ff,#facc15,#fb7185,#24f7a0);background-size:200% 100%}.game-world-overlay{position:fixed;inset:0;z-index:1000;background:var(--game-sky);overflow:hidden;transition:background .45s ease;--game-sky: radial-gradient(circle at 50% 30%, rgba(255, 244, 188, .16), transparent 24%), linear-gradient(180deg, #9be7ff 0%, #d9f7ff 38%, #5a7d58 72%, #1a201d 100%);--game-hud-bg: linear-gradient(180deg, rgba(8, 12, 18, .5), rgba(8, 12, 18, .18));--game-panel-bg: rgba(8, 12, 18, .48);--game-border: rgba(255, 255, 255, .2);--game-control-bg: rgba(8, 12, 18, .24)}.game-weather-sunset{--game-sky: radial-gradient(circle at 24% 24%, rgba(255, 206, 118, .5), transparent 18%), linear-gradient(180deg, #ffb56f 0%, #e8795d 36%, #6f6b55 72%, #191714 100%);--game-hud-bg: linear-gradient(180deg, rgba(30, 16, 13, .5), rgba(30, 16, 13, .2));--game-panel-bg: rgba(28, 16, 12, .54)}.game-weather-night{--game-sky: radial-gradient(circle at 78% 18%, rgba(202, 220, 255, .34), transparent 8%), radial-gradient(circle at 12% 12%, rgba(255, 255, 255, .18), transparent 2%), radial-gradient(circle at 34% 24%, rgba(255, 255, 255, .14), transparent 1.5%), linear-gradient(180deg, #071222 0%, #0c1a2f 42%, #182820 76%, #070a0a 100%);--game-hud-bg: linear-gradient(180deg, rgba(3, 8, 16, .68), rgba(3, 8, 16, .28));--game-panel-bg: rgba(3, 8, 16, .64);--game-border: rgba(180, 210, 255, .22);--game-control-bg: rgba(3, 8, 16, .34)}.game-world-shell{position:relative;width:100%;height:100%}.game-world-canvas{position:absolute;inset:0}.game-world-canvas canvas{display:block;width:100%;height:100%}.game-world-shell:before,.game-world-shell:after{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:2}.game-world-shell:before{top:0;height:32%;background:radial-gradient(circle at 22% 20%,rgba(255,243,184,.28),transparent 18%),linear-gradient(180deg,rgba(255,255,255,.2),transparent);mix-blend-mode:screen}.game-world-shell:after{bottom:0;height:48%;background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.58),transparent 62%),linear-gradient(180deg,transparent,rgba(0,0,0,.36))}.game-hud{position:relative;z-index:3;display:flex;align-items:start;justify-content:center;width:100%;min-height:100%;padding:18px;pointer-events:none}.game-sidebar-toggle,.game-worlds-toggle{z-index:50}.game-sidebar,.game-worlds-panel{z-index:45}.game-hud button,.game-hud input,.game-hud select,.game-hud label,.game-hud .game-settings-panel,.game-hud .game-speed-row{pointer-events:auto}.game-back{position:absolute;top:22px;left:22px;width:38px;height:34px;border:1px solid rgba(0,0,0,.08);border-radius:9px;background:#fff;color:#6b7280;font-family:var(--sans);font-size:1.1rem;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 8px 22px #00000024;transition:color .15s,background .15s,border-color .15s}.game-back:hover{background:#f8fafc;border-color:#00000024;color:#374151}.game-hud-center{display:flex;flex-direction:column;align-items:center;margin-top:10px;padding:12px 16px 14px;border:1px solid var(--game-border);border-radius:24px;background:var(--game-hud-bg);box-shadow:0 18px 56px #0000003d,inset 0 1px #ffffff29;backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1)}.game-timer{margin:0;color:#fff;font-size:clamp(2.9rem,7vw,6.2rem);letter-spacing:-.07em;text-shadow:0 3px 22px rgba(0,0,0,.46),0 0 46px rgba(255,255,255,.24)}.game-control-row{display:flex;align-items:center;gap:8px;margin-top:8px}.game-settings-toggle,.game-start-btn,.game-stop-btn{min-width:84px;padding:8px 13px;border:1px solid rgba(255,255,255,.22);border-radius:9px;font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:-.01em;text-transform:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.game-settings-toggle{min-width:0;margin-top:8px;padding:7px 11px;background:transparent;color:#ffffffad}.game-settings-toggle.active,.game-settings-toggle:hover{color:#fff;background:var(--game-control-bg)}.game-start-btn{background:#fff;color:#111827;box-shadow:none}.game-stop-btn{background:#ffffff14;color:#ffffffc7;box-shadow:none}.game-settings-toggle:hover,.game-start-btn:hover,.game-stop-btn:hover{border-color:#ffffff61}.game-start-btn:hover{background:#f3f4f6}.game-stop-btn:hover{background:#ffffff24;color:#fff}.game-start-btn:active,.game-stop-btn:active{background:#fff3}.game-settings-panel{width:min(330px,76vw);margin-top:10px;padding:12px;border:1px solid var(--game-border);border-radius:18px;background:var(--game-panel-bg);box-shadow:0 18px 52px #0000003d}.game-setting-group{display:grid;gap:8px}.game-setting-group+.game-setting-group{margin-top:12px}.game-setting-group>span{color:#ffffff94;font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.game-color-row,.game-segment-row{display:flex;gap:7px}.game-color-swatch{width:28px;height:28px;border:2px solid rgba(255,255,255,.16);border-radius:999px;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.game-color-swatch:hover,.game-color-swatch.active{transform:translateY(-1px);border-color:#ffffffd1;box-shadow:0 0 0 4px #ffffff14}.game-segment-row{padding:3px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0000001f}.game-segment-row button{flex:1;padding:7px 10px;border:none;border-radius:8px;background:transparent;color:#ffffff9e;font-family:var(--sans);font-size:.78rem;font-weight:600;cursor:pointer;transition:color .16s,background .16s}.game-segment-row button:hover,.game-segment-row button.active{background:#ffffff24;color:#fff}.hm3d-overlay{position:fixed;inset:0;z-index:1000;background:#16161cf2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center;animation:hm3d-in .35s cubic-bezier(.16,1,.3,1);transition:background .4s ease;cursor:grab;-webkit-user-select:none;user-select:none}.hm3d-overlay.hm3d-dragging,.hm3d-overlay.hm3d-dragging *{cursor:grabbing!important}@keyframes hm3d-in{0%{opacity:0}to{opacity:1}}.hm3d-overlay.hm3d-closing{animation:hm3d-out .35s ease forwards;pointer-events:none}@keyframes hm3d-out{to{opacity:0}}.hm3d-close{position:fixed;top:24px;left:24px;z-index:1001;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff9;padding:8px 18px;border-radius:8px;font-family:var(--sans);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .3s ease}.hm3d-close:hover{background:#ffffff1a;color:#ffffffe6;border-color:#ffffff26}.hm3d-mode-btn{position:fixed;top:24px;right:24px;z-index:1001;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#fff9;cursor:pointer;transition:all .3s ease}.hm3d-mode-btn:hover{background:#ffffff1a;color:#ffffffe6;border-color:#ffffff26}.hm3d-scene{perspective:1200px;animation:hm3d-scene-in .7s cubic-bezier(.16,1,.3,1)}@keyframes hm3d-scene-in{0%{opacity:0}to{opacity:1}}.hm3d-grid{display:grid;grid-template-columns:repeat(52,14px);grid-template-rows:repeat(7,14px);gap:3px;transform-style:preserve-3d}.hm3d-cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;cursor:pointer;--val: 0;--intensity: calc(var(--val) / var(--max-val));--cube-height: calc(var(--intensity) * 140px)}.hm3d-face{position:absolute;box-sizing:border-box;transition:filter .25s ease,border .25s ease}.hm3d-cube:not(.hm3d-empty){--i-floor: max(.2, var(--intensity));--mix: calc(var(--i-floor) * 100%)}.hm3d-cube:not(.hm3d-empty) .hm3d-face{background:color-mix(in srgb,var(--hm3d-color) var(--mix),transparent)}.hm3d-cube:not(.hm3d-empty) .hm3d-top{border:.5px solid rgba(255,255,255,.12)}.hm3d-cube:not(.hm3d-empty) .hm3d-front{filter:brightness(.72);border:.5px solid rgba(255,255,255,.04)}.hm3d-cube:not(.hm3d-empty) .hm3d-right{filter:brightness(.5);border:.5px solid rgba(255,255,255,.02)}.hm3d-cube:not(.hm3d-empty) .hm3d-back{filter:brightness(.72);border:.5px solid rgba(255,255,255,.04)}.hm3d-cube:not(.hm3d-empty) .hm3d-left{filter:brightness(.6);border:.5px solid rgba(255,255,255,.03)}.hm3d-empty .hm3d-top{background:#ffffff0d;border:.5px solid rgba(255,255,255,.07)}.hm3d-empty .hm3d-front,.hm3d-empty .hm3d-right,.hm3d-empty .hm3d-back,.hm3d-empty .hm3d-left{opacity:0;pointer-events:none}.hm3d-top{width:100%;height:100%;transform:translateZ(var(--cube-height));z-index:2}.hm3d-front{width:100%;height:var(--cube-height);bottom:0;left:0;transform-origin:bottom center;transform:rotateX(-90deg)}.hm3d-right{width:var(--cube-height);height:100%;top:0;right:0;transform-origin:center right;transform:rotateY(90deg)}.hm3d-back{width:100%;height:var(--cube-height);top:0;left:0;transform-origin:top center;transform:rotateX(90deg)}.hm3d-left{width:var(--cube-height);height:100%;top:0;left:0;transform-origin:center left;transform:rotateY(-90deg)}.hm3d-cube:hover .hm3d-top{border:1.5px solid rgba(255,255,255,.5);filter:brightness(1.3)}.hm3d-cube:hover .hm3d-front{filter:brightness(.95)}.hm3d-cube:hover .hm3d-right{filter:brightness(.7)}.hm3d-cube:hover .hm3d-back{filter:brightness(.95)}.hm3d-cube:hover .hm3d-left{filter:brightness(.8)}.hm3d-tooltip{position:fixed;z-index:1002;background:#141418f2;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:3px;pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px #0006;animation:hm3d-tip .12s ease;transition:background .3s,border-color .3s,box-shadow .3s}@keyframes hm3d-tip{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hm3d-tooltip-date{font-family:var(--mono);font-size:.68rem;color:#ffffff73;transition:color .3s}.hm3d-tooltip-dur{font-family:var(--mono);font-size:.92rem;font-weight:600;color:#fff;transition:color .3s}.hm3d-light{background:#f0f0e8f7}.hm3d-light .hm3d-close{background:#0000000d;border-color:#0000001a;color:#0000008c}.hm3d-light .hm3d-close:hover{background:#00000014;color:#000000d9;border-color:#0000002e}.hm3d-light .hm3d-mode-btn{background:#0000000d;border-color:#0000001a;color:#0000008c}.hm3d-light .hm3d-mode-btn:hover{background:#00000014;color:#000000d9;border-color:#0000002e}.hm3d-light .hm3d-cube:not(.hm3d-empty) .hm3d-top{border-color:#00000014}.hm3d-light .hm3d-cube:not(.hm3d-empty) .hm3d-front,.hm3d-light .hm3d-cube:not(.hm3d-empty) .hm3d-back{border-color:#0000000f}.hm3d-light .hm3d-cube:not(.hm3d-empty) .hm3d-right,.hm3d-light .hm3d-cube:not(.hm3d-empty) .hm3d-left{border-color:#0000000a}.hm3d-light .hm3d-empty .hm3d-top{background:#0000000a;border-color:#00000012}.hm3d-light .hm3d-cube:hover .hm3d-top{border-color:#00000059}.hm3d-light .hm3d-tooltip{background:#fffffff2;border-color:#00000014;box-shadow:0 8px 24px #0000001a}.hm3d-light .hm3d-tooltip-date{color:#00000073}.hm3d-light .hm3d-tooltip-dur{color:#2b2b2b}@media(max-width:900px){.hm3d-grid{grid-template-columns:repeat(52,10px);grid-template-rows:repeat(7,10px);gap:2px}}@media(max-width:640px){.hm3d-grid{grid-template-columns:repeat(52,7px);grid-template-rows:repeat(7,7px);gap:1.5px}.hm3d-cube{--cube-height: calc(var(--intensity) * 80px)}}.hm3d-stats-panel{position:fixed;left:55%;top:62%;z-index:10001;display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:#e5e5e5;text-align:right;opacity:0;pointer-events:none;animation:hm3d-stats-in .5s .2s ease forwards}.hm3d-light .hm3d-stats-panel{color:#1a1a1a}@keyframes hm3d-stats-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hm3d-stats-time{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:18px;font-weight:500;letter-spacing:.3px}.hm3d-stats-sessions{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:13px;font-weight:400;opacity:.5}.hm-dev-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid;border-radius:20px;background:transparent;font-family:var(--mono);font-size:.65rem;font-weight:600;letter-spacing:.08em;cursor:pointer;margin-bottom:8px;opacity:.75;transition:opacity .2s}.hm-dev-badge:hover{opacity:1}.dev-badge-inline{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.06em;color:#fff}.dev-modal{max-width:360px}.dev-info{font-size:.75rem;color:var(--text-muted);font-family:var(--mono);margin-bottom:16px;padding:8px 12px;border:1px solid rgba(255,255,255,.05);border-radius:6px;background:#ffffff05}.dev-form{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.dev-field{display:flex;flex-direction:column;gap:4px}.dev-field label{font-size:.7rem;color:var(--text-dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em}.dev-field-row{display:flex;gap:10px}.dev-field-row .dev-field{flex:1}.dev-input{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--mono);font-size:.85rem;outline:none;transition:border-color .2s}.dev-input:focus{border-color:#fff3}.dev-add-btn{width:100%;padding:10px;border:none;border-radius:8px;color:#fff;font-family:var(--sans);font-size:.85rem;font-weight:600;cursor:pointer;opacity:.9;transition:opacity .2s}.dev-add-btn:hover{opacity:1}.dev-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:.75rem;color:var(--text-dim);font-family:var(--mono)}.dev-clear-btn{background:none;border:none;color:var(--danger);font-family:var(--mono);font-size:.72rem;cursor:pointer;opacity:.7}.dev-clear-btn:hover{opacity:1}.dev-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.dev-entry{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:7px;background:var(--bg-card)}.dev-entry-date{font-family:var(--mono);font-size:.75rem;color:var(--text-dim);flex:1}.dev-entry-dur{font-family:var(--mono);font-size:.8rem;font-weight:600}.dev-entry-del{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;padding:2px 4px;border-radius:4px;transition:color .15s}.dev-entry-del:hover{color:var(--danger)}.account-info{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px}.account-info input{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--mono);font-size:.82rem;outline:none}.copy-btn{padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);font-family:var(--mono);font-size:.7rem;cursor:pointer}.copy-btn:hover{color:var(--text)}.btn-danger{width:100%;padding:10px;background:transparent;color:var(--danger);border:1px solid rgba(229,72,77,.25);border-radius:8px;font-family:var(--sans);font-size:.85rem;cursor:pointer;margin-top:6px}.btn-danger:hover{background:#e5484d0f}.btn-secondary{width:100%;padding:10px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;font-family:var(--sans);font-size:.85rem;cursor:pointer}.btn-secondary:hover{border-color:var(--border-hover)}.setting-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.85rem;outline:none;resize:vertical;min-height:72px}.setting-group textarea:focus{border-color:var(--accent)}.setting-group input[type=date],.setting-group input[type=time]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--mono);font-size:.85rem;outline:none;color-scheme:dark}.setting-group input[type=date]:focus,.setting-group input[type=time]:focus{border-color:var(--accent)}.sound-dropdown-row{display:flex;gap:8px}.sound-dropdown-row select{flex:1}.sound-preview-btn{border:1px solid var(--border);border-radius:8px;padding:0 14px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.85rem;cursor:pointer;white-space:nowrap}.sound-preview-btn:hover{border-color:var(--border-hover);background:#ffffff0d}.projects-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 12px}.projects-window-body{min-height:0;height:100%;display:flex;flex-direction:column;gap:12px}.projects-stat-card,.projects-chart-card{border:1px solid var(--border);border-radius:12px;background:#ffffff05}.projects-stat-card{padding:10px 12px}.projects-stat-card span{display:block;color:var(--text-muted);font-size:.72rem;margin-bottom:5px}.projects-stat-card strong{font-size:.92rem;font-weight:600}.projects-charts{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;margin-bottom:12px}.projects-chart-card{padding:12px}.projects-chart-title{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.projects-bars{display:grid;gap:10px}.projects-bar-row{display:grid;gap:6px}.projects-bar-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--text);font-size:.82rem}.projects-bar-label small{color:var(--text-muted);font-size:.7rem}.projects-bar-track{height:8px;border-radius:999px;background:#ffffff0f;overflow:hidden}.projects-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffffffd9,#ffffff59)}.projects-donut-card{display:flex;flex-direction:column}.projects-donut-wrap{position:relative;width:100%;aspect-ratio:1 / 1;display:grid;place-items:center;margin-bottom:8px}.projects-donut{width:min(100%,190px);height:min(100%,190px);transform:rotate(-90deg)}.projects-donut-track{fill:none;stroke:#ffffff14;stroke-width:12}.projects-donut-segment{fill:none;stroke-width:12;stroke-linecap:round}.projects-donut-center{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}.projects-donut-center strong{font-size:1.25rem;font-weight:600}.projects-donut-center span{font-size:.72rem;color:var(--text-muted)}.projects-legend{display:grid;gap:7px}.projects-legend-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:.75rem}.projects-legend-dot{width:8px;height:8px;border-radius:50%}.projects-legend-item small{color:var(--text-muted)}.game-speed-row{display:grid;gap:8px}.game-speed-row input[type=range]{width:100%;cursor:pointer;accent-color:rgba(255,255,255,.95);height:20px}.game-speed-row input[type=range]::-webkit-slider-thumb{cursor:pointer}.game-speed-row input[type=range]::-moz-range-thumb{cursor:pointer}.game-speed-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text-muted);font-size:.72rem}.game-speed-labels strong{color:var(--text);font-size:.82rem;font-weight:600}@media(max-width:640px){.timer-display{font-size:3.8rem}.ctrl-btn{width:40px;height:40px}.ctrl-btn.play-btn{width:50px;height:50px}.progress-track{width:220px}.tool-bar{flex-wrap:wrap;justify-content:center}.stats-grid{grid-template-columns:1fr}.analytics-body{padding:16px}.analytics-summary-grid,.analytics-detail-grid{grid-template-columns:1fr}.analytics-chart svg{height:190px}.analytics-chart-labels{font-size:.56rem}.analytics-week-bars{gap:6px}.analytics-week-bar>div{min-height:92px}.analytics-top-days>div{grid-template-columns:28px 72px 1fr 58px;gap:8px}.modal{max-width:95%;border-radius:12px}.modal-body{padding:16px 20px 20px}.log-entry{flex-direction:column;align-items:flex-start}.log-entry-actions{align-self:flex-end}.hm-grid,.hm-col{gap:2px}.hm-cell{width:8px;height:8px}.hm-view-actions{gap:4px}.hm-3d-btn{padding:3px 8px}.hm-footer-stats{gap:8px;font-size:.6rem;flex-wrap:wrap}.hm-joined{white-space:normal}.game-hud{padding:14px}.game-hud-center{margin-top:54px;padding:14px 16px 16px}.game-back{top:14px;left:14px}}.music-modal{max-width:400px}.music-modal-body{display:flex;flex-direction:column;min-height:0;height:100%}.mp-now{display:flex;align-items:center;gap:14px;margin-bottom:16px}.mp-cover{width:64px;height:64px;border-radius:8px;object-fit:cover;border:1px solid var(--border)}.mp-info{flex:1}.mp-title{font-weight:600;font-size:.95rem}.mp-time{font-family:var(--mono);font-size:.7rem;color:var(--text-muted);margin-top:2px}.mp-progress{width:100%;height:4px;background:#ffffff0f;border-radius:2px;cursor:pointer;margin-bottom:14px}.mp-progress-fill{height:100%;background:var(--text-dim);border-radius:2px;transition:width .3s linear}.mp-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:14px}.mp-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}.mp-btn:hover{border-color:var(--border-hover)}.mp-btn svg{width:16px;height:16px;fill:currentColor}.mp-btn.mp-play{width:44px;height:44px;background:var(--btn-bg);color:var(--btn-text);border:none}.mp-btn.mp-play:hover{opacity:.85}.mp-btn.mp-play svg{width:20px;height:20px}.mp-volume{display:flex;align-items:center;gap:8px;margin-bottom:16px}.mp-volume input[type=range]{flex:1;height:3px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.mp-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.mp-list{display:flex;flex-direction:column;gap:2px;flex:1;min-height:280px;overflow-y:auto}.mp-track{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--text);cursor:pointer;text-align:left;font-family:var(--sans);font-size:.82rem;transition:background .15s}.mp-track:hover,.mp-track.active{background:var(--bg-hover)}.mp-track img{width:36px;height:36px;border-radius:6px;object-fit:cover}.mp-eq{margin-left:auto;font-size:.65rem;color:var(--text-dim)}.mini-app-modal{max-width:460px}.calendar-modal{width:min(980px,calc(100vw - 40px))}.calendar-window-body{padding:18px}.calendar-app{display:flex;flex-direction:column;min-height:0;height:100%}.calendar-shell{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.78fr);gap:12px;min-height:0;height:100%}.calendar-panel,.calendar-sidepanel{min-height:0}.calendar-panel{display:flex;flex-direction:column;gap:12px}.calendar-toolbar,.calendar-selected,.calendar-day-card,.calendar-create-card,.calendar-events-card{border:1px solid var(--border);border-radius:14px;background:#fff8f008}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px}.calendar-toolbar span,.calendar-selected span,.calendar-events-header span{color:var(--text-muted);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.calendar-toolbar h3,.calendar-selected h4{margin:5px 0 0;color:var(--text);font-size:1.08rem;font-weight:600}.calendar-toolbar-actions{display:flex;align-items:center;gap:8px}.calendar-nav-btn{min-width:38px;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff05;color:var(--text);font-family:var(--sans);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.calendar-nav-btn:hover{background:#fff8f00f;border-color:var(--border-hover)}.calendar-nav-btn:active{transform:scale(.97)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 4px}.calendar-weekdays div{color:var(--text-muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-align:center;text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:0;animation-duration:.22s;animation-timing-function:ease;animation-fill-mode:both}.calendar-grid--forward{animation-name:calendar-grid-in-forward}.calendar-grid--backward{animation-name:calendar-grid-in-backward}@keyframes calendar-grid-in-forward{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes calendar-grid-in-backward{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.calendar-cell{min-height:118px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff8f008;color:var(--text);display:flex;flex-direction:column;gap:8px;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease}.calendar-cell:hover{border-color:var(--border-hover);background:#fff8f00d}.calendar-cell.is-selected{border-color:#f0e9dc38;background:#fff8f014;box-shadow:inset 0 0 0 1px #fff8f00f}.calendar-cell.is-muted{opacity:.42}.calendar-cell.is-today .calendar-cell-top span{color:#fbbf24}.calendar-cell.has-day-marker .calendar-cell-top small{max-width:70px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-cell-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-cell-top span{font-family:var(--mono);font-size:.82rem}.calendar-cell-top small{color:var(--text-muted);font-size:.7rem}.calendar-cell-events{display:flex;flex-wrap:wrap;gap:5px;min-height:0;overflow:hidden;align-content:flex-start}.calendar-cell-dot{width:10px;height:10px;border-radius:999px;flex:0 0 10px;box-shadow:0 0 0 1px #ffffff14}.calendar-sidepanel{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.calendar-selected{padding:14px 15px;border-radius:12px}.calendar-editor-switch{display:inline-flex;align-items:center;gap:8px}.calendar-editor-toggle{width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:#ffffff05;color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.calendar-editor-toggle:hover{background:#fff8f00f;border-color:var(--border-hover);color:var(--text)}.calendar-editor-toggle.is-active{background:#fff8f014;border-color:#f0e9dc2e;color:var(--text)}.calendar-editor-toggle svg{width:16px;height:16px;fill:currentColor}.calendar-day-card,.calendar-create-card,.calendar-events-card{padding:14px 15px;border-radius:12px}.calendar-toolbar{border-radius:12px}.calendar-event-item{border-radius:10px}.calendar-nav-btn,.calendar-form-grid input,.calendar-form-grid textarea,.calendar-save-btn{border-radius:8px}.calendar-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(min-width:900px){.calendar-cell-top span{font-size:.86rem}}@media(max-width:720px){.calendar-modal{width:min(100vw - 24px,980px)}.calendar-shell{grid-template-columns:1fr}.calendar-grid{gap:6px}.calendar-cell{min-height:88px;padding:8px}.calendar-toolbar,.calendar-create-header,.calendar-events-header,.calendar-event-line{flex-direction:column;align-items:flex-start}.calendar-toolbar-actions,.calendar-color-row{flex-wrap:wrap}.calendar-time-row{grid-template-columns:1fr}}.calendar-create-card,.calendar-day-card{display:flex;flex-direction:column;gap:12px;flex:0 0 auto}.calendar-create-header,.calendar-events-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-create-title{display:inline-flex;align-items:center;gap:8px}.calendar-create-header strong,.calendar-events-header strong{color:var(--text);font-size:.92rem;font-weight:600}.calendar-color-row{display:flex;align-items:center;gap:7px}.calendar-info-wrap{position:relative;display:inline-flex}.calendar-info-btn{width:18px;height:18px;border:1px solid var(--border);border-radius:999px;background:#ffffff05;color:var(--text-dim);font-family:var(--mono);font-size:.68rem;display:inline-flex;align-items:center;justify-content:center;cursor:help}.calendar-info-tooltip{position:absolute;left:0;top:calc(100% + 8px);width:200px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#16171bfa;color:var(--text);font-size:.74rem;line-height:1.4;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease;box-shadow:0 10px 24px #00000038;z-index:4}.calendar-info-wrap:hover .calendar-info-tooltip,.calendar-info-wrap:focus-within .calendar-info-tooltip{opacity:1;transform:translateY(0)}.calendar-color-dot{width:16px;height:16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;cursor:pointer;opacity:.5;transition:transform .18s ease,opacity .18s ease,border-color .18s ease}.calendar-color-dot.is-active{opacity:1;transform:scale(1.12);border-color:#ffffff80}.calendar-form-grid{display:flex;flex-direction:column;gap:10px}.calendar-form-grid input,.calendar-form-grid select,.calendar-form-grid textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.86rem;outline:none}.calendar-form-grid input:focus,.calendar-form-grid select:focus,.calendar-form-grid textarea:focus{border-color:var(--border-hover)}.calendar-form-grid textarea{min-height:88px;resize:vertical;line-height:1.5}.calendar-save-btn{margin-top:0}.calendar-day-actions{display:flex;align-items:center;gap:10px}.calendar-clear-btn{width:auto;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:#ffffff05;color:var(--text);font-family:var(--sans);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease}.calendar-clear-btn:hover{background:#fff8f00d;border-color:var(--border-hover)}.calendar-events-card{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1 1 0;height:100%;min-height:360px}.calendar-day-summary{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffff06}.calendar-day-summary-accent{width:10px;align-self:stretch;border-radius:999px;flex:0 0 10px}.calendar-day-summary-main{flex:1;min-width:0}.calendar-day-summary-main strong{display:block;color:var(--text);font-size:.87rem;font-weight:600;margin-bottom:4px}.calendar-day-summary-main p{margin:0;color:var(--text-dim);font-size:.78rem;line-height:1.45}.calendar-event-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto}.calendar-event-item{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--border);background:#ffffff05}.calendar-event-accent{width:10px;border-radius:999px;align-self:stretch;flex:0 0 10px}.calendar-event-main{flex:1;min-width:0}.calendar-event-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.calendar-event-line strong{color:var(--text);font-size:.88rem;font-weight:600}.calendar-event-line span{color:var(--text-muted);font-family:var(--mono);font-size:.72rem;flex:0 0 auto}.calendar-event-main p{margin:0;color:var(--text-dim);font-size:.78rem;line-height:1.45}.calendar-event-repeat{margin-bottom:6px;color:var(--text-muted);font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.changelog-modal{width:min(520px,calc(100vw - 32px))}.changelog-window-body{padding:18px}.changelog-app{display:flex;flex-direction:column;gap:12px;min-height:0}.changelog-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.changelog-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff8f008;color:var(--text-dim);font-family:var(--sans);font-size:.86rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.changelog-tab:hover{background:#fff8f00d;border-color:var(--border-hover);color:var(--text)}.changelog-tab.is-active{background:#fff8f012;border-color:#f0e9dc2e;color:var(--text)}.changelog-tab span{padding:2px 7px;border-radius:999px;background:#fff8f014;color:var(--text-dim);font-family:var(--mono);font-size:.68rem;font-weight:500}.changelog-groups{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.changelog-group{display:flex;flex-direction:column;gap:8px}.changelog-date{color:var(--text-muted);font-family:var(--mono);font-size:.74rem;letter-spacing:.03em;padding:0 4px;text-transform:uppercase}.changelog-entries{display:flex;flex-direction:column;gap:10px}.changelog-entry{display:flex;flex-direction:column;gap:8px;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:#fff8f008}.changelog-entry p{margin:0;color:var(--text);line-height:1.55;font-size:.9rem}.changelog-badge{width:fit-content;padding:4px 8px;border-radius:7px;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.changelog-badge.is-feature{background:#22c55e2e;color:#86efac;border:1px solid rgba(74,222,128,.28)}.changelog-badge.is-fix{background:#38bdf829;color:#93c5fd;border:1px solid rgba(96,165,250,.28)}.changelog-badge.is-update{background:#f9731629;color:#fdba74;border:1px solid rgba(251,146,60,.28)}.feature-requests-panel{display:flex;flex-direction:column;gap:12px;min-height:0}.feature-request-compose{display:flex;flex-direction:column;gap:10px;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:#fff8f008}.feature-request-compose textarea{width:100%;min-height:92px;resize:vertical;padding:12px;border:1px solid var(--border);border-radius:10px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.9rem;line-height:1.5;outline:none}.feature-request-compose textarea:focus{border-color:var(--border-hover)}.feature-request-compose textarea:disabled{opacity:.65}.feature-request-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-request-compose-help{display:flex;align-items:center;gap:8px;min-width:0}.feature-request-compose-actions p{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.45}.feature-request-limit-info{position:relative;flex:0 0 auto}.feature-request-info-btn{width:20px;height:20px;border:1px solid var(--border);border-radius:999px;background:#ffffff05;color:var(--text-dim);font-family:var(--mono);font-size:.72rem;cursor:help;display:inline-flex;align-items:center;justify-content:center}.feature-request-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(4px);min-width:180px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#16171bfa;color:var(--text);font-size:.74rem;line-height:1.4;text-align:center;pointer-events:none;opacity:0;transition:opacity .16s ease,transform .16s ease;box-shadow:0 10px 24px #00000038}.feature-request-tooltip:after{content:"";position:absolute;left:50%;top:100%;width:8px;height:8px;background:#16171bfa;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:translate(-50%) rotate(45deg)}.feature-request-limit-info:hover .feature-request-tooltip,.feature-request-limit-info:focus-within .feature-request-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.feature-request-compose-actions .btn-save{width:auto;margin-top:0;padding:10px 14px}.feature-request-status{padding:10px 12px;border:1px solid rgba(251,146,60,.22);border-radius:10px;background:#f9731614;color:#fdba74;font-size:.8rem}.feature-request-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding-right:2px}.feature-request-card{display:flex;gap:12px;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:#fff8f008}.feature-request-card.is-completed{border-color:#4ade803d;background:linear-gradient(180deg,#22c55e14,#22c55e08),#fff8f008}.feature-request-votes{display:flex;flex-direction:column;align-items:center;gap:6px;width:40px;flex:0 0 40px}.feature-request-votes strong{color:var(--text);font-family:var(--mono);font-size:.86rem;font-weight:600}.feature-vote-btn{width:32px;height:28px;border:1px solid var(--border);border-radius:8px;background:#ffffff05;color:var(--text-dim);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.feature-vote-btn:hover:not(:disabled){background:#fff8f00f;border-color:var(--border-hover);color:var(--text)}.feature-vote-btn:disabled{opacity:.5;cursor:not-allowed}.feature-vote-btn.is-active{background:#22c55e24;border-color:#4ade8047;color:#86efac}.feature-vote-btn.is-active.is-negative{background:#38bdf81f;border-color:#60a5fa42;color:#93c5fd}.feature-request-main{flex:1;min-width:0}.feature-request-main p{margin:0 0 10px;color:var(--text);line-height:1.55;font-size:.9rem}.feature-request-completed-row{display:flex;align-items:center;gap:8px;margin:-2px 0 10px}.feature-request-done-badge{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid rgba(74,222,128,.28);border-radius:7px;background:#22c55e29;color:#86efac;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.feature-request-response{display:flex;flex-direction:column;gap:8px;margin:-2px 0 12px}.feature-request-response-btn{width:fit-content;min-height:28px;padding:0 10px;border:1px solid rgba(74,222,128,.24);border-radius:8px;background:#22c55e1a;color:#b8f8ca;font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.feature-request-response-btn:hover{background:#22c55e26;border-color:#4ade8057}.feature-request-response-btn.is-open{background:#22c55e2e;color:#d8ffe5}.feature-request-response-body{padding:10px 11px;border:1px solid rgba(74,222,128,.16);border-radius:10px;background:#22c55e14;color:var(--text);font-size:.82rem;line-height:1.5}.feature-request-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:.74rem}.feature-request-meta-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.feature-request-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feature-request-admin-btn{height:30px;padding:0 10px;border:1px solid rgba(74,222,128,.22);border-radius:8px;background:#22c55e1f;color:#9bf6b5;font-family:var(--mono);font-size:.72rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.feature-request-admin-btn:hover:not(:disabled){background:#22c55e2e;border-color:#4ade8052}.feature-request-admin-btn.is-subtle{border-color:var(--border);background:#ffffff08;color:var(--text-dim)}.feature-request-admin-btn.is-subtle:hover:not(:disabled){background:#fff8f00f;border-color:var(--border-hover);color:var(--text)}.feature-request-admin-btn.is-complete{background:#22c55e2e;color:#d3ffe0}.feature-request-admin-btn:disabled{opacity:.55;cursor:not-allowed}.feature-request-delete{width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:#ffffff05;color:var(--text-dim);font-family:var(--sans);font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease,color .18s ease}.feature-request-delete:hover:not(:disabled){background:#fff8f00f;border-color:var(--border-hover);color:var(--text)}.feature-request-delete:disabled{opacity:.55;cursor:not-allowed}.feature-request-admin-editor{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:11px;border:1px solid rgba(74,222,128,.2);border-radius:10px;background:#22c55e0f}.feature-request-admin-editor textarea{width:100%;min-height:78px;resize:vertical;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:#0a0c0e24;color:var(--text);font-family:var(--sans);font-size:.88rem;line-height:1.5;outline:none}.feature-request-admin-editor textarea:focus{border-color:#4ade804d}.feature-request-admin-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:720px){.changelog-toggle{left:16px;bottom:18px}.changelog-date{padding:0 2px}.feature-request-compose-actions,.feature-request-meta,.feature-request-card{flex-direction:column;align-items:flex-start}.feature-request-compose-help{width:100%}.feature-request-meta-left{gap:8px}.feature-request-actions,.feature-request-admin-actions,.feature-request-completed-row{width:100%;justify-content:flex-start}.feature-request-votes{width:auto;flex-direction:row}}.mini-input-row{display:flex;gap:8px;margin-bottom:16px}.mini-input-row input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.85rem;outline:none}.mini-input-row input:focus{border-color:var(--accent)}.mini-input-row button{width:40px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:1.2rem;cursor:pointer}.mini-input-row button:hover{border-color:var(--border-hover)}.mini-empty{text-align:center;padding:32px 16px;color:var(--text-muted);font-size:.8rem}.mini-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:4px;transition:border-color .15s}.mini-item:hover{border-color:var(--border-hover)}.mini-item.done{opacity:.45}.mini-item.done span{text-decoration:line-through}.mini-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--text-muted);background:transparent;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:transparent;transition:border-color .15s}.mini-check:hover{border-color:var(--text)}.mini-check.checked{border-color:var(--text-dim);color:var(--text-dim)}.mini-del{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;flex-shrink:0;border-radius:4px}.mini-del:hover{color:var(--danger)}.mini-action{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;font-size:.7rem;flex-shrink:0}.mini-action:hover{border-color:var(--border-hover);color:var(--text)}.mini-action:disabled{opacity:.3;cursor:default}.mini-divider{font-size:.7rem;color:var(--text-muted);padding:12px 0 6px;font-family:var(--mono)}.ar-review{display:flex;flex-direction:column;align-items:center;gap:16px}.ar-progress{font-family:var(--mono);font-size:.75rem;color:var(--text-muted)}.ar-card{width:100%;min-height:180px;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;cursor:pointer;text-align:center;transition:border-color .2s}.ar-card:hover{border-color:var(--border-hover)}.ar-card.flipped{background:#ffffff05}.ar-card-content{font-size:1.05rem;line-height:1.5;max-width:100%;word-break:break-word}.ar-card-hint{font-size:.65rem;color:var(--text-muted);margin-top:12px;font-family:var(--mono)}.ar-actions{width:100%}.ar-actions button{width:100%;padding:10px;border-radius:8px;background:#fff;color:#000;border:none;font-family:var(--sans);font-weight:600;font-size:.88rem;cursor:pointer}.ar-actions button:hover{opacity:.88}.blurt-new-btn{width:100%;padding:10px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-dim);font-family:var(--mono);font-size:.8rem;cursor:pointer;margin-bottom:12px}.blurt-new-btn:hover{border-color:var(--border-hover);color:var(--text)}.blurt-note-item{cursor:pointer}.blurt-editor{display:flex;flex-direction:column;gap:12px}.blurt-title{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.95rem;font-weight:600;outline:none}.blurt-title:focus{border-color:var(--accent)}.blurt-content{padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.85rem;outline:none;resize:vertical;min-height:200px;line-height:1.6}.blurt-content:focus{border-color:var(--accent)}.draw-editor{display:flex;flex-direction:column;gap:10px}.draw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.draw-colors{display:flex;gap:6px;align-items:center}.draw-color-dot{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer}.draw-color-dot:hover{transform:scale(1.15)}.draw-color-dot.active{border-color:var(--text-dim)}.draw-tools{display:flex;align-items:center;gap:6px}.draw-tool-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font-size:.72rem;display:flex;align-items:center;justify-content:center}.draw-tool-btn:hover{border-color:var(--border-hover);color:var(--text)}.draw-tool-btn.active{border-color:var(--text-dim);color:var(--text)}.draw-size{width:60px;height:3px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.draw-size::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:#fff;cursor:pointer}.draw-canvas-wrap{border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:crosshair;touch-action:none}.draw-canvas-wrap canvas{display:block;width:100%}.draw-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px}.draw-thumb{border:1px solid var(--border);border-radius:8px;overflow:hidden}.draw-thumb img{width:100%;aspect-ratio:5 / 3;object-fit:cover;cursor:pointer;display:block}.draw-thumb img:hover{opacity:.85}.draw-thumb-footer{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:.75rem;color:var(--text-dim)}.sr-stats{display:flex;margin-bottom:16px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.sr-stat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 10px;border-right:1px solid var(--border);background:var(--bg-card)}.sr-stat:last-child{border-right:none}.sr-stat-num{font-family:var(--mono);font-size:1.1rem;font-weight:600;color:var(--text)}.sr-stat-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.sr-difficulty{display:flex;gap:8px;width:100%;margin-bottom:8px}.sr-diff-btn{flex:1;padding:10px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--sans);font-size:.82rem;cursor:pointer;transition:all .2s}.sr-hard:hover{border-color:var(--danger);color:var(--danger);background:#ef44440d}.sr-medium:hover{border-color:var(--accent);color:var(--accent);background:#3b82f60d}.sr-easy:hover{border-color:var(--success);color:var(--success);background:#22c55e0d}.fy-steps{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:12px}.fy-step-tab{flex:1;padding:8px;border:none;border-right:1px solid var(--border);background:var(--bg-card);color:var(--text-dim);font-family:var(--sans);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.fy-step-tab:last-child{border-right:none}.fy-step-tab.active{background:#ffffff0d;color:var(--text);font-weight:500}.fy-step-num{width:16px;height:16px;border-radius:50%;background:var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-family:var(--mono)}.fy-step-tab.active .fy-step-num{background:var(--text);color:#000}.fy-hint{font-size:.8rem;color:var(--text-dim);margin-bottom:12px;line-height:1.4;padding:0 4px}.fy-step-badge{font-family:var(--mono);font-size:.6rem;padding:2px 6px;border:1px solid var(--border);border-radius:4px;color:var(--text-dim)}.world-map-view{display:flex;flex-direction:column;gap:16px;width:100%;max-width:960px;margin:0 auto;padding:8px 0}.wm-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.wm-my-stat{font-size:.82rem;color:var(--text-dim);font-family:var(--sans)}.wm-my-stat strong{color:#a1b9ed}.wm-period{color:var(--text-muted);font-family:var(--mono);font-size:.72rem;margin-left:6px}.wm-contribute-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wm-available{font-size:.85rem;color:var(--text-dim)}.wm-available strong{color:#a1b9ed;font-size:.95rem}.wm-contribute-btn{padding:7px 16px;border:1px solid #a1b9ed;border-radius:8px;background:#a1b9ed1a;color:#a1b9ed;font-family:var(--sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.wm-contribute-btn:hover:not(:disabled){background:#a1b9ed33;border-color:#c0d4f5}.wm-contribute-btn:disabled{opacity:.5;cursor:not-allowed}.wm-contributed-msg{font-size:.78rem;color:var(--text-muted);font-style:italic}.wm-picker{position:relative;min-width:200px}.wm-picker-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);font-family:var(--sans);font-size:.85rem;cursor:pointer;transition:border-color .15s}.wm-picker-btn:hover{border-color:var(--border-hover)}.wm-picker-btn svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}.wm-picker-drop{position:absolute;top:calc(100% + 4px);left:0;width:260px;background:var(--bg-card, #1a1a1a);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000059;z-index:100;overflow:hidden;animation:wmDropIn .15s ease-out}@keyframes wmDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wm-picker-search{width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--sans);font-size:.85rem;outline:none}.wm-picker-list{max-height:240px;overflow-y:auto;padding:4px}.wm-picker-item{width:100%;display:block;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text);font-family:var(--sans);font-size:.82rem;cursor:pointer;text-align:left;transition:background .12s}.wm-picker-item:hover{background:var(--bg-hover, rgba(255, 255, 255, .06))}.wm-picker-item.active{background:#a1b9ed26;color:#a1b9ed}.wm-picker-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:.8rem}.wm-canvas{position:relative;width:100%;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#2b2b2b14}.wm-saber-corner{position:absolute;left:14px;bottom:14px;width:132px;height:96px;z-index:2;padding:0;border:0;background:transparent;transform:rotate(-36deg);transform-origin:left bottom;cursor:help;appearance:none}.wm-saber-corner:focus-visible{outline:none}.wm-saber-corner:focus-visible .wm-saber-blade,.wm-saber-corner:hover .wm-saber-blade{box-shadow:0 0 12px #aae6ff,0 0 26px #70c6ffcc,0 0 48px #44a9ff70}.wm-saber-hilt{position:absolute;left:0;bottom:10px;width:50px;height:12px;border:1px solid rgba(255,245,235,.18);border-radius:999px;background:linear-gradient(180deg,#ffffff29,#ffffff0a),linear-gradient(90deg,#595550,#2f2d2a 45%,#6b665f);box-shadow:inset 0 1px #ffffff1f,0 4px 14px #00000038}.wm-saber-hilt:before,.wm-saber-hilt:after{content:"";position:absolute;top:2px;bottom:2px;border-radius:999px}.wm-saber-hilt:before{left:8px;width:10px;background:#121212b8}.wm-saber-hilt:after{right:6px;width:6px;background:#ffffff47}.wm-saber-blade{position:absolute;left:46px;bottom:14px;width:92px;height:4px;border-radius:999px;background:linear-gradient(90deg,#ebf6fffa,#68c3fff5);box-shadow:0 0 8px #7ecbffe0,0 0 18px #5ab8ff99,0 0 36px #44a9ff52;animation:wmSaberGlow 2.6s ease-in-out infinite}.wm-saber-blade:after{content:"";position:absolute;inset:-4px -6px;border-radius:999px;background:radial-gradient(circle at left center,rgba(209,241,255,.58),transparent 58%);filter:blur(5px);opacity:.88}.wm-saber-tooltip{position:absolute;left:calc(100% + 12px);bottom:26px;width:244px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#16171bfa;color:var(--text);font-size:.74rem;line-height:1.4;text-align:left;pointer-events:none;opacity:0;transform:translate(-6px);transition:opacity .16s ease,transform .16s ease;box-shadow:0 10px 24px #00000038;z-index:4;transform-origin:left center;rotate:36deg}.wm-saber-tooltip:after{content:"";position:absolute;right:100%;top:50%;border:6px solid transparent;border-right-color:#16171bfa;transform:translateY(-50%)}.wm-saber-corner:hover .wm-saber-tooltip,.wm-saber-corner:focus-visible .wm-saber-tooltip{opacity:1;transform:translate(0)}@keyframes wmSaberGlow{0%,to{opacity:.82;box-shadow:0 0 8px #7ecbffc2,0 0 18px #5ab8ff85,0 0 30px #44a9ff42}50%{opacity:1;box-shadow:0 0 10px #a0e1fff5,0 0 22px #70c6ffbd,0 0 42px #44a9ff66}}.wm-svg{display:block;width:100%;height:auto}.wm-svg path{transition:opacity .15s,fill .25s;cursor:pointer}.wm-svg path:hover{opacity:1!important;filter:brightness(1.25)}.wm-my-country{filter:drop-shadow(0 0 6px rgba(161,185,237,.5));animation:wmPulse 2.5s ease-in-out infinite}@keyframes wmPulse{0%,to{filter:drop-shadow(0 0 4px rgba(161,185,237,.4))}50%{filter:drop-shadow(0 0 10px rgba(161,185,237,.7))}}.wm-loading{display:flex;align-items:center;justify-content:center;min-height:260px;color:var(--text-muted);font-size:.85rem}.wm-tooltip{position:fixed;display:flex;flex-direction:column;gap:2px;padding:6px 10px;background:var(--bg-card, #1a1a1a);border:1px solid var(--border);border-radius:6px;font-size:.78rem;color:var(--text);pointer-events:none;z-index:200;box-shadow:0 4px 12px #0000004d;white-space:nowrap}.wm-tooltip strong{font-weight:600}.wm-tooltip span{color:var(--text-dim);font-family:var(--mono);font-size:.72rem}.wm-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.wm-legend{display:flex;align-items:center;gap:8px}.wm-legend-label{font-size:.7rem;color:var(--text-muted);font-family:var(--mono)}.wm-legend-bar{width:120px;height:8px;border-radius:4px;background:linear-gradient(to right,#2b2b2b40,#a1b9ed)}.wm-ranking{display:flex;flex-direction:column;gap:4px;min-width:200px}.wm-rank-row{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:.8rem}.wm-rank-pos{width:20px;font-family:var(--mono);font-weight:600;color:var(--text-dim);text-align:center}.wm-rank-name{flex:1;color:var(--text)}.wm-rank-time{font-family:var(--mono);font-size:.75rem;color:var(--text-dim)}@media(max-width:600px){.wm-header{flex-direction:column;align-items:stretch}.wm-footer{flex-direction:column}.wm-ranking{min-width:unset}}
