/* らいすぴあ ミーティング — styles (palette shared with index.html / meta-ads.html) */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0;}
:root{
  --bg:#f5f2eb;--ink:#2d2d1e;--mid:#5a5a4a;--muted:#9a9a7a;--line:#e8e4d8;--line2:#c4bfaa;--gold:#c8a96e;--card:#fff;--soft:#fafaf7;
  --red:#b05555;--red-bg:#fdf0f0;--green:#3f7050;--green-bg:#eef5f0;--blue:#3a6aa0;--blue-bg:#eef3fb;--orange:#a8682a;--orange-bg:#fdf3ea;
  --stage:#1c1c14;--tile:#2b2b20;--bar:#24241a;
}
html,body{background:var(--bg);}
body{font-family:'Noto Sans JP','Hiragino Sans',sans-serif;color:var(--ink);min-height:100vh;}
input,textarea,button,select{font-family:inherit;}
button{cursor:pointer;}
a{color:#8a6a2e;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.spinner{width:15px;height:15px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;flex-shrink:0;vertical-align:-2px;}
.muted{color:var(--muted);} .small{font-size:11px;} .mid{color:var(--mid);}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.spacer{flex:1;}
[hidden]{display:none !important;}

/* ---------- header ---------- */
#header{background:var(--ink);padding:10px 16px;position:sticky;top:0;z-index:100;}
#header-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.hlogo{width:32px;height:32px;background:var(--gold);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.htitle{color:var(--bg);font-size:14px;font-weight:700;letter-spacing:.06em;}
.hsub{color:var(--gold);font-size:9px;letter-spacing:.12em;}
#tabs{display:flex;gap:4px;margin-left:12px;flex-wrap:wrap;}
#tabs button{background:none;border:1px solid transparent;color:#d8d4c4;font-size:12px;padding:6px 11px;border-radius:7px;white-space:nowrap;}
#tabs button.on{background:#3d3d2c;border-color:#6a6a54;color:#fff;font-weight:700;}
#tabs button .nb{display:inline-block;min-width:16px;padding:0 4px;margin-left:4px;border-radius:8px;background:var(--gold);color:var(--ink);font-size:10px;font-style:normal;font-weight:700;}
.hright{margin-left:auto;display:flex;gap:6px;align-items:center;}
.hlink,.hbtn{color:var(--gold);font-size:11px;text-decoration:none;border:1px solid #6a6a54;border-radius:6px;padding:4px 10px;white-space:nowrap;background:none;}
.hbtn.ok{color:#bfe0c8;border-color:#5a7a62;}

#main{max-width:1180px;margin:0 auto;padding:18px 16px 60px;}
.view{animation:fadeIn .3s ease;}
.page-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.page-head h1{font-size:18px;font-weight:700;}
.page-head p{font-size:12px;color:var(--mid);width:100%;line-height:1.7;}

/* ---------- cards, forms, buttons ---------- */
.card{background:var(--card);border-radius:14px;border:1px solid var(--line);padding:18px;}
.card+.card{margin-top:12px;}
.ctitle{font-size:13px;color:var(--mid);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
.field{display:flex;flex-direction:column;gap:5px;}
.field label{font-size:11px;color:var(--mid);font-weight:600;}
.field input,.field select,.field textarea,.inp{width:100%;padding:10px 12px;border:1.5px solid var(--line2);border-radius:9px;font-size:13px;color:var(--ink);background:var(--soft);outline:none;}
.field input:focus,.field textarea:focus,.field select:focus,.inp:focus{border-color:var(--gold);background:#fff;}
.field .hint{font-size:10px;color:var(--muted);line-height:1.6;}
.chk{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mid);}
.btn{padding:10px 16px;border-radius:9px;font-size:13px;font-weight:700;border:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;}
.btn:disabled{opacity:.55;cursor:not-allowed;}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-dark{background:var(--ink);color:var(--bg);}
.btn-ghost{background:#fff;border:1.5px solid var(--line2);color:var(--mid);font-weight:600;}
.btn-red{background:#c94c4c;color:#fff;}
.btn-sm{padding:7px 11px;font-size:12px;}
.btn-wide{width:100%;padding:13px;font-size:14px;}
.badge{display:inline-block;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;white-space:nowrap;background:#f0ede4;color:#7a7a64;}
.b-red{background:var(--red-bg);color:var(--red);} .b-green{background:var(--green-bg);color:var(--green);}
.b-blue{background:var(--blue-bg);color:var(--blue);} .b-orange{background:var(--orange-bg);color:var(--orange);}
.b-gold{background:#f7efdc;color:#7a5a20;}
.tag{display:inline-block;background:var(--bg);border:1px solid var(--line);color:var(--mid);border-radius:5px;padding:1px 6px;font-size:10px;margin:1px 2px 1px 0;white-space:nowrap;}
.tip{padding:10px 14px;background:#fff8ee;border-radius:9px;border:1px solid #e8d8b0;font-size:11px;color:#7a6030;line-height:1.75;}
.err-box{margin-top:12px;padding:12px 14px;background:var(--red-bg);border-radius:9px;border:1px solid #f0c8c8;color:var(--red);font-size:12px;line-height:1.7;}
.empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8;}
details summary{cursor:pointer;font-size:12px;color:var(--mid);font-weight:600;}
details[open] summary{margin-bottom:8px;}

/* ---------- lobby ---------- */
.lobby{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;align-items:start;}
.preview{position:relative;background:var(--stage);border-radius:14px;aspect-ratio:16/10;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.preview video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);}
.preview .ph{color:#8a8a70;font-size:12px;text-align:center;line-height:1.8;position:absolute;}
.preview .pbar{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px;}
.round{width:44px;height:44px;border-radius:50%;border:none;background:#3d3d2e;color:#fff;font-size:17px;display:inline-flex;align-items:center;justify-content:center;}
.round.off{background:#c94c4c;}
.meter{height:4px;background:#3d3d2e;border-radius:2px;overflow:hidden;margin-top:8px;}
.meter i{display:block;height:100%;width:0;background:#7cc48e;transition:width .08s;}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin:14px 0;}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line);}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:12px;}
.step{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.7;color:var(--mid);}
.step b{display:block;color:var(--ink);font-size:13px;margin-bottom:2px;}
.step .n{display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:11px;font-weight:700;align-items:center;justify-content:center;margin-right:6px;}

/* ---------- in-call room (full screen, Zoom-like) ---------- */
#room{position:fixed;inset:0;z-index:200;background:var(--stage);color:#eee;display:flex;flex-direction:column;}
.rtop{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bar);font-size:12px;flex-wrap:wrap;}
.rtop .ttl{font-weight:700;font-size:13px;}
.rtop .code{font-family:ui-monospace,monospace;color:var(--gold);letter-spacing:.06em;}
.live{display:inline-flex;align-items:center;gap:5px;background:#5a2020;color:#ffb4b4;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700;}
.live i{width:7px;height:7px;border-radius:50%;background:#ff6b6b;animation:pulse 1.4s infinite;}
.live.paused{background:#3d3d2e;color:#bdbda0;} .live.paused i{background:#9a9a7a;animation:none;}
.rbody{flex:1;display:flex;min-height:0;}
.stage{flex:1;min-width:0;padding:10px;display:flex;}
#grid{flex:1;display:grid;gap:8px;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);}
.tile{position:relative;background:var(--tile);border-radius:12px;overflow:hidden;min-height:120px;border:2px solid transparent;transition:border-color .2s;}
.tile.speaking{border-color:#7cc48e;}
.tile video{width:100%;height:100%;object-fit:cover;display:block;background:#111;}
.tile.me video{transform:scaleX(-1);}
.tile.me.sharing video,.tile.screen video{transform:none;object-fit:contain;}
.tile .avatar{position:absolute;inset:0;display:none;align-items:center;justify-content:center;}
.tile .avatar span{width:72px;height:72px;border-radius:50%;background:#4a4a38;color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.tile.camoff .avatar{display:flex;} .tile.camoff video{visibility:hidden;}
.tile .nm{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;padding:3px 8px;border-radius:5px;display:flex;gap:5px;align-items:center;max-width:calc(100% - 16px);}
.tile .nm b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tile .cap{position:absolute;left:50%;transform:translateX(-50%);bottom:38px;width:min(92%,640px);background:rgba(0,0,0,.72);color:#fff;font-size:14px;line-height:1.55;padding:6px 12px;border-radius:7px;text-align:center;opacity:0;transition:opacity .3s;pointer-events:none;}
.tile .cap.show{opacity:1;}
.hide-caps .tile .cap{display:none;}
.rbar{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:var(--bar);flex-wrap:wrap;}
.cbtn{background:none;border:none;color:#e8e4d8;min-width:62px;padding:5px 6px;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;}
.cbtn:hover{background:#34342a;}
.cbtn .ic{font-size:19px;line-height:1.2;position:relative;}
.cbtn.off .ic::after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:2px;background:#ff6b6b;transform:rotate(-35deg);}
.cbtn.on{color:var(--gold);}
.cbtn.end{background:#c94c4c;color:#fff;min-width:74px;}
.cbtn.end:hover{background:#b03c3c;}
.cbtn .cnt{position:absolute;top:-4px;right:-12px;background:var(--gold);color:var(--ink);font-size:9px;border-radius:7px;padding:0 4px;font-weight:700;}
.rsep{width:1px;height:28px;background:#3d3d2e;margin:0 4px;}

/* side panel */
#side{width:360px;flex-shrink:0;background:#f7f4ec;color:var(--ink);display:flex;flex-direction:column;border-left:1px solid #3d3d2e;}
.stabs{display:flex;border-bottom:1px solid var(--line);background:#fff;}
.stabs button{flex:1;background:none;border:none;border-bottom:2px solid transparent;padding:10px 4px;font-size:12px;color:var(--mid);}
.stabs button.on{border-bottom-color:var(--gold);color:var(--ink);font-weight:700;}
.stabs .x{flex:0 0 40px;font-size:16px;}
.spane{flex:1;overflow:auto;padding:10px 12px;min-height:0;}
.sfoot{border-top:1px solid var(--line);padding:8px 10px;background:#fff;}
.tline{font-size:12.5px;line-height:1.7;padding:5px 0;border-bottom:1px dashed #ebe6d8;}
.tline .who{font-weight:700;font-size:11px;}
.tline .tm{font-size:10px;color:var(--muted);margin-left:6px;font-variant-numeric:tabular-nums;}
.tline.interim{color:var(--muted);font-style:italic;border-bottom:none;}
.tline.sys{color:var(--muted);font-size:11px;text-align:center;}
.who.c0{color:#8a5a1a;}.who.c1{color:#3a6aa0;}.who.c2{color:#3f7050;}.who.c3{color:#9a4a7a;}.who.c4{color:#6a5ab0;}.who.c5{color:#b05555;}
.chatmsg{margin:6px 0;font-size:12.5px;line-height:1.6;}
.chatmsg .bub{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px 10px;max-width:100%;word-break:break-word;}
.chatmsg.mine{text-align:right;} .chatmsg.mine .bub{background:#f7efdc;border-color:#e8d8b0;}
.memo-item{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;margin-bottom:6px;font-size:12px;line-height:1.65;}
.memo-h{font-size:10px;letter-spacing:.1em;color:var(--muted);margin:10px 0 6px;font-weight:700;}

/* ---------- analysis results ---------- */
.card.focus{border-color:var(--gold);box-shadow:0 0 0 3px #f3e6c8;}
.need{border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:10px;background:#fff;}
.need-h{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px;}
.need-h b{font-size:14px;margin-right:4px;}
.need p{font-size:12.5px;line-height:1.8;color:#3d3d2e;}
.need .lbl{font-size:10px;color:var(--muted);letter-spacing:.08em;margin-top:8px;font-weight:700;}
.quote{border-left:3px solid var(--gold);background:var(--soft);padding:6px 10px;margin-top:5px;font-size:12px;line-height:1.7;color:#4a4a3a;border-radius:0 6px 6px 0;}
.quote .src{display:block;font-size:10px;color:var(--muted);}
.ac{list-style:none;font-size:12.5px;line-height:1.75;}
.ac li::before{content:"☐ ";color:var(--muted);}
.sect{font-size:11px;color:var(--muted);letter-spacing:.12em;margin:18px 0 8px;font-weight:700;}
.list{font-size:12.5px;line-height:1.85;padding-left:18px;}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:10px;}
.kpi{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;}
.kpi .k{font-size:10px;color:var(--muted);letter-spacing:.06em;}
.kpi .v{font-size:19px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums;}
.mtable{width:100%;border-collapse:collapse;font-size:12px;}
.mtable th{text-align:left;font-weight:600;color:var(--mid);background:#faf8f2;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap;}
.mtable td{padding:8px;border-bottom:1px solid #f0ede4;vertical-align:top;}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:#fff;}

/* backlog */
.bl{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px;background:#fff;}
.bl.done{opacity:.6;}
.bl .score{font-size:10px;color:var(--muted);text-align:center;line-height:1.2;}
.bl .score b{display:block;font-size:17px;color:var(--ink);}
.bl-h{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.bl-h b{font-size:14px;margin-right:4px;}
.bl-body{grid-column:2;font-size:12px;line-height:1.7;color:var(--mid);}
.bl-acts{grid-column:2;display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;align-items:center;}
.bl select{padding:5px 8px;border:1.5px solid var(--line2);border-radius:7px;font-size:12px;background:#fff;}

/* markdown output */
.md{font-size:13px;line-height:1.85;color:#3d3d2e;}
.md h2{font-size:16px;margin:18px 0 6px;color:var(--ink);} .md h3{font-size:14px;margin:14px 0 4px;color:var(--ink);}
.md p{margin:6px 0;} .md ul,.md ol{padding-left:20px;margin:6px 0;}
.md code{background:#f0ede4;border-radius:4px;padding:0 4px;font-size:12px;}
.md pre{background:#2d2d1e;color:#f5f2eb;border-radius:9px;padding:12px;overflow:auto;font-size:12px;line-height:1.6;margin:8px 0;white-space:pre-wrap;}
.md pre code{background:none;padding:0;color:inherit;}
.md table{border-collapse:collapse;margin:8px 0;font-size:12px;} .md th,.md td{border:1px solid var(--line);padding:5px 8px;text-align:left;}
.md blockquote{border-left:3px solid var(--gold);padding-left:10px;color:var(--mid);margin:6px 0;}
.cursor{display:inline-block;width:7px;height:14px;background:var(--gold);animation:pulse 1s infinite;vertical-align:-2px;}

/* modal & toast */
.modal{position:fixed;inset:0;background:rgba(20,20,12,.55);z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;}
.modal-box{background:#fff;border-radius:14px;max-width:520px;width:100%;padding:20px;max-height:90vh;overflow:auto;color:var(--ink);}
.modal-box h3{font-size:15px;margin-bottom:10px;}
.modal-box .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap;}
.linkbox{display:flex;gap:6px;}
.linkbox input{flex:1;font-family:ui-monospace,monospace;font-size:12px;}
#toasts{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:500;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;}
.toast{background:var(--ink);color:#fff;padding:9px 16px;border-radius:9px;font-size:12px;box-shadow:0 4px 14px rgba(0,0,0,.25);animation:fadeIn .25s;max-width:90vw;}
.toast.ok{background:#2f5a3e;} .toast.err{background:#8a3a3a;}

@media (max-width:900px){
  .lobby{grid-template-columns:1fr;}
  #side{position:absolute;right:0;top:0;bottom:0;width:min(100%,380px);z-index:5;box-shadow:-6px 0 20px rgba(0,0,0,.35);}
  .rbody{position:relative;}
  .cbtn{min-width:50px;font-size:9px;}
  .rsep{display:none;}
  #tabs{margin-left:0;order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;}
}
@media (max-width:520px){
  .rbar{gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));flex-wrap:nowrap;}
  .cbtn .lb{display:none;} .cbtn{min-width:0;flex:1;padding:6px 2px;} .cbtn .ic{font-size:20px;} .cbtn.end{min-width:0;flex:1.4;}
  #cCaps{display:none;}
  .tile .cap{font-size:12px;bottom:34px;}
  .hsub{display:none;}
}
@media print{
  #header,.no-print,#room{display:none !important;}
  body,html{background:#fff;}
  .card{border:none;padding:0;}
}
#cRec.on{color:#ff8a8a;}
.tm-play{background:none;border:1px solid var(--line);border-radius:5px;color:#8a6a2e;font-size:10px;padding:0 6px;margin-left:6px;font-variant-numeric:tabular-nums;line-height:1.6;}
.tm-play:hover{background:#f7efdc;border-color:#e8d8b0;}
.spk{border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;background:#f0ede4;color:var(--mid);}
.spk.b-gold{background:#f7efdc;color:#7a5a20;border-color:#e8d8b0;}
.spk.unset{background:#fff;border-style:dashed;color:var(--muted);}
