:root{--bg:#f4f7fb;--surface:#fff;--text:#203047;--muted:#74839a;--primary:#3268c8;--infantry:#3981b6;--sentry:#735db3;--hero:#c06950;--engineer:#b19032;--success:#269474;--warning:#d27b27;--danger:#a64d79;--radius-lg:18px;--shadow:0 12px 36px #2337551a}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}button,input,textarea,select{font:inherit}a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 65%, white);outline-offset:3px}.app-shell{min-height:100vh}.desktop-sidebar{z-index:10;background:var(--surface);border-right:1px solid #e7edf5;width:256px;padding:24px 18px;display:none;position:fixed;inset:0 auto 0 0}.brand,.compact-brand,.user-profile,.top-bar__actions{align-items:center;display:flex}.brand{gap:12px;padding:0 8px 26px}.brand__tile{background:linear-gradient(145deg, #4f7ed3, var(--primary));color:#fff;border-radius:13px;flex:none;place-items:center;width:40px;height:40px;font-weight:800;display:inline-grid;box-shadow:0 8px 20px #3268c838}.brand__title{font-size:15px;font-weight:750}.desktop-nav{gap:6px;display:grid}.nav-link{color:var(--muted);border-radius:12px;align-items:center;gap:12px;padding:11px 13px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.nav-link:hover,.nav-link[aria-current=page]{color:var(--primary);background:#edf3ff}.nav-link--disabled{cursor:not-allowed;opacity:.5}.app-frame{min-height:100vh}.top-bar{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f7fbe6;border-bottom:1px solid #d8e1eee6;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px clamp(18px,4vw,44px);display:flex;position:sticky;top:0}.compact-brand{gap:9px;font-weight:750}.compact-brand .brand__tile{width:36px;height:36px}.season-label{background:var(--surface);color:var(--muted);border:1px solid #dce6f5;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:650}.top-bar__actions{gap:14px}.icon-link{background:var(--surface);width:40px;height:40px;color:var(--muted);border-radius:12px;place-items:center;display:inline-grid;box-shadow:0 5px 18px #23375512}.user-profile{gap:9px;font-size:14px;font-weight:700}.user-profile__avatar,.user-profile__fallback{border-radius:50%;width:38px;height:38px}.user-profile__avatar{object-fit:cover}.user-profile__fallback{color:var(--primary);background:#e7effc;place-items:center;display:inline-grid}.main-content{width:min(1180px,100%);margin:0 auto;padding:clamp(24px,4vw,48px)}.status-screen h1{margin:0;font-size:clamp(28px,4vw,42px)}.status-screen{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:32px;display:grid}.status-screen p{color:var(--muted);margin:0}.status-screen__spinner{border:3px solid #dce6f5;border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.retry-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:11px;padding:10px 22px;font-weight:750}.dashboard-page{gap:24px;min-width:0;display:grid}.dashboard-page>*{min-width:0}.phase-hero,.dashboard-section{border-radius:var(--radius-lg);background:var(--surface);border:1px solid #e3eaf3;box-shadow:0 10px 30px #23375512}.phase-hero{color:#fff;background:radial-gradient(circle at 94% 8%,#74a0e847,#0000 31%),linear-gradient(135deg,#1f4f9f 0%,#3268c8 58%,#4a7fd8 100%);border:0;padding:clamp(24px,4vw,40px);position:relative;overflow:hidden;box-shadow:0 18px 45px #2b5bac3d}.phase-hero:after{content:"";border:42px solid #ffffff0f;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-116px;right:-78px}.stale-banner{z-index:1;background:#13326652;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:7px;margin-bottom:20px;padding:7px 11px;font-size:13px;font-weight:750;display:inline-flex;position:relative}.stale-banner--unavailable{background:#74321a73;border-color:#ffdabe6b}.phase-hero__content{z-index:1;justify-content:space-between;align-items:flex-end;gap:28px;display:flex;position:relative}.section-eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:800}.phase-hero .section-eyebrow{color:#ffffffb8}.phase-hero h1{letter-spacing:-.03em;max-width:720px;margin:0;font-size:clamp(28px,4.2vw,48px);line-height:1.15}.phase-hero__objective{color:#ffffffd1;align-items:center;gap:8px;margin:15px 0 0;line-height:1.6;display:flex}.phase-hero__objective svg{flex:none}.phase-hero__countdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff40;border-radius:15px;flex:none;align-items:center;gap:10px;max-width:300px;padding:14px 17px;font-size:15px;font-weight:750;display:flex}.phase-progress{z-index:1;margin-top:30px;position:relative}.phase-progress__label{justify-content:space-between;align-items:center;margin-bottom:9px;font-size:13px;display:flex}.phase-progress__label span{color:#ffffffb8}.phase-progress__label strong{font-size:18px}progress{appearance:none;background:#e7edf5;border:0;border-radius:999px;width:100%;height:8px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#e7edf5;border-radius:999px}progress::-webkit-progress-value{background:currentColor;border-radius:999px}progress::-moz-progress-bar{background:currentColor;border-radius:999px}.phase-progress progress{color:#fff;background:#fff3}.phase-progress progress::-webkit-progress-bar{background:#fff3}.phase-progress__updated{color:#ffffffa3;text-align:right;margin-top:11px;font-size:12px;display:block}.phase-progress__updated--standalone{z-index:1;margin-top:30px;position:relative}.dashboard-section{padding:clamp(20px,3vw,28px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:19px;display:flex}.section-heading h2{letter-spacing:-.02em;margin:0;font-size:clamp(20px,2.5vw,25px)}.section-heading__note{color:var(--muted);font-size:12px}.native-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.native-entry-card{min-width:0;min-height:92px;color:var(--text);background:linear-gradient(145deg,#f8faff,#fff);border:1px solid #dce7f5;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.native-entry-card:hover{border-color:#b8cdec;transform:translateY(-2px);box-shadow:0 10px 24px #3268c81c}.native-entry-card__icon{width:44px;height:44px;color:var(--primary);background:#e9f1ff;border-radius:13px;place-items:center;display:inline-grid}.native-entry-card__copy{gap:5px;min-width:0;display:grid}.native-entry-card__copy strong{font-size:15px}.native-entry-card__copy small{color:var(--muted);font-size:11px;line-height:1.45}.native-entry-card__status{color:var(--primary);font-size:11px;font-weight:800}.native-entry-card--disabled,.resource-directory-card--disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.58}.native-entry-card--disabled:hover{box-shadow:none;border-color:#dce7f5;transform:none}.robot-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.robot-directory-card{--robot-color:var(--primary);background:linear-gradient(180deg, color-mix(in srgb, var(--robot-color) 7%, white), white 42%);border:1px solid #e2e9f2;border-radius:16px;gap:15px;min-width:0;padding:18px;display:grid;position:relative;overflow:hidden}.robot-directory-card:before{background:var(--robot-color);content:"";height:4px;position:absolute;inset:0 0 auto}.robot-directory-card--blue{--robot-color:var(--infantry)}.robot-directory-card--purple{--robot-color:var(--sentry)}.robot-directory-card--orange{--robot-color:var(--hero)}.robot-directory-card--gold{--robot-color:var(--engineer)}.robot-directory-card__heading{align-items:center;gap:11px;display:flex}.robot-directory-card__icon{background:color-mix(in srgb, var(--robot-color) 13%, white);width:43px;height:43px;color:var(--robot-color);border-radius:13px;flex:none;place-items:center;display:inline-grid}.robot-directory-card h3,.robot-directory-card p{margin:0}.robot-directory-card h3{font-size:16px}.robot-directory-card__heading p,.robot-directory-card__description{color:var(--muted);font-size:11px;line-height:1.5}.robot-directory-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.robot-directory-card__action{border:1px solid color-mix(in srgb, var(--robot-color) 25%, #dce7f5);min-width:0;min-height:38px;color:var(--robot-color);text-align:center;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.resource-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.resource-directory-card{min-width:0;color:var(--text);background:#f8faff;border:1px solid #dfe8f3;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;text-decoration:none;display:grid}.resource-directory-card>svg{color:var(--primary)}.resource-directory-card>span{gap:4px;min-width:0;display:grid}.resource-directory-card strong{font-size:13px}.resource-directory-card small{color:var(--muted);font-size:10px;line-height:1.4}.resource-directory-card em{color:var(--primary);font-size:10px;font-style:normal;font-weight:800}.module-notice{color:#a35c1d;background:#fff2e4;border-radius:7px;margin:-4px 0 14px;padding:5px 8px;font-size:11px;font-weight:750;display:inline-flex}.status-pill{color:var(--primary);background:#e9f1ff;border-radius:7px;padding:4px 7px;font-weight:750}.empty-state{text-align:center;background:#fafcff;border:1px dashed #d7e0ec;border-radius:14px;place-content:center;justify-items:center;gap:8px;min-height:190px;padding:24px;display:grid}.empty-state strong{font-size:15px}.empty-state p{max-width:310px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.empty-state--unavailable{color:var(--warning)}.secondary-button{color:var(--text);cursor:pointer;background:#fff;border:1px solid #d5deea;border-radius:9px;margin-top:5px;padding:8px 14px;font-size:12px;font-weight:750}.detail-page{gap:22px;min-width:0;display:grid}.detail-page__header{border-radius:var(--radius-lg);background:radial-gradient(circle at 96% 6%, #487bd21f, transparent 34%), var(--surface);border:1px solid #e3eaf3;justify-content:space-between;align-items:flex-end;gap:24px;min-width:0;padding:clamp(22px,4vw,34px);display:flex;box-shadow:0 10px 30px #23375512}.detail-page__header>div:first-child{min-width:0}.detail-page__header h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,4vw,40px)}.detail-page__header p:last-child{max-width:720px;color:var(--muted);margin:11px 0 0;font-size:14px;line-height:1.65}.detail-page__action{flex:none}.primary-link{background:var(--primary);color:#fff;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 15px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 8px 18px #3268c833}.secondary-link{width:fit-content;min-height:40px;color:var(--text);background:#fff;border:1px solid #d5deea;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.action-link--disabled{box-shadow:none;cursor:not-allowed;filter:grayscale(.45);opacity:.55}.action-link--disabled small{font-size:10px}.detail-page__notice{width:fit-content;margin:0}.detail-page__state{min-height:250px}.detail-group{border-radius:var(--radius-lg);background:var(--surface);border:1px solid #e3eaf3;min-width:0;padding:clamp(19px,3vw,27px);box-shadow:0 10px 30px #2337550f}.detail-group__heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.external-entry-note{border-radius:var(--radius-lg);background:#f8faff;border:1px solid #dfe8f3;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:13px;padding:clamp(19px,3vw,27px);display:grid}.external-entry-note>svg{color:var(--primary)}.external-entry-note strong{margin-bottom:6px;display:block}.external-entry-note p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.external-entry-page__back{justify-self:start}.more-page__logout{justify-content:space-between;align-items:center;gap:20px;display:flex}.detail-group__heading h2{letter-spacing:-.02em;margin:0;font-size:clamp(19px,2.3vw,24px)}.detail-group__heading>span{min-width:34px;min-height:30px;color:var(--primary);background:#edf3ff;border-radius:9px;place-items:center;padding:5px 9px;font-size:12px;font-weight:800;display:inline-grid}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;min-width:0;display:grid}.detail-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-card{overflow-wrap:anywhere;background:#fbfcfe;border:1px solid #e3eaf3;border-radius:15px;min-width:0;padding:17px}.detail-card__topline{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:650;display:flex}.detail-card__topline>span{align-items:center;gap:5px;display:inline-flex}.detail-card h3{margin:10px 0 13px;font-size:16px;line-height:1.45}.detail-card__field{color:var(--text);border-top:1px solid #e7edf4;grid-template-columns:auto minmax(0,1fr);gap:8px;margin:11px 0 0;padding-top:11px;font-size:12px;line-height:1.5;display:grid}.detail-card__field svg{color:var(--primary);margin-top:2px}.detail-card__field small{color:var(--muted);margin-bottom:2px;font-size:10px;display:block}.logout-button{color:var(--danger);cursor:pointer;background:#fff7fa;border:1px solid #ecc8d8;border-radius:10px;align-items:center;gap:7px;padding:10px 14px;font-size:12px;font-weight:750;display:inline-flex}.mobile-nav{z-index:20;box-shadow:var(--shadow);background:#fffffff5;border:1px solid #e0e7f1;border-radius:18px;grid-template-columns:repeat(3,1fr);padding:8px;display:grid;position:fixed;inset:auto 12px 12px}.mobile-nav__link{color:var(--muted);border-radius:11px;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.mobile-nav__link[aria-current=page]{color:var(--primary);background:#edf3ff}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=720px){.mobile-nav{display:none}}@media (width<=719px){.main-content{padding:18px 16px 124px}.season-label,.user-profile__name{display:none}.dashboard-page{gap:16px}.phase-hero{padding:23px 20px}.phase-hero__content{flex-direction:column;align-items:stretch;gap:20px}.phase-hero__objective{align-items:flex-start}.phase-hero__countdown{align-self:flex-start;max-width:none;padding:11px 13px}.phase-progress{margin-top:23px}.dashboard-section{padding:18px 16px}.section-heading{align-items:flex-start;margin-bottom:15px}.section-heading__note{text-align:right;max-width:126px}.native-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.native-entry-card{grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;min-height:150px;padding:13px}.native-entry-card__status{align-self:end}.robot-directory-grid,.resource-directory-grid{grid-template-columns:minmax(0,1fr)}.robot-directory-card__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-page{gap:16px}.detail-page__header{flex-direction:column;align-items:stretch;gap:17px;padding:21px 18px}.detail-page__action,.primary-link{width:100%}.detail-group{padding:18px 16px}.detail-grid,.detail-grid--two{grid-template-columns:minmax(0,1fr)}.detail-card__topline{align-items:flex-start}.logout-button{justify-content:center;width:100%}.more-page__logout{flex-direction:column;align-items:stretch}}@media (width>=720px) and (width<=960px){.detail-grid,.native-entry-grid,.resource-directory-grid,.robot-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=961px){.desktop-sidebar{display:block}.app-frame{margin-left:256px}.compact-brand{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
