*{box-sizing:border-box}
[hidden]{display:none!important}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:14px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1100px; margin:0 auto; padding:28px 28px 60px}

.masthead{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:24px; margin-bottom:8px;
}
.wordmark{
  font-size:30px; font-weight:700; letter-spacing:-.02em; line-height:1;
  margin:0; color:var(--ink);
}
.masthead-meta{font-size:13px; color:var(--muted); text-align:right; white-space:nowrap}
.masthead-meta a{color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--rule-strong)}
.masthead-meta a:hover{color:var(--ink)}

.tools-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.tile{
  display:flex; flex-direction:column; gap:8px;
  padding:22px 22px 20px; min-height:140px;
  background:var(--surface); border:1px solid var(--rule); border-radius:var(--radius);
  position:relative; color:var(--ink);
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.tile:hover{background:var(--surface-hover); border-color:var(--rule-strong); transform:translateY(-1px)}
.tile-name{font-size:16px; font-weight:600; letter-spacing:-.01em}
.tile-status{
  position:absolute; top:18px; right:18px;
  font-size:9px; letter-spacing:.1em; text-transform:uppercase;
}
.tile[data-status="running"] .tile-status{color:var(--good)}
.tile[data-status="failed"] .tile-status{color:var(--bad)}
.tile[data-status="provisioning"] .tile-status{color:var(--soon)}
.tile-links{margin-top:auto; display:flex; gap:14px; font-size:13px}
.tile-links a{color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--rule-strong)}
.tile-links a:hover{color:var(--ink)}

.btn{
  display:inline-block; padding:9px 16px; border:none; border-radius:var(--radius-sm);
  background:var(--ink); color:#fff; font:inherit; font-size:13px; font-weight:600;
  cursor:pointer; text-decoration:none; text-align:center;
  transition:background .15s ease;
}
.btn:hover{background:#000}
.btn-secondary{
  background:transparent; color:var(--ink); border:1px solid var(--rule-strong);
}
.btn-secondary:hover{background:var(--rule); color:var(--ink)}

.intro-stage{
  min-height:100vh; padding:48px 24px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:28px;
}
#intro-orb.is-skippable{cursor:pointer}
.intro-line{
  font-size:clamp(18px, 2.2vw, 24px); font-weight:500; letter-spacing:-.01em;
  line-height:1.4; min-height:1.4em; margin:0; color:var(--ink);
}
.intro-caret{
  display:inline-block; width:1ch; height:1em; vertical-align:text-bottom;
  background:var(--ink); animation:caret-blink .85s step-end infinite;
}
@keyframes caret-blink{50%{opacity:0}}

.signin{
  max-width:380px; margin:0 auto; padding:0 24px; text-align:center;
  opacity:0; transform:translateY(8px);
  transition:opacity var(--dur-morph) var(--ease-morph), transform var(--dur-morph) var(--ease-morph);
}
.signin.is-ready{opacity:1; transform:translateY(0)}
.signin .wordmark{font-size:34px; margin-bottom:24px}
.signin .btn{display:inline-block}
.signin-providers{display:flex; flex-direction:column; gap:12px; align-items:stretch}
.signin-providers .btn{width:100%}
.signin .muted{color:var(--muted); font-size:13px; margin-top:18px}

.masthead-orb{width:36px; height:36px; vertical-align:middle; margin-right:10px}

.tile[data-status="provisioning"] .tile-status::before{
  content:""; display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--soon); margin-right:6px; vertical-align:middle;
  animation:dot-pulse 1.6s ease-in-out infinite;
}
@keyframes dot-pulse{50%{opacity:.35}}

@keyframes tile-in{
  from{opacity:0; transform:translateY(6px)}
  to{opacity:1; transform:translateY(0)}
}
@media (prefers-reduced-motion: no-preference){
  .tile{animation:tile-in var(--dur-pop) var(--ease-pop) backwards}
  .tile:nth-child(1){animation-delay:calc(var(--stagger-step) * 1)}
  .tile:nth-child(2){animation-delay:calc(var(--stagger-step) * 2)}
  .tile:nth-child(3){animation-delay:calc(var(--stagger-step) * 3)}
  .tile:nth-child(4){animation-delay:calc(var(--stagger-step) * 4)}
  .tile:nth-child(5){animation-delay:calc(var(--stagger-step) * 5)}
  .tile:nth-child(6){animation-delay:calc(var(--stagger-step) * 6)}
  .tile:nth-child(7){animation-delay:calc(var(--stagger-step) * 7)}
  .tile:nth-child(8){animation-delay:calc(var(--stagger-step) * 8)}
}
@media (prefers-reduced-motion: reduce){
  .intro-caret{animation:none}
  .signin{opacity:1; transform:none; transition:none}
  .tile[data-status="provisioning"] .tile-status::before{animation:none}
}

