/* Layout: one phone-width column like a lighthouse log: greeting, role chips, then rooms (CEO室 / 事業の分野) as tappable rows */
:root{
  --bg:#f3f1ec; --surface:#ffffff; --ink:#132239; --muted:#5d6778; --line:#dfe2e8;
  --navy:#1e3557; --gold:#b8955a; --gold-soft:#f1e8d6; --live:#2f7d5b; --live-soft:#e3f1ea; --prep:#8a8f99; --prep-soft:#eceef1;
  --f-display:"Shippori Mincho","Hiragino Mincho ProN",serif;
  --f-body:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0e1626; --surface:#16213a; --ink:#e9edf4; --muted:#9aa5b8; --line:#2a3754;
  --navy:#8fb0e0; --gold:#d6b67c; --gold-soft:#2c2a24; --live:#6fcf9f; --live-soft:#173328; --prep:#8d95a3; --prep-soft:#222c40; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e1626; --surface:#16213a; --ink:#e9edf4; --muted:#9aa5b8; --line:#2a3754;
  --navy:#8fb0e0; --gold:#d6b67c; --gold-soft:#2c2a24; --live:#6fcf9f; --live-soft:#173328; --prep:#8d95a3; --prep-soft:#222c40; color-scheme:dark}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6}
.wrap{max-width:560px;margin:0 auto;padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:22px}
.demo{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px dashed var(--gold);border-radius:10px;background:var(--gold-soft)}
.demo p{margin:0;font-size:12.5px;color:var(--muted)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--bg);font-weight:700}
button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:22px;letter-spacing:.08em;color:var(--navy)}
.logo svg{width:30px;height:30px}
.where{font-size:12.5px;color:var(--muted)}
.hello small{display:block;color:var(--muted);font-size:13px}
.hello h1{margin:2px 0 10px;font-family:var(--f-display);font-size:28px;line-height:1.3;text-wrap:balance}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:12.5px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--gold-soft);color:var(--ink)}
.sec{display:flex;flex-direction:column;gap:10px}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.sec-h h2{margin:0;font-size:13px;letter-spacing:.06em;color:var(--muted);font-weight:700}
.sec-h span{font-size:12px;color:var(--muted)}
.row{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;cursor:pointer;text-align:left;font:inherit;width:100%}
.row:hover{border-color:var(--gold)}
.row .ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:var(--bg);font-weight:700;font-size:15px}
.row.ceo .ic{background:var(--gold);color:#132239}
.row.dim{cursor:default}
.row.dim .ic{background:var(--prep-soft);color:var(--prep)}
.row .t{min-width:0}
.row .t b{display:block;font-size:16px}
.row .t span{display:block;font-size:12.5px;color:var(--muted)}
.row .go{color:var(--muted);font-size:20px}
.pill{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;margin-left:6px;vertical-align:2px}
.pill.live{background:var(--live-soft);color:var(--live)}
.pill.prep{background:var(--prep-soft);color:var(--prep)}
.pill.main{background:var(--gold-soft);color:var(--gold)}
.back{font:inherit;font-size:14px;color:var(--navy);background:none;border:0;padding:0;cursor:pointer;font-weight:700;align-self:flex-start}
.page-h h1{margin:0;font-family:var(--f-display);font-size:24px}
.page-h p{margin:4px 0 0;color:var(--muted);font-size:13px}
.note{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.who{display:flex;flex-wrap:wrap;gap:6px}
.pill.try{background:var(--gold-soft);color:var(--gold)}
.qcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px}
.qcard h3{margin:0;font-size:16px}
.qcard .rate{display:block;font-size:12.5px;color:var(--gold);font-weight:700}
.q{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--line)}
.q p{margin:0}
.q .doc{font-size:12px;color:var(--muted)}
.q.duty .qt::before{content:"参考 ";font-size:11px;color:var(--muted);font-weight:700}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opts button{font:inherit;font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.opts button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--bg);font-weight:700}
.res{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;font-size:14px}
.badge{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}
.b-ok{background:var(--live-soft);color:var(--live)}.b-ng{background:#f6dcdc;color:#a33a3a}.b-q{background:var(--gold-soft);color:var(--gold)}.b-na{background:var(--prep-soft);color:var(--prep)}
:root[data-theme="dark"] .b-ng{background:#3d2226;color:#f19a9a}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .b-ng{background:#3d2226;color:#f19a9a}}
.miss{margin:0;padding-left:18px;font-size:13px;display:flex;flex-direction:column;gap:4px}
.small{font-size:12px;color:var(--muted);margin:0}
.sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sum div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.sum b{display:block;font-size:22px;font-variant-numeric:tabular-nums;color:var(--navy)}
.sum span{font-size:12px;color:var(--muted)}
.next{background:var(--navy);color:var(--bg);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}
.next small{font-size:12px;opacity:.8}
.next b{font-size:17px}
.next ul{margin:0;padding-left:18px;font-size:13.5px}
.day{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:start}
.dno{font-family:var(--f-display);font-size:20px;color:var(--navy);text-align:right;line-height:1.2;padding-top:10px;font-variant-numeric:tabular-nums}
.dno small{display:block;font-family:var(--f-body);font-size:11px;color:var(--muted)}
.day.today .dno{color:var(--gold)}
.jobs{display:flex;flex-direction:column;gap:6px;min-width:0}
.job{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;display:grid;grid-template-columns:44px 1fr;gap:2px 10px;align-items:baseline}
.job time{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.job .jt{min-width:0}
.job .jt b{font-size:14px;font-weight:500}
.job .meta{grid-column:2;display:flex;flex-wrap:wrap;gap:4px}
.co{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--prep-soft);color:var(--ink)}
.md{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px}
.md.auto{background:var(--live-soft);color:var(--live)}
.md.ok{background:var(--gold-soft);color:var(--gold)}
.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tabs button{font:inherit;font-size:12.5px;padding:4px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--bg);font-weight:700}
.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);align-items:center}
.talk{background:var(--navy);color:var(--bg);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
.talk b{font-size:16px}
.talk small{font-size:12px;opacity:.85}
.talk textarea{font:inherit;color:var(--ink);background:var(--surface);border:0;border-radius:10px;padding:9px 11px;width:100%;min-height:60px;resize:vertical;box-sizing:border-box}
.talk .tbtn{font:inherit;font-weight:700;border:0;border-radius:999px;padding:8px 18px;background:var(--gold);color:#132239;cursor:pointer}
.talk .tbtn[disabled]{opacity:.5;cursor:default}
.talk .trow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.talk .tmsg{font-size:12.5px;opacity:.85}
.talk .mic{font:inherit;font-weight:700;border:1px solid var(--gold);border-radius:999px;padding:7px 14px;background:transparent;color:var(--bg);cursor:pointer}
.talk .mic[aria-pressed="true"]{background:#a33a3a;border-color:#a33a3a;color:#fff}
.row{box-sizing:border-box;min-width:0}
.talk textarea{font-size:16px;min-height:96px;line-height:1.6}
.att{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.att label.fbtn{font-size:14px;font-weight:700;border:1px dashed var(--gold);border-radius:999px;padding:7px 14px;cursor:pointer;color:var(--bg)}
.att input[type=file]{position:absolute;left:-9999px}
.att .fchip{font-size:12px;background:var(--surface);color:var(--ink);border-radius:999px;padding:3px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.talk .tbtn{font-size:16px;padding:12px 22px}
@media (max-width:899px){
  .wrap{gap:18px}
  .demo{padding:8px 10px;gap:6px}
  .demo p{display:none}
  .seg button{font-size:12px;padding:4px 10px}
  .hello h1{font-size:24px;margin-bottom:6px}
  .talk{padding:16px}
  .talk b{font-size:18px}
  .talk small{font-size:13px}
  .talk .trow{flex-direction:column;align-items:stretch}
  .talk .tbtn,.talk .mic{width:100%}
}
.row .t b .pill{display:inline-block}
.lead{display:flex;flex-direction:column;gap:22px}
@media (min-width:900px){
  .wrap{max-width:1080px;gap:28px}
  .hello h1{font-size:34px}
  .lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}
  .sec:has(> .row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sec:has(> .row) > .sec-h{grid-column:1/-1}
  .page-h h1{font-size:30px}
  .jobs{min-width:0}
}
@media (min-width:1280px){.sec:has(> .row){grid-template-columns:repeat(3,minmax(0,1fr))}}

body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.login{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.login label{font-size:13px;font-weight:700}
.login input{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.btn{font:inherit;font-weight:700;padding:10px 14px;border-radius:10px;border:0;background:var(--navy);color:var(--bg);cursor:pointer}
.btn.sub{background:none;color:var(--navy);border:1px solid var(--line)}
.msg{font-size:13px;color:var(--muted);margin:0}
