:root{--bg:#101114;--panel:#f8f2e6;--panel-soft:#1a1c22;--ink:#101114;--ink-inverse:#fbf5e8;--muted:#4f5563;--line:#06070a;--teal:#13c7b6;--teal-soft:#083d3d;--blue:#3f63ff;--blue-soft:#111d55;--red:#ff5a3d;--red-soft:#421815;--pink:#f45bb6;--yellow:#ffe21f;--yellow-soft:#473d08;--cream:#fff7d1;--shadow:8px 8px 0 #06070a;--small-shadow:4px 4px 0 #06070a;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Arial Rounded MT Bold,Trebuchet MS,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{overscroll-behavior-y:none}body{overscroll-behavior-y:none;background:var(--bg);min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}.shell{min-height:100svh;padding:max(28px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left))}.shell.centered{place-items:center;display:grid}h2,p,ul{margin:0}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}ul{padding:0;list-style:none}.startupShell{min-height:100svh;padding:max(32px, env(safe-area-inset-top)) 32px max(32px, env(safe-area-inset-bottom));color:var(--ink-inverse);place-items:center;display:grid}.startupState{text-align:center;width:100%;max-width:300px}.startupState h1{letter-spacing:-.3px;margin:24px 0 10px;font-size:19px;font-weight:600;line-height:1.4}.startupState>p{color:#a6abb5;margin:0;font-size:13px;line-height:1.7}.startupSpinner{border:2px solid #343b40;border-right-color:var(--teal);border-bottom-color:var(--teal);border-radius:50%;width:36px;height:36px;margin:auto;animation:1s linear infinite spin;display:block}.startupErrorIcon{border:1px solid var(--yellow);width:36px;height:36px;color:var(--yellow);border-radius:50%;place-items:center;margin:auto;font-size:22px;display:grid}.startupState>.startupError{color:#e1bbb1;margin-top:24px}.startupRetry{border:1px solid var(--teal);background:var(--teal);color:var(--ink);cursor:pointer;border-radius:6px;margin-top:24px;padding:9px 22px;font-size:13px;font-weight:700}.startupRetry:focus-visible{outline:3px solid var(--cream);outline-offset:3px}.startupProgress{color:#a6abb5;align-items:center;gap:12px;width:220px;max-width:100%;margin:28px auto 0;font-size:11px;display:flex}.startupProgress>div{background:#35383e;border-radius:3px;flex:1;height:3px;overflow:hidden}.startupProgress>div>span{background:var(--teal);height:100%;display:block}.emptyState{border:3px solid var(--line);background:var(--cream);max-width:28rem;color:var(--ink);box-shadow:var(--shadow);text-align:center;border-radius:8px;padding:18px 20px;font-size:18px;font-weight:900;line-height:1.35}.loginShell{min-height:100svh;padding:max(32px, env(safe-area-inset-top)) 20px max(32px, env(safe-area-inset-bottom));background:var(--bg);place-items:center;display:grid}.loginForm{justify-content:center;width:100%;max-width:320px;display:flex;position:relative}.googleSignInButton{color:#1f1f1f;letter-spacing:.25px;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;gap:10px;height:40px;padding:0 12px;font-family:Google Sans,Arial,sans-serif;font-size:14px;font-weight:500;display:inline-flex}.googleSignInButton img{flex:0 0 20px}.googleSignInButton:hover:not(:disabled){background:#f8faff;box-shadow:0 1px 2px #0003}.googleSignInButton:focus-visible{outline:3px solid var(--cream);outline-offset:3px}.googleSignInButton:disabled{opacity:.65;cursor:wait}.loginError{inset-inline:0;color:#e1bbb1;text-align:center;overflow-wrap:anywhere;font-size:13px;line-height:1.6;position:absolute;top:calc(100% + 18px)}.saveErrorBanner{border:3px solid var(--line);background:var(--red);color:var(--ink);box-shadow:var(--small-shadow);border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:13px;font-weight:900;line-height:1.35}.shell.dashboardShell.hasRefreshNotice{padding-top:max(52px, calc(env(safe-area-inset-top) + 52px))}.refreshNotice{top:max(9px, calc(env(safe-area-inset-top) + 9px));z-index:5;color:#d9f7ef;background:#1c2e2a;border:1px solid #4b635c;border-radius:20px;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:7px 12px;font-size:11px;line-height:1.4;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 3px 15px #0004}.refreshNotice.warning{color:#ffdfb7;background:#3b2c23;border-radius:8px}.refreshNotice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:underline}.refreshNotice button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.dashboardShell{overflow-anchor:none}.suspendedWorkspace{visibility:hidden;pointer-events:none}.sessionOverlay{background:var(--bg);position:fixed;inset:0;overflow:auto}.pullRefreshRegion{color:#fff;transition:height .22s;overflow:hidden}.pullRefreshRegion.dragging{transition:none}.pullRefreshContent{white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:100%;min-height:56px;font-size:11px;font-weight:400;line-height:1.35;display:flex}.pullRefreshContent>span:last-child{color:#a6abb5}.pullRefreshSpinner{border:1.5px solid #fff;border-color:#fff #fff #ffffff30 #ffffff30;border-radius:50%;width:14px;height:14px;animation:.65s linear infinite spin}.workControls{border:0;min-width:0;margin:0;padding:0}.workControls:disabled{opacity:.65}.projectGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:18px;display:grid}.projectCard{isolation:isolate;grid-template-rows:auto auto 1fr;gap:12px;min-width:0;padding:18px;display:grid;position:relative}.projectCard:before{content:"";z-index:-1;background:var(--panel);border:4px solid var(--line);box-shadow:var(--shadow);transform:rotate(var(--tilt,0deg));border-radius:8px;position:absolute;inset:0}::view-transition-group(*){animation-duration:.48s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s}}.projectCard:nth-child(5n+1){--tilt:-.35deg}.projectCard:nth-child(5n+3){--tilt:.35deg}.cardHeader{min-width:0}.cardHeader h2{align-items:center;gap:.4em;min-width:0;font-size:26px;font-weight:950;line-height:1;display:flex}.cardHeader h2>span{overflow-wrap:anywhere;min-width:0}.projectFavicon{object-fit:contain;flex:0 0 1em;width:1em;height:1em;display:block}.statusStrip{gap:8px;display:grid}.ciStatusRow{grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:8px;min-width:0;display:grid}.statusItem{border:3px solid var(--line);min-width:0;min-height:38px;color:var(--ink);background:#fffaf0;border-radius:8px;align-items:center;gap:8px;padding:0 11px;font-size:12px;font-weight:950;display:flex}.statusLink,.statusText{overflow-wrap:anywhere;align-items:center;gap:5px;min-width:0;display:inline-flex}.statusLink{color:inherit;text-underline-offset:3px;text-decoration-thickness:2px}.statusItem .not-configured{color:#30333c}.ciResult{border:3px solid var(--line);cursor:pointer;width:38px;height:38px;min-height:38px;font:inherit;border-radius:7px;flex:none;place-self:stretch stretch;place-items:center;padding:0;display:inline-grid}.ciResult.passing{background:var(--teal);color:var(--ink)}.ciResult.failing{background:var(--red);color:var(--ink)}.ciResult.running{background:var(--blue);color:var(--ink-inverse)}.ciResult.running svg{animation:.9s linear infinite spin}.ciResult.unknown{background:var(--yellow);color:var(--ink)}.ciResult.loading{background:#fffaf0}.loadingSpinner{border:3px solid var(--line);border-right-color:#0000;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}.workSaveSpinner{border-width:2px;width:13px;height:13px;display:block}.workList{align-content:start;gap:12px;min-width:0;display:grid}.workList ul{gap:0;display:grid}.workItem{border:3px solid var(--line);min-width:0;color:var(--ink);box-shadow:var(--small-shadow);border-radius:8px;grid-template-rows:1fr;padding:6px 9px 6px 6px;animation:.22s both workItemIn;display:grid;overflow:hidden}.workItem:not(:last-child){margin-bottom:12px}.workItemContent{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden}.workItem.todo{background:var(--yellow)}.workItem.bug{background:var(--pink)}.doneButton{border:0;border:2px solid var(--line);background:0 0;background:var(--cream);min-width:58px;height:28px;color:var(--ink);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:950;display:inline-flex}.doneButton:hover:not(:disabled){background:color-mix(in srgb, var(--cream) 88%, var(--teal));transform:translate(-1px,-1px)}.workKindIcon{border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.workKindIcon.todo,.workKindIcon.bug{background:var(--cream);color:var(--ink)}.choiceButton{border:3px solid var(--line);background:var(--cream);min-width:0;height:32px;color:var(--ink);cursor:pointer;border-radius:7px;flex:0 auto;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:950;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}@media (hover:hover) and (pointer:fine){.choiceButton.todo:hover:not(:disabled){background:var(--yellow);color:var(--ink)}.choiceButton.bug:hover:not(:disabled){background:var(--pink);color:var(--ink)}.choiceButton:hover:not(:disabled){box-shadow:3px 3px 0 var(--line);transform:translate(-1px,-1px)}}.choiceButton.compact{width:32px;padding:0}.doneButton:disabled,.choiceButton:disabled{cursor:not-allowed;opacity:.45;transform:none}.workText{overflow-wrap:anywhere;white-space:normal;min-width:0;font-size:13px;font-weight:850;line-height:1.35}.addWork{border:3px dashed var(--line);background:#fff7d1b3;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;padding:5px;transition:background-color .18s,border-color .18s;display:flex}.addWork:not(.isComposing) .choiceButton{flex:1 1 0}.addWork.isComposing{border-color:var(--line);background:var(--cream);grid-template-columns:minmax(0,1fr) 32px 32px;min-height:34px;padding:3px;display:grid}.addWork input{min-width:0;height:32px;color:var(--ink);background:0 0;border:0;border-radius:7px;outline:none;padding:0 8px;font-size:12px;font-weight:850;animation:.16s both fadeIn}.addWork input:focus{box-shadow:inset 0 0 0 2px var(--line);background:#fff}.loadingDots{letter-spacing:0;width:3ch;font-family:monospace;font-size:15px;line-height:1;display:inline-block}.loadingDots span:nth-child(2){animation:1.2s step-end infinite revealSecondDot}.loadingDots span:nth-child(3){animation:1.2s step-end infinite revealThirdDot}@keyframes revealSecondDot{0%,32%{opacity:0}33%,to{opacity:1}}@keyframes revealThirdDot{0%,65%{opacity:0}66%,to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes workItemIn{0%{opacity:0;grid-template-rows:0fr;padding-top:0;padding-bottom:0;transform:translateY(-3px)}to{opacity:1;grid-template-rows:1fr;padding-top:6px;padding-bottom:6px;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.shell{padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}}@media (width<=460px){.shell{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.projectGrid,.statusStrip{grid-template-columns:1fr}.projectGrid{grid-template-columns:minmax(0,1fr)}}.migrationNotice{bottom:max(16px, env(safe-area-inset-bottom));z-index:40;border:3px solid var(--line);background:var(--yellow);color:var(--ink);box-shadow:var(--small-shadow);align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;left:16px;right:16px}.migrationNotice a{color:inherit}.migrationNotice button{cursor:pointer;border:2px solid var(--line);background:var(--panel);color:var(--ink)}.projectMetaRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.projectMetaRow>:only-child{grid-column:1/-1}.versionNumber{font-variant-numeric:tabular-nums;margin-left:auto}.devPreviewNotice{color:var(--ink-inverse);opacity:.7;margin-bottom:18px;font-size:.75rem}.emptyState button{margin:16px auto 0;display:block}@media (prefers-reduced-motion:reduce){.startupSpinner,.pullRefreshSpinner,.workSaveSpinner{animation:none}.pullRefreshRegion{transition:none}}
