/* Native concept: 1586 x 992. Keep the same proportions on wide screens. */
@media(min-width:1201px){
  body .shell{max-width:1586px;padding:55px 6.1vw 20px}
  body .brand{font-size:clamp(30px,2.14vw,34px)}
  body .account{font-size:19px;gap:34px}
  body .account button{min-width:113px;min-height:60px}
  body .intro{margin:85px 0 46px}
  body h1{font-size:clamp(60px,4.79vw,76px);line-height:1.25}
  body .intro p{font-size:clamp(25px,2.02vw,32px)}
  body .projects{gap:22px}
  body .project{padding:38px 42px 43px;min-height:454px}
  body .number{font-size:22px;margin-bottom:18px}
  body .project h2{font-size:clamp(39px,3.15vw,50px)}
  body .description{font-size:clamp(22px,1.64vw,26px);min-height:80px}
  body .status{font-size:22px}
  body .dot{width:22px;height:22px}
  body .actions>*{font-size:24px;min-height:70px}
  body footer{margin-top:53px;font-size:16px}
}
:root{color-scheme:light;--ink:#09172d;--muted:#707b8e;--accent:#3947e8;--border:#cdd5e3;--green:#25a86f;--radius:14px;font-family:Inter,"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;font-synthesis:none;color:var(--ink);background:#fff}
*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 23px;border:1px solid transparent;border-radius:9px;background:var(--accent);color:white;font:600 19px/1.4 inherit;font-family:inherit;font-size:19px;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}button:hover:not(:disabled),.button:hover{background:#2b37c7}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8793ff;outline-offset:4px}.outline{border-color:#58667d;background:#fff;color:#58667d}.outline:hover:not(:disabled){background:#f5f7fc}button:disabled,.button[aria-disabled=true]{background:#eef0f4;color:#929cae;border-color:var(--border);cursor:not-allowed;pointer-events:none}.shell{max-width:1440px;padding:48px 88px 30px;margin:auto}header{display:flex;justify-content:space-between;align-items:center}.brand{font-size:30px;line-height:1.25;font-weight:800;color:var(--ink);text-decoration:none}.account{display:flex;align-items:center;gap:28px;color:var(--muted);font-size:16px;font-weight:600}.account button{min-width:103px}.intro{margin:76px 0 45px}h1{font-size:60px;letter-spacing:-1.2px;line-height:1.35;margin:0 0 14px;font-weight:800}.intro p{font-size:28px;font-weight:500;line-height:1.6;color:var(--muted);margin:0}.projects{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project{border:1px solid var(--border);border-radius:var(--radius);padding:34px 37px 38px;display:flex;flex-direction:column;min-height:386px}.number{font-size:20px;font-weight:650;color:var(--muted);margin-bottom:18px}.project h2{font-size:39px;line-height:1.35;letter-spacing:-.8px;margin:0 0 16px;font-weight:750}.description{font-size:22px;line-height:1.55;color:var(--muted);margin:0;min-height:80px}.status{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:600;color:#5d697e;margin:22px 0 26px}.dot{width:18px;height:18px;flex:none;border-radius:50%;background:#929caf}.ready .dot{background:var(--green)}.starting .dot,.stopping .dot{background:#d9931e;animation:breathe 1.4s infinite}.unknown .dot,.unhealthy .dot{background:#cc6672}.actions{display:flex;gap:16px;margin-top:auto}.actions>*{flex:1;padding:16px 14px;white-space:nowrap}.project .note{color:var(--muted);font-size:15px;margin:12px 0 0}footer{display:flex;align-items:center;justify-content:center;gap:18px;border-top:1px solid var(--border);margin-top:48px;padding:22px 0;color:var(--muted);font-size:15px;line-height:1.7}.text-button{min-height:44px;background:transparent;color:#4b5acf;padding:7px;font-size:15px}.text-button:hover:not(:disabled){background:#f2f4ff}.message{padding:14px 18px;margin:0 0 22px;border-left:3px solid var(--accent);background:#f4f6ff;color:#334360;line-height:1.6}dialog{width:min(480px,calc(100% - 32px));padding:30px;border:1px solid var(--border);border-radius:16px;color:var(--ink);max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#09172d70}dialog h2{margin:0 0 14px;font-size:27px}dialog p{color:var(--muted);font-size:16px;line-height:1.65}label{display:block;margin-bottom:8px;font-size:16px;font-weight:600}input{width:100%;min-height:50px;border:1px solid #a9b4c7;border-radius:8px;padding:12px;font-family:inherit;font-size:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.error{color:#ad334c;min-height:24px}.dialog-actions button{font-size:17px}button[hidden],a[hidden],[hidden]{display:none!important}@keyframes breathe{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:1200px){.shell{padding:38px 48px}.intro{margin-top:65px}h1{font-size:48px}.intro p{font-size:24px}.project{padding:28px;min-height:365px}.project h2{font-size:32px}.description{font-size:19px}.actions>*{font-size:17px}}@media(max-width:700px){.shell{padding:26px 24px 16px}.brand{font-size:23px}.account{gap:10px;font-size:13px}.account button{min-height:44px;min-width:82px;padding:8px 12px;font-size:15px}.intro{margin:48px 0 30px}h1{font-size:35px;line-height:1.5;letter-spacing:-1px;max-width:340px}.intro p{font-size:18px;line-height:1.7}.projects{grid-template-columns:1fr;gap:20px}.project{padding:25px;min-height:330px}.project h2{font-size:27px;letter-spacing:-.5px}.number{font-size:16px;margin-bottom:16px}.description{font-size:18px;min-height:0}.status{font-size:17px;margin:24px 0}.dot{width:14px;height:14px}.actions{gap:10px}.actions>*{font-size:16px;min-height:50px;padding:13px 8px}footer{flex-direction:column;gap:0;text-align:center;margin-top:30px;padding:20px 0;font-size:14px}.dialog-actions{flex-wrap:wrap}.dialog-actions>*{flex:1}.account #mode{display:none}}