@media (max-width:960px){ .tools-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){
  .wrap{padding:18px}
  .tools-grid{grid-template-columns:1fr}
  .masthead{flex-direction:column}
  .masthead-meta{text-align:left}
}

.wordmark a{color:inherit;text-decoration:none}
.sp-back{display:inline-block;font-size:12px;color:var(--ink-soft);text-decoration:none;margin:18px 0 0}
.sp-back:hover{text-decoration:underline}
.tile-by{font-size:11px;color:var(--muted)}

@view-transition{navigation:auto}
@media (prefers-reduced-motion: reduce){
@view-transition{navigation:none}
}

.mg-wrap{max-width:760px}
.mg-section{margin:30px 0 0}
.mg-title{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 12px}
.mg-card{
  background:var(--surface);border:1px solid var(--rule);border-radius:14px;
  box-shadow:0 1px 2px rgba(13,13,13,.04),0 6px 24px rgba(13,13,13,.05);
  overflow:hidden;
}
.mg-card + .mg-card{margin-top:14px}
.mg-card-head{display:flex;align-items:baseline;gap:10px;padding:16px 18px 2px}
.mg-card-title{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0}
.mg-card-count{font-size:12px;color:var(--muted)}
.mg-table{width:100%;border-collapse:collapse;font-size:14px}
.mg-table th{
  padding:14px 18px 8px;text-align:left;
  font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
}
.mg-table td{padding:10px 18px;border-top:1px solid var(--rule);vertical-align:middle}
.mg-table tbody tr:hover td{background:rgba(0,0,0,.02)}
.mg-email{font-weight:500}
.mg-name{color:var(--ink-soft)}
.mg-role{
  font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
}
.mg-pill{
  display:inline-block;padding:3px 10px;border-radius:999px;
  background:var(--ink);color:#fff;
  font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
}
.mg-actions{text-align:right;white-space:nowrap}
.mg-act{
  display:inline-block;padding:5px 12px;border-radius:999px;border:1px solid transparent;
  background:transparent;font:inherit;font-size:12px;font-weight:500;color:var(--muted);
  cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;
}
.mg-act:hover{color:var(--ink);border-color:var(--rule-strong);background:var(--surface-hover)}
.mg-empty{color:var(--muted);font-size:13px}
.mg-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--rule)}
.mg-input,.mg-select{
  height:34px;padding:0 12px;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);
  background:var(--surface);font:inherit;font-size:13px;color:var(--ink);min-width:0;
}
.mg-input:focus,.mg-select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(13,13,13,.10)}
.mg-select{
  appearance:none;-webkit-appearance:none;padding-right:30px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:14px;
}
.mg-grow{flex:1 1 140px}
.mg-form .btn{height:34px;padding:0 16px;font-size:13px}

/* /_me — "How Otto talks": preset cards + style note. */
.me-lede{margin:0 0 14px;color:var(--ink-soft);font-size:14px}
.me-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.me-style{
  display:flex;flex-direction:column;gap:8px;text-align:left;padding:16px;
  background:var(--surface);border:1px solid var(--rule);border-radius:14px;
  font:inherit;color:var(--ink);cursor:pointer;
  box-shadow:0 1px 2px rgba(13,13,13,.04),0 6px 24px rgba(13,13,13,.05);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.me-style:hover{border-color:var(--rule-strong)}
.me-style.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),0 6px 24px rgba(13,13,13,.05)}
.me-style:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.me-style-label{font-size:14px;font-weight:600;letter-spacing:-.01em}
.me-style-blurb{font-size:12.5px;color:var(--ink-soft);line-height:1.45}
.me-style-sample{
  font-size:12.5px;color:var(--muted);line-height:1.5;font-style:italic;
  border-top:1px solid var(--rule);padding-top:8px;margin-top:auto;
}
.me-note-card{margin-top:14px;padding:16px 18px}
.me-note-label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.me-note{
  width:100%;min-height:84px;resize:vertical;padding:10px 12px;
  border:1px solid var(--rule-strong);border-radius:var(--radius-sm);
  background:var(--surface);font:inherit;font-size:13px;color:var(--ink);line-height:1.5;
}
.me-note:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(13,13,13,.10)}
.me-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}
.me-actions .btn{height:34px;padding:0 16px;font-size:13px}
.me-status{font-size:12.5px;color:var(--muted)}
.me-foot{margin:14px 0 0;font-size:12.5px;color:var(--muted)}

@media (max-width:640px){
  .intro-stage{padding:24px 16px}
  .signin{padding:0 12px}
}
