:root{--bg: #fafafa;--fg: #111;--muted: #6b7280;--accent: #2563eb;--border: #e5e7eb;--danger: #b91c1c;--ok: #047857;--warn: #d97706;--surface: #ffffff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-text-size-adjust:100%}[data-theme=dark]{--bg: #0f141c;--fg: #e8edf3;--muted: #9aa4b2;--accent: #4f8ff7;--border: #2b3543;--danger: #f87171;--ok: #34d399;--warn: #fbbf24;--surface: #1a212b}[data-theme=pink]{--bg: #fff0f6;--fg: #3d1526;--muted: #86566c;--accent: #db2777;--border: #f3c6da;--danger: #dc2626;--ok: #059669;--warn: #d97706;--surface: #ffffff}[data-theme=green]{--bg: #0d1f12;--surface: #112d17;--fg: #e3efe7;--muted: #8aa897;--accent: #2ea043;--border: #26412f;--danger: #f87171;--ok: #4ade80;--warn: #fbbf24}[data-theme=dark] .user-menu,[data-theme=green] .user-menu{box-shadow:0 4px 12px #0006}[data-theme=dark] .card,[data-theme=dark] .activity-feed,[data-theme=dark] .artifact-md,[data-theme=green] .card,[data-theme=green] .activity-feed,[data-theme=green] .artifact-md{box-shadow:0 1px 3px #00000059}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--fg);min-height:100%}.app{max-width:720px;margin:0 auto;padding:1.5rem 1rem 4rem}header.bar{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0 1rem;padding-top:calc(.5rem + env(safe-area-inset-top));border-bottom:1px solid var(--border);margin-bottom:1.5rem}.tab-nav{display:flex;gap:.5rem;margin-bottom:1.5rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border)}.tab{background:transparent;color:var(--muted);border:none;border-bottom:2px solid transparent;border-radius:0;padding:.4rem .75rem;font-size:.85rem;font-weight:500;margin-bottom:-1px}.tab:hover{color:var(--fg)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.activity-dot{width:.55rem;height:.55rem;border-radius:50%;display:inline-block;flex:0 0 auto}.activity-feed{max-height:22rem;overflow-y:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:.4rem .6rem;font-size:.8rem;line-height:1.5}.activity-row{display:flex;gap:.5rem;align-items:baseline;padding:.1rem 0}.activity-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 auto;font-size:.72rem}.activity-glyph{color:var(--accent);flex:0 0 auto;width:1rem;text-align:center}.bar-top{display:flex;justify-content:space-between;align-items:center}header.bar h1{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.user-menu-wrap{position:relative}.bar-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-height:2.4rem;min-width:2.4rem;padding:.45rem .7rem;line-height:1;box-sizing:border-box}.bar-btn-icon{display:none}.theme-toggle-btn{font-size:1rem}.user-menu{position:absolute;right:0;top:calc(100% + .5rem);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;min-width:200px;z-index:100;box-shadow:0 4px 12px #00000014}.user-menu-email{color:var(--muted);font-size:.85rem;word-break:break-all}.mr-menu-wrap{position:relative;display:inline-block}.mr-menu-btn{font-size:.72rem;padding:.15rem .5rem;white-space:nowrap}.mr-menu{position:absolute;right:0;top:calc(100% + .35rem);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.35rem;display:flex;flex-direction:column;gap:.3rem;min-width:9rem;z-index:100;box-shadow:0 4px 12px #00000014}[data-theme=dark] .mr-menu,[data-theme=green] .mr-menu{box-shadow:0 4px 12px #0006}.mr-menu button{font-size:.78rem;padding:.3rem .5rem;text-align:left}button{font:inherit;background:var(--accent);color:#fff;border:none;padding:.6rem 1rem;border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}button.secondary{background:transparent;color:var(--muted);border:1px solid var(--border)}input[type=email],input[type=text]{font:inherit;width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--fg)}input[type=email]::placeholder,input[type=text]::placeholder{color:var(--muted)}input[type=email]:focus,input[type=text]:focus{outline:2px solid var(--accent);outline-offset:-1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.card+.card{margin-top:1rem}.muted{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--ok)}.row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0}.row+.row{border-top:1px solid var(--border)}.row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.stack{display:flex;flex-direction:column;gap:.75rem}h2{font-size:1rem;margin:0 0 .75rem}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);margin-right:.5rem;vertical-align:middle}.dot.live{background:var(--ok);box-shadow:0 0 0 3px #04785726}[data-theme=dark] .dot.live{box-shadow:0 0 0 3px #34d39933}[data-theme=pink] .dot.live,[data-theme=green] .dot.live{box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 15%,transparent)}.ver-badge{display:inline-block;padding:.05rem .4rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}.ver-badge.ok{background:#04785726;color:var(--ok)}[data-theme=dark] .ver-badge.ok{background:#34d3992e}[data-theme=pink] .ver-badge.ok,[data-theme=green] .ver-badge.ok{background:color-mix(in srgb,var(--ok) 15%,transparent)}.ver-badge.warn{background:#d9770626;color:var(--warn)}[data-theme=dark] .ver-badge.warn{background:#fbbf242e}[data-theme=pink] .ver-badge.warn,[data-theme=green] .ver-badge.warn{background:color-mix(in srgb,var(--warn) 15%,transparent)}.ver-badge.danger{background:#b91c1c26;color:var(--danger)}[data-theme=dark] .ver-badge.danger{background:#f871712e}[data-theme=pink] .ver-badge.danger,[data-theme=green] .ver-badge.danger{background:color-mix(in srgb,var(--danger) 15%,transparent)}@media (max-width: 480px){.app{padding:1rem .75rem 3rem}.bar-btn-text{display:none}.bar-btn-icon{display:inline}}.project-status-strip{display:flex;flex-wrap:wrap;gap:.4rem .6rem;padding:.1rem 0}.project-chip{background:transparent;border:1px solid transparent;padding:.2rem .35rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--muted);max-width:150px;border-radius:4px;transition:border-color .1s,color .1s}.project-chip-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%}.project-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-chip:hover{border-color:var(--border);color:var(--fg)}.project-chip.active{color:var(--fg);border-color:var(--accent)}.task-project-badge{display:inline-flex;align-items:center;flex-shrink:0;max-width:140px;margin-right:.4rem;padding:.05rem .4rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--muted);font-size:.7rem;font-weight:600;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo{height:28px;width:auto;align-self:flex-start;display:block}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:2rem 1rem calc(2rem + env(safe-area-inset-bottom))}.auth-shell{width:100%;max-width:380px}.auth-logo{display:flex;justify-content:center;margin-bottom:1.25rem}.auth-logo .logo{height:36px;align-self:center}.auth-switch{margin:1rem 0 0;font-size:.85rem}.linklike{background:none;border:none;padding:0;width:auto;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.logo-home{cursor:pointer}.install-banner{position:fixed;bottom:env(safe-area-inset-bottom,0);left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:.75rem 1rem;display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;z-index:200;box-shadow:0 -4px 12px #00000014}.install-banner p{margin:0;flex:1;color:var(--fg);line-height:1.4}.install-banner button{padding:.35rem .6rem;font-size:.8rem;flex-shrink:0}.artifact-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow:auto}.artifact-overlay-panel{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:8px;max-width:860px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.artifact-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.artifact-overlay-body{padding:1rem;overflow:auto}.artifact-md{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.6rem .8rem;margin-top:.4rem;font-size:.78rem;max-height:480px;overflow:auto;line-height:1.5}.artifact-md--full{max-height:none;overflow:visible;font-size:.9rem;border:none;background:transparent;padding:0}.artifact-fullscreen-link{display:inline-block;margin:.4rem 0 0;font-size:.8rem;color:var(--accent);text-decoration:none}.artifact-md>*:first-child{margin-top:0}.artifact-md h1,.artifact-md h2,.artifact-md h3{font-size:1em;font-weight:600;margin:.8em 0 .4em}.artifact-md h1,.artifact-md h2{border-bottom:1px solid var(--border);padding-bottom:.2em}.artifact-md code{background:var(--border);border-radius:3px;padding:0 .25em;font-family:ui-monospace,monospace}.artifact-md pre{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.5em .7em;overflow-x:auto;margin:.4em 0}.artifact-md pre code{background:none;padding:0}.artifact-md table{border-collapse:collapse;width:100%;margin:.5em 0}.artifact-md th,.artifact-md td{border:1px solid var(--border);padding:.3em .6em;text-align:left}.artifact-md th{background:var(--bg);font-weight:600}.artifact-md a{color:var(--accent)}.artifact-md ul,.artifact-md ol{padding-left:1.4em;margin:.4em 0}.artifact-md li{margin:.15em 0}.artifact-md blockquote{border-left:3px solid var(--border);margin:.4em 0;padding:0 .6em;color:var(--muted)}.project-title-toggle{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:none;border-radius:6px;padding:.1rem .3rem;margin:-.1rem -.3rem;cursor:pointer;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.project-title-toggle:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.project-title-toggle:hover h2{color:var(--accent)}
