/* ===== space ブランドスタイル ===== */
:root{
  --navy:#171A4B; --navy2:#222a63; --teal:#2ED1D1; --teal-d:#19b3b3;
  --gold:#FFD65C; --ink:#1f2440; --dim:#6b7088; --faint:#9aa0b8;
  --line:#e6e8f2; --line-soft:#eef0f7; --bg:#f5f6fb; --card:#fff;
  --green:#16a34a; --red:#dc2626; --orange:#c2410c;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;-webkit-text-size-adjust:100%;}
.wrap{max-width:560px;margin:0 auto;padding:0 14px 44px;}
.hidden{display:none !important;}
a{color:inherit;}

/* ヘッダー */
.hd{display:flex;align-items:center;gap:10px;padding:12px 4px 10px;position:sticky;top:0;background:var(--bg);z-index:50;}
.hd__logo{height:26px;}
.hd__sub{font-size:11.5px;color:var(--faint);}
.hd__right{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.chip{font-size:12.5px;background:#fff;border:1px solid var(--line);color:var(--navy);border-radius:999px;padding:6px 12px;cursor:pointer;white-space:nowrap;}
#tenantChip{max-width:150px;overflow:hidden;text-overflow:ellipsis;}
.linkbtn{white-space:nowrap;}
.chip--svc{background:var(--navy);color:#fff;border-color:var(--navy);}
.linkbtn{font-size:12px;background:none;border:none;color:var(--dim);cursor:pointer;padding:6px;}

/* ヒーロー（タグライン） */
.hero{text-align:center;padding:8px 0 4px;}
.hero__tag{font-size:13px;color:var(--dim);}

/* 入力・カード */
.field{width:100%;padding:13px 14px;font-size:16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;}
.sec-label{font-size:12.5px;font-weight:700;color:var(--dim);margin:14px 4px 7px;}
.card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:15px 16px;margin-bottom:9px;cursor:pointer;font-family:inherit;transition:border-color .12s,transform .05s;}
.card:active{transform:scale(0.99);}
.card--hot{border-color:var(--teal);background:#f0fdfd;}
.card__name{font-size:17px;font-weight:700;color:var(--navy);}
.card__meta{font-size:12.5px;color:var(--dim);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.badge{font-size:11px;font-weight:700;color:#fff;background:var(--teal-d);border-radius:999px;padding:2px 9px;}
.card__go{margin-left:auto;color:var(--teal-d);font-size:22px;}

/* サービス選択 */
.svc-grid{display:grid;gap:12px;margin-top:10px;}
.svc{display:flex;align-items:center;gap:14px;background:#fff;border:2px solid var(--line);border-radius:16px;padding:18px 18px;cursor:pointer;font-family:inherit;text-align:left;}
.svc__ic{font-size:30px;width:46px;text-align:center;}
.svc__name{font-size:18px;font-weight:800;color:var(--navy);}
.svc__d{font-size:12.5px;color:var(--faint);}
.svc--soon{opacity:.55;}

/* ボタン */
.btn{display:block;width:100%;padding:20px;font-size:20px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-d));border:none;border-radius:16px;cursor:pointer;margin-top:14px;box-shadow:0 6px 18px rgba(46,209,209,.28);}
.btn--stop{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 6px 18px rgba(220,38,38,.28);animation:pulse 1.6s ease-in-out infinite;}
.btn--navy{background:linear-gradient(135deg,var(--navy2),var(--navy));box-shadow:0 6px 18px rgba(23,26,75,.25);}
@keyframes pulse{0%,100%{box-shadow:0 6px 18px rgba(220,38,38,.28);}50%{box-shadow:0 6px 26px rgba(220,38,38,.5);}}
.sub{display:block;width:100%;padding:14px;font-size:16px;font-weight:700;border-radius:12px;cursor:pointer;margin-top:10px;font-family:inherit;}
.sub--ghost{background:#fff;border:1.5px solid var(--line);color:var(--navy);}
.sub--pause{background:#fff7ed;border:1.5px solid #fdba74;color:#c2410c;}
.back{background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:8px 4px;}

/* 録音 */
.rec-top{text-align:center;padding:10px 0 4px;}
.rec-name{font-size:22px;font-weight:800;color:var(--navy);}
.rec-sub{font-size:13px;color:var(--dim);margin-top:2px;}
.happo{display:block;height:150px;margin:8px auto 2px;}
.cap{text-align:center;font-size:14px;color:var(--teal-d);font-weight:700;min-height:20px;}
.timer{text-align:center;font-size:44px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:1px;margin:6px 0 0;}
.size{text-align:center;font-size:12.5px;color:var(--dim);min-height:18px;}

.warn{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.6;margin:10px 0;}
.proc{text-align:center;padding:30px 10px;}
.spin{width:48px;height:48px;border:5px solid #d8f6f6;border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px;}
@keyframes spin{to{transform:rotate(360deg);}}
.proc__msg{font-size:16px;font-weight:700;color:var(--navy);}
.proc__sub{font-size:13px;color:var(--dim);margin-top:6px;}
.bar{height:8px;background:#d8f6f6;border-radius:6px;overflow:hidden;margin:14px auto 0;max-width:280px;}
.bar__f{height:100%;width:0;background:var(--teal);transition:width .2s;}

.done-head{display:flex;align-items:center;gap:10px;background:#eefcfb;border:1px solid #b8f0ef;border-radius:12px;padding:13px 15px;margin:8px 0 14px;}
.transcript{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:14px;font-size:15px;line-height:1.85;color:#222;white-space:pre-wrap;max-height:44vh;overflow:auto;}
.structure{background:#fff;border:1px dashed var(--line);border-radius:12px;padding:14px;margin-top:14px;}
.struct-btn{display:inline-block;margin:0 6px 6px 0;padding:9px 14px;font-size:14px;font-weight:700;background:#f0fdfd;border:1.5px solid #b8f0ef;color:var(--teal-d);border-radius:10px;cursor:pointer;font-family:inherit;}
.struct-btn:disabled{opacity:.5;}
