:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f7f5;background:#001b14}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{text-decoration:none}button,input,textarea{font:inherit}.mol-theme{background:radial-gradient(circle at 50% -10%,#07533e 0,#003c2e 31%,#00281f 60%,#001711 100%);color:#f4f7f5}.player-app{width:min(760px,100%);margin:0 auto;padding:12px 16px 28px}.player-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:9px 2px 14px}.brand-mini{font-size:10px;letter-spacing:.17em;font-weight:900;color:#8bc4b1}.player-name{text-align:center;font-size:14px;font-weight:850;color:#ecf7f2}.logout-link{justify-self:end;color:#87ad9f;font-size:12px}.brand-hero{width:min(270px,72vw);aspect-ratio:1;margin:12px auto 18px;border-radius:24px;overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.04)}.brand-hero img{display:block;width:100%;height:100%;object-fit:cover}.welcome-copy{text-align:center;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:900}.eyebrow.green{color:#79c5a9}.welcome-copy h1{font-size:31px;line-height:1.1;margin:6px 0 8px;letter-spacing:-.02em}.muted{color:#a7bcb4;line-height:1.5}.main-menu{display:grid;grid-template-columns:1fr 1fr;gap:14px}.menu-card{min-height:150px;border:1px solid rgba(129,190,168,.19);border-radius:20px;padding:19px;text-align:center;color:#f6fbf9;background:linear-gradient(145deg,rgba(6,68,52,.94),rgba(2,42,32,.98));box-shadow:0 12px 30px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.menu-card:active{transform:scale(.98)}.menu-card:hover{border-color:rgba(142,221,194,.35)}.menu-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;margin-bottom:auto;background:rgba(122,202,173,.12);border:1px solid rgba(130,211,183,.16);font-size:22px;font-weight:900;color:#b7ead5}.menu-title{font-size:22px;font-weight:900;letter-spacing:-.02em}.menu-sub{margin-top:3px;font-size:12px;color:#9fc0b4}.action-card{background:linear-gradient(145deg,rgba(12,84,62,.98),rgba(3,49,38,.98));border-color:rgba(140,220,188,.30)}.game-status{display:flex;justify-content:center;align-items:center;gap:8px;margin:20px 0 8px;color:#94b4a8;font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#62c99b;box-shadow:0 0 12px rgba(98,201,155,.55)}.player-view{display:none}.player-view.active{display:block}.detail-view{padding-bottom:20px}.back-button{border:1px solid rgba(129,190,168,.18);background:rgba(0,30,23,.45);color:#b7d2c8;border-radius:12px;padding:10px 13px;margin:7px 0 24px;cursor:pointer}.section-heading h1{font-size:32px;line-height:1.1;margin:6px 0 8px}.placeholder-card,.action-placeholder,.notebook-paper{background:linear-gradient(145deg,rgba(5,58,44,.95),rgba(1,30,23,.98));border:1px solid rgba(129,190,168,.18);border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.24)}.placeholder-card{padding:24px}.role-placeholder{text-align:center;padding:42px 22px}.big-symbol{width:82px;height:82px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;border:1px solid rgba(132,210,184,.28);background:rgba(110,194,164,.10);font-size:42px;font-weight:900;color:#a5dfc8}.placeholder-card h2,.action-placeholder h2{margin:0 0 8px}.score-placeholder{text-align:center;padding:36px 12px}.placeholder-kicker{font-size:10px;letter-spacing:.17em;font-weight:900;color:#74c2a4;display:block;margin-bottom:10px}.score-placeholder strong{display:block;font-size:22px}.notebook-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:10px -2px 0;scrollbar-width:none}.notebook-tabs::-webkit-scrollbar{display:none}.notebook-tab{flex:0 0 auto;border:1px solid rgba(129,190,168,.17);background:rgba(0,33,25,.52);color:#a7beb5;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}.notebook-tab.active{background:#75bf9f;color:#00261c;border-color:#9bdfc5}.notebook-paper{margin-top:4px;background:linear-gradient(145deg,#eef2e9,#d9e1d6);color:#1f2b25;padding:18px;box-shadow:0 20px 40px rgba(0,0,0,.26)}.paper-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#356050;padding-bottom:12px;border-bottom:1px solid #aebbae}.notebook-paper textarea{display:block;width:100%;min-height:360px;margin-top:14px;border:0;outline:0;resize:vertical;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#bfc9bd 32px);color:#1d2923;font-size:16px;line-height:32px;padding:0 2px}.notebook-paper textarea::placeholder{color:#748579}.save-line{font-size:11px;color:#66806f;margin-top:10px;text-align:right}.action-placeholder{text-align:center;padding:46px 20px}.action-mark{width:86px;height:86px;display:grid;place-items:center;margin:0 auto 20px;border-radius:20px;background:#78c3a3;color:#012d21;font-weight:1000;font-size:50px;box-shadow:0 12px 30px rgba(51,156,119,.25)}@media(max-width:520px){.player-app{padding:8px 13px 24px}.player-topbar{grid-template-columns:1fr auto}.logout-link{display:none}.brand-hero{width:min(230px,68vw);margin-top:8px}.welcome-copy h1{font-size:28px}.main-menu{gap:10px}.menu-card{min-height:145px;padding:15px;border-radius:17px}.menu-title{font-size:19px}.menu-sub{font-size:11px}.menu-icon{width:41px;height:41px;font-size:19px;border-radius:12px}.notebook-paper textarea{min-height:330px}}

/* Host / room / login styles retained for the separate control screens. */
.dark{background:radial-gradient(circle at top,#1d2330 0,#10131a 46%);color:#f5f7fb}.shell{width:min(760px,100%);margin:0 auto;padding:18px}.narrow{width:min(520px,100%);display:grid;place-items:center;min-height:100vh}.card{background:#191e28;border:1px solid #2b3342;border-radius:22px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-card{width:100%}.dark .eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:#9da8bb}.topbar{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 18px}.topbar a{color:#aeb8c8}.hero{text-align:center;padding:36px 24px}.pill{display:inline-block;padding:6px 10px;border:1px solid #465269;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.09em;color:#b9c4d7}.huge{font-size:88px;line-height:1;font-weight:850;margin-top:18px}.dark h1{font-size:30px;margin:8px 0}.dark .muted{color:#aeb8c8;line-height:1.55}.personal{margin:26px auto 18px;padding:18px;border-radius:16px;background:#11151d;border:1px dashed #414b5d;text-align:left}.personal span{color:#8f9bad;font-size:14px}.sync{margin-top:18px;font-size:13px;color:#8fd19c}.error{margin:14px 0;padding:12px 14px;border-radius:12px;background:#3a2025;color:#ffb9c3}.dark label{display:block;font-size:14px;font-weight:700;margin:16px 0}.dark input{width:100%;margin-top:8px;padding:14px;border-radius:12px;border:1px solid #394253;background:#11151d;color:#fff;font-size:16px;outline:none}.dark button{padding:13px 15px;border-radius:12px;border:1px solid #3d4656;background:#252c39;color:#fff;font-size:15px;font-weight:750;cursor:pointer}.dark .primary{width:100%;border-color:#6a78ff;background:#5968ff}.host-state{display:flex;align-items:center;justify-content:space-between;background:#11151d;border-radius:14px;padding:16px 18px;margin:24px 0}.host-state strong{font-size:32px}.actions{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:10px}.demo-box{margin-top:20px;padding:18px;border-radius:16px;background:#11151d;border:1px solid #2c3442}.message-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.message-row input{margin-top:0}.players{margin-top:24px}.players h2{font-size:17px;margin:0 0 10px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.grid div{padding:10px 12px;background:#202633;border-radius:10px;color:#dbe2ee}.screen-overview{margin-top:28px}.overview-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.overview-head h2{margin:0 0 4px}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.screen-preview{min-width:0;background:#0c0f15;border:1px solid #2b313d;border-radius:14px;padding:14px;min-height:145px}.screen-preview.room-preview{border-style:dashed}.preview-label{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:10px}.preview-device{font-size:11px;letter-spacing:.08em;color:#8d97a8}.preview-number{font-size:38px;line-height:1;font-weight:900;margin:12px 0 6px}.preview-message{font-size:13px;color:#d9dde5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.preview-grid{gap:7px}.screen-preview{padding:9px;min-height:118px;border-radius:10px}.preview-label{font-size:11px;margin-bottom:7px}.preview-device{font-size:9px}.preview-number{font-size:28px;margin:9px 0 5px}.preview-message{font-size:10px}}@media(max-width:560px){.shell{padding:12px}.card{padding:18px;border-radius:18px}.actions{grid-template-columns:1fr}.message-row{grid-template-columns:1fr}.huge{font-size:74px}.dark h1{font-size:26px}}

.host-version { margin-top:4px; font-size:12px; color:#72d7a5; font-weight:800; letter-spacing:.08em; }
.live-view { font-size:20px; line-height:1.15; font-weight:900; margin:20px 0 10px; color:#f4f7f5; overflow-wrap:anywhere; }
.online-state { font-size:10px; color:#7c8490; text-transform:uppercase; letter-spacing:.06em; }
.online-state.is-online { color:#67d59a; }

/* v7 host control room */
.host-v7{background:#07130f}.host-shell{max-width:1500px;margin:0 auto;padding:18px}.host-control-card{margin-bottom:18px}.host-monitor{background:#091a14;border:1px solid #17382c;border-radius:18px;padding:18px}.monitor-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.monitor-heading h2{margin:3px 0 0}.monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.monitor-card{min-width:0}.monitor-label{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:0 3px 6px;font-size:12px}.monitor-label span{font-size:9px;color:#7c8490}.monitor-label span.on{color:#67d59a}.device-frame{height:360px;overflow:hidden;background:#002f24;border:2px solid #233c33;border-radius:14px;box-shadow:0 10px 28px #0007;color:#f3f5f2}.mini-top{height:30px;box-sizing:border-box;padding:8px 10px;background:#06251d;font-size:7px;letter-spacing:.08em;display:flex;justify-content:space-between}.mini-home{padding:9px 13px;text-align:center}.mini-home img{width:100%;height:92px;object-fit:cover;border-radius:8px;margin-bottom:7px}.mini-home small,.mini-detail small,.room-center small{color:#66d39a;font-size:7px;letter-spacing:.08em}.mini-home h3,.mini-detail h3,.room-center h3{font-size:16px;margin:3px 0}.mini-home p,.mini-placeholder p,.mini-action p,.room-center p{font-size:7px;color:#aab6b0;margin:3px 0 7px}.mini-menu{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.mini-menu b{font-size:9px;padding:13px 5px;background:#0c3d2e;border:1px solid #245c47;border-radius:8px}.mini-menu b.act{background:#164d38}.mini-home footer,.room-center footer{font-size:7px;color:#65ce98;margin-top:10px}.mini-detail{padding:10px 13px}.mini-detail>span{font-size:8px;color:#cbd4d0}.mini-placeholder,.mini-action{margin-top:10px;padding:20px 10px;background:#0a271f;border:1px solid #22503f;border-radius:10px;text-align:center;display:flex;flex-direction:column;gap:5px}.mini-placeholder>b,.mini-action{font-size:28px}.mini-placeholder strong,.mini-action strong{font-size:10px}.mini-tabs{display:flex;gap:3px;overflow:hidden;margin:6px 0}.mini-tabs i{font-style:normal;font-size:5.5px;padding:5px 4px;border:1px solid #315345;border-radius:5px;white-space:nowrap}.mini-tabs i.sel{background:#266a4e}.mini-paper{background:#ece9db;color:#17221e;border-radius:7px;padding:8px}.mini-paper>b{font-size:9px}.mini-note{height:155px;overflow:hidden;white-space:pre-wrap;font-size:7px;line-height:1.3;margin:6px 0;padding:6px;background:#f8f5e8;border-radius:4px}.mini-note em{color:#777}.mini-paper small{color:#66706c;font-size:6px}.room-center{text-align:center;padding:70px 15px}.room-num{font-size:70px;font-weight:900;margin:12px}.host-version{color:#67d59a}
@media(max-width:900px){.host-shell{padding:8px}.host-monitor{padding:9px}.monitor-grid{gap:6px}.device-frame{height:245px;border-radius:9px}.monitor-label{font-size:9px}.monitor-label span{display:none}.mini-top{height:22px;padding:6px;font-size:5px}.mini-home{padding:6px}.mini-home img{height:55px}.mini-home h3,.mini-detail h3,.room-center h3{font-size:10px}.mini-menu{gap:3px;margin-top:5px}.mini-menu b{font-size:6px;padding:8px 2px}.mini-home p,.mini-placeholder p,.mini-action p{font-size:5px}.mini-detail{padding:6px}.mini-placeholder,.mini-action{margin-top:5px;padding:10px 4px}.mini-note{height:95px}.room-center{padding:45px 8px}.room-num{font-size:45px}.monitor-heading .muted{display:none}}

.host-tabs { display:flex; gap:8px; margin:22px 0 18px; padding:4px; background:#0b0f0d; border:1px solid #22302a; border-radius:14px; }
.host-tab { flex:1; border:0; background:transparent; color:#a7b3ad; padding:11px 14px; border-radius:10px; font-weight:800; cursor:pointer; }
.host-tab.active { background:#174d3b; color:#f1fff8; box-shadow:0 1px 0 rgba(255,255,255,.05) inset; }
.host-panel.hidden, .screen-overview.hidden { display:none; }
.notebook-player-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.host-notebook { background:#0c0f15; border:1px solid #2b313d; border-radius:14px; overflow:hidden; }
.host-notebook-head { padding:14px 16px; border-bottom:1px solid #252b35; }
.host-notebook-head h3 { margin:4px 0 0; font-size:20px; }
.host-notes-list { display:grid; gap:0; }
.host-note-card { padding:13px 16px; border-bottom:1px solid #20252e; }
.host-note-card:last-child { border-bottom:0; }
.host-note-title { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:#72d7a5; font-weight:900; margin-bottom:7px; }
.host-note-text { white-space:pre-wrap; overflow-wrap:anywhere; color:#eef2ee; font-size:14px; line-height:1.45; min-height:20px; }
@media (max-width:820px) { .notebook-player-grid { grid-template-columns:1fr; } }

.host-tabs {
  display:flex;
  gap:8px;
  margin:22px 0 18px;
  padding:4px;
  background:#0b0f0d;
  border:1px solid #22302a;
  border-radius:14px;
}
.host-tab {
  flex:1;
  border:0;
  background:transparent;
  color:#a7b3ad;
  padding:12px 14px;
  border-radius:10px;
  font-weight:900;
  cursor:pointer;
}
.host-tab.active { background:#174d3b; color:#f1fff8; }
.host-panel.hidden, .screen-overview.hidden { display:none; }
.notebook-player-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.host-notebook { background:#0c0f15; border:1px solid #2b313d; border-radius:14px; overflow:hidden; }
.host-notebook-head { padding:14px 16px; border-bottom:1px solid #252b35; }
.host-notebook-head h3 { margin:4px 0 0; font-size:20px; }
.host-notes-list { display:grid; }
.host-note-card { padding:13px 16px; border-bottom:1px solid #20252e; }
.host-note-card:last-child { border-bottom:0; }
.host-note-title { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:#72d7a5; font-weight:900; margin-bottom:7px; }
.host-note-text { white-space:pre-wrap; overflow-wrap:anywhere; color:#eef2ee; font-size:14px; line-height:1.45; min-height:20px; }
@media (max-width:820px) { .notebook-player-grid { grid-template-columns:1fr; } }

.host-tabs{display:flex;gap:8px;margin:14px 0 18px;padding:4px;background:#08130f;border:1px solid #18362a;border-radius:14px;}
.host-tab{flex:1;border:0;background:transparent;color:#9eaaa4;padding:12px 14px;border-radius:10px;font-weight:900;cursor:pointer;}
.host-tab.active{background:#154d3a;color:#f4fff9;}
.host-panel.hidden{display:none;}
.notebook-panel{margin-top:0;}
.notebook-host-card{padding:18px;}
.notebook-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;}
.host-notebook{background:#0c0f15;border:1px solid #2b313d;border-radius:14px;overflow:hidden;}
.host-notebook-head{padding:14px 16px;border-bottom:1px solid #252b35;}
.host-notebook-head h3{margin:4px 0 0;font-size:20px;}
.host-notes-list{display:grid;}
.host-note-card{padding:13px 16px;border-bottom:1px solid #20252e;}
.host-note-card:last-child{border-bottom:0;}
.host-note-title{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#72d7a5;font-weight:900;margin-bottom:7px;}
.host-note-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#eef2ee;font-size:14px;line-height:1.45;min-height:20px;}
@media (max-width:820px){.notebook-player-grid{grid-template-columns:1fr;}}

.action-alert{display:flex;align-items:stretch;gap:14px;margin:0 0 20px;padding:16px;border:2px solid #b61f2b;background:#2b0b10;border-radius:16px;box-shadow:0 0 0 3px rgba(182,31,43,.10), 0 8px 28px rgba(0,0,0,.25);}
.action-alert-icon{flex:0 0 54px;width:54px;height:54px;border-radius:12px;display:grid;place-items:center;background:#d51f31;color:#fff;font-size:32px;font-weight:1000;line-height:1;}
.action-alert-body{min-width:0;flex:1;}
.action-alert-kicker{font-size:11px;letter-spacing:.12em;font-weight:1000;color:#ff6975;margin-bottom:4px;}
.action-alert-body strong{display:block;font-size:18px;line-height:1.2;}
.action-alert-body p{margin:5px 0 11px;color:#d6b9bd;font-size:13px;line-height:1.4;}
.action-alert-button{border:0;background:#e3283c;color:#fff;border-radius:10px;padding:11px 14px;font-weight:950;cursor:pointer;box-shadow:0 3px 0 #9f1422;}
.action-alert-button:disabled{opacity:.75;cursor:default;box-shadow:none;}
.action-alert.completed{border-color:#1f6b4d;background:#0c2118;box-shadow:none;}
.action-alert.completed .action-alert-icon{background:#1f8b61;}
.action-alert.completed .action-alert-kicker{color:#72d7a5;}
.question-form{display:grid;gap:14px;}
.question-card{background:#0b1110;border:1px solid #25352e;border-radius:16px;padding:16px;}
.question-number{font-size:11px;letter-spacing:.12em;color:#72d7a5;font-weight:1000;margin-bottom:5px;}
.question-card h2{margin:0 0 14px;font-size:20px;}
.choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.choice-button{border:1px solid #355548;background:#10241d;color:#e9f4ee;border-radius:11px;padding:13px 12px;font-weight:850;cursor:pointer;}
.choice-button.selected{border-color:#72d7a5;background:#1a5a43;box-shadow:0 0 0 2px rgba(114,215,165,.15) inset;}
.birthday-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;}
.birthday-row label{display:grid;gap:7px;color:#b9c5bf;font-size:12px;font-weight:800;}
.birthday-row select{width:100%;border:1px solid #355548;background:#10241d;color:#edf6f0;border-radius:11px;padding:13px 12px;font-size:15px;}
.question-submit{width:100%;margin-top:4px;padding:14px 16px;border-radius:12px;border:0;font-weight:950;cursor:pointer;}
.question-submit:disabled{opacity:.65;cursor:default;}
.question-lock{text-align:center;margin:-3px 0 0;}
.form-error{padding:11px 13px;border-radius:11px;background:#3a0d13;border:1px solid #8d2834;color:#ffb4bc;font-size:13px;font-weight:750;}
@media(max-width:640px){.action-alert{gap:10px;padding:12px}.action-alert-icon{flex-basis:46px;width:46px;height:46px;font-size:27px}.action-alert-body strong{font-size:16px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.birthday-row{grid-template-columns:1fr 1.35fr;}}

.mini-action-status{margin:7px 8px;padding:7px;border-radius:6px;background:#4a1018;border:1px solid #b92a3a;color:#ffdce0;display:grid;gap:2px;font-size:7px;}
.mini-action-status b{font-size:7px}.mini-action-status span{font-size:6px}.mini-action-status.done{background:#0c2c20;border-color:#277457;color:#bff5da;}
.mini-questionnaire{padding-bottom:8px}.mini-q{background:#0b1110;border:1px solid #294137;border-radius:5px;padding:6px;margin:5px 0;display:grid;gap:4px}.mini-q>i{font-style:normal;color:#72d7a5;font-size:6px;font-weight:900}.mini-q>b{font-size:8px}.mini-q-options,.mini-color-options{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.mini-color-options{grid-template-columns:repeat(3,1fr)}.mini-q em{font-style:normal;background:#10241d;border:1px solid #355548;border-radius:3px;padding:4px;text-align:center;font-size:6px}.mini-q em.sel{background:#1a664b;border-color:#72d7a5;color:white}.mini-date{background:#10241d;border:1px solid #355548;border-radius:3px;padding:5px;font-size:7px}.mini-submit{background:#eee;color:#111;border-radius:4px;text-align:center;padding:5px;font-size:7px;font-weight:900;margin-top:5px;}

.action-card { position:relative; }
.action-card.action-pending {
  border:2px solid #d51f31;
  background:linear-gradient(135deg,#3a0b11,#65101a);
  box-shadow:0 0 0 3px rgba(213,31,49,.10), 0 8px 28px rgba(0,0,0,.28);
  animation:actionPulse 1.7s ease-in-out infinite;
}
.action-card.action-pending .menu-icon,
.action-card.action-pending .menu-title { color:#fff; }
.action-card.action-pending .menu-sub { color:#ffc0c6; }
.action-card.action-pending .menu-icon { background:#d51f31; }
.action-completed-card {
  border:1px solid #2b7657 !important;
  background:#0e2d21 !important;
  box-shadow:none !important;
  animation:none !important;
}
.action-completed-card .menu-icon { color:#d8ffea; background:#1f8b61; }
.action-complete-badge { display:inline-block; margin-top:6px; font-size:10px; letter-spacing:.08em; color:#8ae0b6; font-weight:1000; }
.action-complete-badge[hidden] { display:none; }
@keyframes actionPulse { 0%,100%{transform:translateY(0);box-shadow:0 0 0 3px rgba(213,31,49,.08),0 8px 28px rgba(0,0,0,.28)} 50%{transform:translateY(-1px);box-shadow:0 0 0 6px rgba(213,31,49,.06),0 10px 32px rgba(0,0,0,.30)} }
.action-completed { margin-top:14px; padding:26px 18px; border:1px solid #285f4a; background:#0c2118; border-radius:16px; text-align:center; }
.action-completed-icon { width:62px; height:62px; margin:0 auto 12px; border-radius:50%; background:#1f8b61; color:white; display:grid; place-items:center; font-size:34px; font-weight:1000; }
.action-completed h2 { margin:8px 0 6px; }
.action-completed[hidden] { display:none; }
.mini-action-completed { margin:12px 6px; padding:16px 10px; border:1px solid #2d7757; background:#0d2b20; border-radius:8px; text-align:center; display:grid; gap:6px; }
.mini-action-completed b { color:#7ee3ad; font-size:7px; }
.mini-action-completed strong { font-size:10px; color:#fff; }
.mini-action-completed p { margin:0; font-size:7px; color:#a9bcb3; }
.mini-menu .alarm { border-color:#d51f31 !important; background:#5a1018 !important; color:#fff !important; }
.mini-menu .done { border-color:#2b7657 !important; background:#174d39 !important; color:#d8ffea !important; }

.action-list-card { padding:0 !important; overflow:hidden; }
.action-main { display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:center; padding:18px; cursor:pointer; }
.action-main .menu-icon { grid-row:1 / span 2; }
.action-main .menu-title { align-self:end; }
.action-main .menu-sub { align-self:start; }
.action-list { display:none; border-top:1px solid rgba(255,255,255,.12); padding:8px; }
.action-list.expanded { display:block; }
.action-row { width:100%; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:10px; text-align:left; border:1px solid #355548; background:#10241d; color:#ecf8f0; border-radius:10px; padding:11px 12px; cursor:pointer; }
.action-row-number { width:27px; height:27px; border-radius:50%; display:grid; place-items:center; background:#d51f31; color:white; font-size:12px; font-weight:1000; }
.action-row-title { font-size:14px; font-weight:900; }
.action-row-status { font-size:22px; color:#e7f4ec; font-weight:900; }
.action-row-pending { border-color:#8d1f2c; background:#321015; }
.action-row-pending .action-row-title { color:#fff; }
.action-row-pending .action-row-number { animation:actionPulse 1.7s ease-in-out infinite; }
.action-row-completed { border-color:#345d4b; background:#0d1f18; color:#9eaaa4; cursor:default; }
.action-row-completed .action-row-number { background:#2b7657; }
.action-row-completed .action-row-title { color:#a9b5ae; text-decoration:line-through; }
.action-row-completed .action-row-status { color:#72d7a5; }
.action-completed-card { animation:none !important; box-shadow:none !important; }
.action-completed-card .action-main .menu-icon { background:#1f8b61; color:#dfffee; }
.action-completed-card .action-main .menu-sub { color:#8bc5aa; }

.mini-action-list{margin:10px 6px}.mini-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:6px;border:1px solid #8d1f2c;background:#321015;color:white;border-radius:5px;padding:6px;font-size:7px}.mini-row span{width:14px;height:14px;border-radius:50%;display:grid;place-items:center;background:#d51f31;font-size:6px;font-weight:1000}.mini-row em{font-style:normal;font-size:12px}.mini-row.completed{border-color:#345d4b;background:#0d1f18;color:#a9b5ae}.mini-row.completed span{background:#2b7657}.mini-row.completed em{color:#72d7a5;}

.action-list { min-height: 72px; }
.action-list-item { margin-bottom: 8px; }
.action-row-spacer { width:27px; height:27px; display:block; }
.future-action-slot { height:42px; border:1px dashed rgba(129,190,168,.16); border-radius:10px; opacity:.55; }
.mini-row-spacer { width:14px; height:14px; display:block; }
.mini-future-slot { height:20px; margin-top:5px; border:1px dashed rgba(129,190,168,.18); border-radius:4px; opacity:.45; }

.action-overview-list{display:grid;gap:10px;margin-top:4px}
.action-overview-list .future-action-slot{height:58px}
.action-card{cursor:pointer}
.action-card.action-pending{border:2px solid #d51f31;background:linear-gradient(135deg,#3a0b11,#65101a);box-shadow:0 0 0 3px rgba(213,31,49,.10),0 8px 28px rgba(0,0,0,.28)}
.action-card.action-pending .menu-icon{background:#d51f31;color:#fff}.action-card.action-pending .menu-title{color:#fff}.action-card.action-pending .menu-sub{color:#ffc0c6}
.action-completed-card{border:1px solid #2b7657!important;background:#0e2d21!important;box-shadow:none!important}
.action-completed-card .menu-icon{background:#1f8b61;color:#dfffee}.action-completed-card .menu-sub{color:#8bc5aa}
.action-complete-badge{display:inline-block;margin-top:6px;font-size:10px;letter-spacing:.08em;color:#8ae0b6;font-weight:1000}.action-complete-badge[hidden]{display:none}
.action-list-card{padding:0!important;overflow:hidden}
.action-row-spacer{width:27px;height:27px;display:block}
.future-action-slot{border:1px dashed rgba(129,190,168,.16);border-radius:10px;opacity:.55}
.mini-row-spacer{width:14px;height:14px;display:block}
.mini-future-slot{height:20px;margin-top:5px;border:1px dashed rgba(129,190,168,.18);border-radius:4px;opacity:.45}

.question-panel{margin-top:0}.question-host-card{padding:18px}.answers-table-wrap{overflow:auto;margin-top:16px}.answers-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;background:#0c0f15;border:1px solid #2b313d;border-radius:14px;overflow:hidden}.answers-table th,.answers-table td{padding:13px 12px;border-bottom:1px solid #222932;border-right:1px solid #222932;text-align:center;vertical-align:middle;font-size:13px}.answers-table thead th{background:#121822;color:#f1f5f2;font-weight:900;position:sticky;top:0}.answers-table thead th:first-child{left:0;z-index:2;text-align:left}.answers-table tbody th{text-align:left;background:#10161f;color:#aee0c5;font-weight:900;position:sticky;left:0}.answers-table tbody tr:last-child th,.answers-table tbody tr:last-child td{border-bottom:0}.answers-table th:last-child,.answers-table td:last-child{border-right:0}.answers-table thead span{font-weight:600;color:#8da198;font-size:11px}.answers-table td{color:#f0f4f1;font-weight:750}.answers-table tbody tr:hover td{background:#111922}

.test-panel{margin-top:0}.test-host-card{padding:18px}.test-section{margin-top:16px;padding:18px;border:1px solid #2b313d;background:#0c0f15;border-radius:14px}.test-section h2{margin:0 0 5px}.test-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.test-button{border:0;border-radius:11px;padding:14px 16px;font-weight:900;cursor:pointer}.test-button.primary{background:#185b43;color:#f3fff8;border:1px solid #2e8665}.test-button.danger{background:#4a1118;color:#ffe8eb;border:1px solid #922c39}.test-message{margin-top:14px;padding:11px 13px;border-radius:10px;background:#102d22;border:1px solid #2b7657;color:#bdf0d5;font-size:13px;font-weight:750}.test-message.error{background:#3a0d13;border-color:#8d2834;color:#ffb4bc}@media(max-width:700px){.test-actions{grid-template-columns:1fr}}

.game-host-card{padding:18px}.phase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.phase-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #2b313d;background:#0c0f15;border-radius:14px}.phase-number{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#183c30;color:#9be0bf;font-weight:1000}.phase-card small{display:block;color:#71847b;font-size:10px;letter-spacing:.1em;font-weight:900;margin-bottom:3px}.phase-card strong{display:block;color:#eef5f1;font-size:16px}.phase-first{border-color:#356b56;background:#0d2119}.phase-first .phase-number{background:#1f7655;color:#fff}@media(max-width:700px){.phase-list{grid-template-columns:1fr}}

.phase-clickable{width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit}.phase-clickable:hover{border-color:#5a9679;transform:translateY(-1px)}.phase1-host-card{padding:18px}.phase1-table-wrap{overflow:auto;margin:16px 0}.phase1-table{width:100%;border-collapse:separate;border-spacing:0;min-width:520px;background:#0c0f15;border:1px solid #2b313d;border-radius:14px;overflow:hidden}.phase1-table th,.phase1-table td{padding:13px 14px;border-bottom:1px solid #222932;text-align:left}.phase1-table th{background:#121822;color:#dfe9e3;font-weight:900}.phase1-table tr:last-child td{border-bottom:0}.answer-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.answer-pill.yes{background:#123d2e;color:#8ce0b5;border:1px solid #2f7d5d}.answer-pill.no{background:#382027;color:#ffb2be;border:1px solid #713542}.answer-pill.missing{background:#252b33;color:#9da7b0}.phase1-choice-note{margin:10px 0 16px;color:#a7bcb4;font-size:13px}.phase1-result{padding:13px 15px;border-radius:12px;background:#0c2d21;border:1px solid #2c7657;color:#c9f6df}.phase1-awaiting{padding:13px 15px;border-radius:12px;background:#182018;border:1px solid #3a4b3f;color:#bac9c0}.phase1-complete-button{width:100%;padding:14px 16px;border-radius:12px}.phase1-complete-button:disabled{opacity:.55;cursor:default}
.role-reveal{padding:34px 20px;border-radius:22px;text-align:center;border:1px solid #2b7657;box-shadow:0 18px 40px rgba(0,0,0,.24)}.role-eye{width:70px;height:70px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-size:32px;font-weight:1000}.role-reveal h2{font-size:32px;margin:8px 0 6px}.role-reveal p{margin:0;color:#a7bcb4}.candidate-role{background:linear-gradient(145deg,#0e2a21,#071710)}.candidate-role .role-eye{background:#1f7655;color:#e5fff3}.mol-role{background:linear-gradient(145deg,#351015,#19090d);border-color:#9d2e3b}.mol-role .role-eye{background:#d51f31;color:#fff}.mol-role .eyebrow{color:#ff8f9a}

.role-secret-card{padding:32px 20px;border-radius:22px;text-align:center;border:1px solid rgba(129,190,168,.18);background:linear-gradient(145deg,rgba(5,58,44,.95),rgba(1,30,23,.98));box-shadow:0 18px 40px rgba(0,0,0,.24)}
.role-secret-symbol,.role-reveal-mark{width:68px;height:68px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:rgba(121,197,169,.10);border:1px solid rgba(121,197,169,.20);color:#9fcfc0;font-size:28px;font-weight:900}
.role-secret-card h2{font-size:28px;margin:7px 0 8px}.role-secret-card p{margin:0 0 18px}
.role-reveal-button{border:1px solid rgba(142,221,194,.24);background:#0c2d23;color:#e7f7ef;border-radius:11px;padding:12px 18px;font-weight:900;cursor:pointer}
.revealed-mol,.revealed-candidate{background:linear-gradient(145deg,#103127,#071a14);border-color:rgba(114,199,164,.30)}
.revealed-mol h2,.revealed-candidate h2{font-size:28px;margin:7px 0 8px;color:#e9f5ef}
.revealed-mol .eyebrow,.revealed-candidate .eyebrow{color:#78c9ab}

.mol-actions-button{margin-top:16px;border:1px solid rgba(142,221,194,.20);background:#0c2d23;color:#e6f7ef;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:900;cursor:pointer}.mol-actions-button:active{transform:scale(.99)}
.mol-actions-list{display:grid;gap:10px}.mol-action-row{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border:1px solid #8d2834;background:#321015;color:#fff;border-radius:12px;padding:14px;cursor:pointer;text-align:left}.mol-action-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#d51f31;font-weight:1000}.mol-action-name{font-weight:900}.mol-action-status{font-size:20px}.mol-action-row.done{border-color:#355b49;background:#0d2119;color:#9eaca4;cursor:default}.mol-action-row.done .mol-action-number{background:#2b7657}.mol-action-row.done .mol-action-status{color:#72d7a5}
.host-mol-actions-list{display:grid;gap:10px;margin-top:16px}.host-mol-action{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px;border:1px solid #2b313d;background:#0c0f15;border-radius:13px}.host-mol-action>div{display:flex;align-items:center;gap:10px}.host-action-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#183c30;color:#9be0bf;font-weight:1000}.host-mol-action.done{border-color:#2b7657;background:#0d2119}.host-mol-action.done .host-action-number{background:#2b7657;color:#fff}.host-action-state{font-size:12px;color:#9aa79f}.host-mol-action.done .host-action-state{color:#72d7a5}.host-mol-action button{border:1px solid #355548;background:#10241d;color:#ecf8f0;border-radius:9px;padding:9px 11px;font-weight:850;cursor:pointer}

.room-phase-body{min-height:100vh}.room-phase-app{width:min(1100px,100%);min-height:100vh;margin:0 auto;padding:18px 24px 34px}.room-phase-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 2px 16px}.room-phase-name{font-size:14px;font-weight:900;color:#e8f4ef}.room-phase-screen{min-height:calc(100vh - 90px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.room-logo-wrap{width:min(360px,44vw);aspect-ratio:1;border-radius:28px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.04)}.room-logo-wrap img{width:100%;height:100%;display:block;object-fit:cover}.room-message-card{width:min(820px,90vw);min-height:150px;padding:28px 34px;border:1px solid rgba(129,190,168,.22);border-radius:22px;background:linear-gradient(145deg,rgba(6,68,52,.94),rgba(2,42,32,.98));box-shadow:0 18px 45px rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.room-phase-message{margin-top:10px;font-size:clamp(28px,4vw,52px);font-weight:950;line-height:1.08;letter-spacing:-.025em;color:#f4fbf7}.room-live{font-size:12px;color:#8fb1a4;display:flex;align-items:center;gap:8px}
.mini-room-phase{height:100%;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}.mini-room-phase img{width:46%;aspect-ratio:1;object-fit:cover;border-radius:5px}.mini-room-phase small{font-size:6px;letter-spacing:.1em;color:#72d7a5;font-weight:900}.mini-room-phase strong{font-size:10px;line-height:1.1;color:#f2f8f5}.mini-room-phase footer{margin-top:5px;font-size:5px;color:#65c995}

.phase1-start-wrap{margin:14px 0}.phase1-start-button{width:100%;padding:14px 16px;border-radius:12px;font-weight:950}.phase1-start-button:disabled{opacity:.45;cursor:default}.phase1-start-note{margin-top:7px;color:#8fa49b;font-size:12px}.phase1-started{padding:13px 15px;border-radius:12px;background:#0c2d21;border:1px solid #2b7657;color:#bdeed4}.phase1-complete-button:disabled{opacity:.45;cursor:default}

.monitor-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.monitor-refresh{border:1px solid #355548;background:#10241d;color:#e9f7ef;border-radius:10px;padding:9px 12px;font-weight:850;cursor:pointer;white-space:nowrap}.monitor-refresh:hover{border-color:#5d8f79}.monitor-refresh:disabled{opacity:.55;cursor:default}@media(max-width:600px){.monitor-refresh{font-size:12px;padding:8px 10px}}

.action-test-row{border-color:#4b6a5b;background:#13231d}.action-test-row:disabled{opacity:.78;cursor:default}
.test-question-card{margin-top:16px}.test-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.test-choice{border:1px solid #355548;background:#10241d;color:#eef8f2;border-radius:11px;padding:14px;font-weight:900;cursor:pointer}.test-choice:hover{border-color:#5c8f78;background:#163629}.test-choice:disabled{opacity:.65;cursor:default}.test-answer-message{margin-top:10px;text-align:center}.test-results-status{margin-top:16px;padding:13px 15px;border-radius:12px;background:#102d22;border:1px solid #2b7657;color:#c5f2da}.test-good{color:#72d7a5;font-weight:900}.test-bad{color:#ff9daa;font-weight:900}.test-neutral{color:#929da4}.test-results-table td:nth-child(2){text-align:center}@media(max-width:640px){.test-choice-grid{grid-template-columns:repeat(2,1fr)}}

.test-choice.selected{border-color:#72d7a5;background:#1a5a43;box-shadow:0 0 0 2px rgba(114,215,165,.15) inset}.test-confirm-button{width:100%;margin-top:14px;padding:14px 16px;border-radius:12px;font-weight:950}.test-confirm-button:disabled{opacity:.45;cursor:default}.action-test-row[hidden]{display:none!important}

.test-results-table td{text-align:center;vertical-align:middle}.test-question-small{display:block;margin-top:5px;color:#91a59b;font-size:11px;font-weight:600;line-height:1.35}.test-cell-answer{font-size:15px;font-weight:950;color:#f2f7f4;margin-bottom:5px}.test-not-filled{display:inline-block;padding:5px 8px;border-radius:8px;background:#252b33;color:#9ca7ae;font-size:11px;font-weight:850}

.test-phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.test-phase-card{display:flex;align-items:center;gap:12px;text-align:left;padding:16px;border:1px solid #2b313d;background:#0c0f15;color:#eef5f1;border-radius:14px;cursor:pointer}.test-phase-card:hover{border-color:#517d69;transform:translateY(-1px)}.test-phase-card.active{border-color:#356b56;background:#0d2119}.test-phase-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#183c30;color:#9be0bf;font-weight:1000;flex:0 0 38px}.test-phase-card small{display:block;color:#71847b;font-size:10px;letter-spacing:.1em;font-weight:900;margin-bottom:3px}.test-phase-card strong{display:block;font-size:16px}.test-dummy-box{margin-top:18px;padding:28px;text-align:center;border:1px dashed #31473d;border-radius:14px;color:#91a59b;background:#0b1110}@media(max-width:700px){.test-phase-grid{grid-template-columns:1fr}}

.fixed-test-table{min-width:1100px}.fixed-test-table tbody th{min-width:270px}.fixed-test-table td{min-width:115px}.fixed-test-table tbody tr:nth-child(n+2) td{color:#7f8d86}.fixed-test-table .test-not-filled{white-space:nowrap}

.phase-done-label{display:block;margin-top:5px;color:#79dcae;font-size:11px;font-weight:950}.phase-done-label[hidden]{display:none}.phase-card.phase-completed{border-color:#2d8a62!important;background:linear-gradient(145deg,#0d3526,#09271c)!important}.phase-card.phase-completed .phase-number{background:#239362!important;color:#fff!important;font-size:20px}.phase-card.phase-completed strong{color:#eafff4}

.question-input{width:100%;border:1px solid #355548;background:#10241d;color:#edf6f0;border-radius:11px;padding:13px 12px;font-size:16px;outline:none}.question-input:focus{border-color:#72d7a5;box-shadow:0 0 0 2px rgba(114,215,165,.10)}
.phase2-calc-button{width:100%;margin:14px 0 8px;padding:14px 16px;border-radius:12px;font-weight:950}.phase2-answer-list{display:grid;gap:10px;margin-top:16px}.phase2-answer-row{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid #2f4e41;background:#0d1d17;border-radius:12px}.phase2-answer-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#183c30;color:#9be0bf;font-weight:1000}.phase2-question{font-weight:850;line-height:1.35;color:#edf7f1}.phase2-answer{margin-top:7px;color:#8fd9b8}.phase2-answer strong{font-size:18px;color:#dff9ec}

.phase2-calculation{margin-top:5px;color:#b8cfc3;font-size:14px;line-height:1.4}

/* v49 - Fase 2 kamerschermen */
.room-brand{display:flex;align-items:center;gap:8px}.room-brand img{width:24px;height:24px;border-radius:5px;object-fit:cover;opacity:.72}.room-phase-screen{position:relative}.phase2-pot{display:none;position:absolute;right:28px;top:22px;font-size:clamp(20px,2.2vw,30px);font-weight:950;color:#9ff0c8;letter-spacing:-.02em}.phase2-active .phase2-pot{display:block}.phase2-active .room-logo-wrap{display:none}.phase2-active .room-phase-screen{justify-content:center}.phase2-active .room-message-card{width:min(980px,94vw);min-height:520px;padding:52px 40px;background:linear-gradient(145deg,rgba(6,68,52,.96),rgba(2,42,32,.99))}.phase2-active .room-phase-message{font-size:clamp(48px,7vw,92px);margin:34px 0 24px;letter-spacing:.01em}.phase2-room-input{width:min(620px,92%);flex-direction:column;align-items:center;gap:16px;margin-top:10px}.phase2-room-input input{width:100%;box-sizing:border-box;border:2px solid #3a7b61;background:#071b14;color:#fff;border-radius:16px;padding:20px 24px;font-size:clamp(28px,4vw,44px);font-weight:900;text-align:center;outline:none}.phase2-room-input input:focus{border-color:#72d7a5;box-shadow:0 0 0 4px rgba(114,215,165,.12)}.phase2-confirm{width:100%;padding:18px 24px;font-size:20px;border-radius:14px}.phase2-formula-card{padding:16px;border:1px solid #2f4e41;background:#0d1d17;border-radius:12px}.phase2-formula-head{display:grid;grid-template-columns:110px minmax(180px,1fr) 130px 150px;gap:16px;align-items:center}.phase2-formula-head span{font-size:22px;font-weight:950}.phase2-formula-head b{color:#8fd9b8}.phase2-formula-head em{font-style:normal;color:#b8cfc3}.phase2-formula-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.phase2-formula-steps span{padding:7px 10px;border-radius:9px;background:#132a21;color:#c8ddd3;font-size:13px}@media(max-width:700px){.phase2-pot{position:static;margin-bottom:-10px;align-self:flex-end}.phase2-active .room-message-card{min-height:430px;padding:36px 20px}.phase2-formula-head{grid-template-columns:1fr}.phase2-formula-head span{font-size:20px}}

/* Phone layouts retain the original visual language without scaling text. */
html{min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:100svh}
.player-app,.shell,.host-shell,.room-phase-app{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-top:max(18px,calc(env(safe-area-inset-top) + 12px));padding-bottom:max(20px,env(safe-area-inset-bottom))}
.brand-mini{color:#cdeadd;letter-spacing:.16em}
.eyebrow.green{color:#a5e6c6}
.player-app .player-topbar .brand-mini,.player-app .player-topbar .player-name,.player-app .welcome-copy{display:none}
.player-app .player-topbar{padding:0;min-height:0;grid-template-columns:1fr}
.player-topbar,.room-phase-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.player-topbar>*,.room-phase-top>*,.main-menu>*,.action-row-title,.mol-action-name{min-width:0}
.player-name,.room-phase-name{overflow-wrap:anywhere}
.main-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
.menu-title,.menu-sub,.section-heading h1,.question-card h2,.room-phase-message{overflow-wrap:anywhere;letter-spacing:0}
input,textarea,select{min-width:0;max-width:100%}
input[type="date"],input[type="time"]{-webkit-appearance:none;appearance:none;box-sizing:border-box;min-width:0;max-width:100%;min-height:1.6em}
input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value{min-width:0;max-width:100%;overflow:hidden;text-align:left}
.question-card{overflow:hidden}
.narrow{min-height:100svh}
.room-phase-app{min-height:100svh}
.room-phase-screen{min-height:calc(100svh - 90px)}
@media(max-width:600px){
 .player-app{max-width:460px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-top:calc(env(safe-area-inset-top,0px) + 26px)}
 .player-topbar{padding:0;min-height:0}
 .logout-link{display:none}
 .brand-mini{font-size:11px}
 .brand-mini{letter-spacing:0;line-height:1.4}
 .player-name{line-height:1.4}
 .brand-hero{width:min(160px,20svh,46%);margin:8px auto 18px;border-radius:20px}
 .main-menu{gap:10px}
 .menu-card{min-height:112px;padding:12px;border-radius:14px;gap:4px}
 .menu-icon{width:34px;height:34px;border-radius:10px;font-size:18px;margin-bottom:6px;flex-shrink:0}
 .menu-title{font-size:18px;line-height:1.2}
 .menu-sub{font-size:11px;line-height:1.35;margin-top:0}
 .game-status{margin:16px 0 4px;font-size:11px}
 .back-button{min-height:44px;margin-bottom:16px}
 .section-heading h1{font-size:26px}
 .notebook-paper textarea{min-height:240px}
 .birthday-row{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
 .birthday-row select{font-size:16px;padding:12px 8px}
 .host-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .host-tab{min-width:0;padding:10px 6px}
 .topbar,.monitor-heading,.overview-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .topbar>*,.monitor-heading>*,.overview-head>*{min-width:0}
 .host-mol-action{grid-template-columns:minmax(0,1fr) auto}
 .host-mol-action>div{min-width:0;overflow-wrap:anywhere}
 .host-mol-action button{grid-column:1/-1}
 .room-phase-top{grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .room-message-card,.phase2-active .room-message-card{width:100%;min-height:0;padding:24px 14px}
 .room-phase-message{font-size:28px}
 .phase2-active .room-phase-message{font-size:40px;margin:24px 0 16px}
 .phase2-room-input{width:100%}
 .phase2-room-input input{font-size:28px;padding:14px 12px}
 .phase2-pot{font-size:20px}
}
@media(max-width:600px) and (max-height:700px){
 .brand-hero{width:min(128px,19svh,42%);margin:6px auto 14px}
 .menu-card{min-height:102px;padding:10px}
 .menu-icon{width:30px;height:30px;margin-bottom:4px}
 .game-status{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.action-card.action-pending,.action-row-pending .action-row-number{animation:none}.menu-card{transition:none}}


/* host mobile */
.host-tab-select{display:none}
@media(max-width:600px){
.host-shell{padding:max(10px,calc(env(safe-area-inset-top,0px) + 8px)) 10px calc(env(safe-area-inset-bottom,0px) + 16px);overflow-x:hidden}
.host-shell .topbar{padding:2px 2px 10px}
.host-tabs{display:none!important}
.host-tab-select{display:block;position:sticky;top:max(6px,env(safe-area-inset-top,0px));z-index:20;width:100%;margin:6px 0 14px;padding:14px 44px 14px 16px;font-size:17px;font-weight:800;color:#f3f5f2;background:#0c3d2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23a5e6c6' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center;border:1px solid #245c47;border-radius:14px;-webkit-appearance:none;appearance:none;box-shadow:0 8px 20px #0008}
.host-panel,.host-panel *{max-width:100%;box-sizing:border-box}
.host-panel{overflow-wrap:anywhere}
.host-panel .card{padding:16px;border-radius:16px}
.host-panel .actions{grid-template-columns:1fr}
.host-panel button{min-height:46px}
.host-panel table{display:block;overflow-x:auto}
.monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.host-notebook,.host-mol-action{width:100%}
}

/* Geen dubbelklik-zoom / inzoomen op telefoon */
html,body{touch-action:manipulation}

/* Beginscherm (spelersmenu) past in het scherm en scrolt niet */
@media(max-width:600px){
 html,body{overscroll-behavior:none}
 html.mol-lock-scroll,html.mol-lock-scroll body{overflow:hidden;height:100%}
 .player-app{min-height:100svh;display:flex;flex-direction:column;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}
 .player-app #homeView.active{flex:1;display:flex;flex-direction:column;min-height:0}
 .player-app #homeView .main-menu{flex:1;grid-template-rows:1fr 1fr;min-height:0}
 .player-app #homeView .menu-card{min-height:0;height:100%}
 .player-app #homeView .game-status{margin-top:auto;margin-bottom:0}
}
@media(max-width:600px) and (max-height:700px){
 .player-app #homeView .brand-hero{margin:4px auto 10px}
}

/* Naam van de speler onder het logo */
.player-app #homeView .welcome-copy{display:block;margin:0 0 16px}
.player-app #homeView .welcome-copy h1,.player-app #homeView .welcome-copy p{display:none}
.player-app #homeView .welcome-copy .eyebrow{color:#cdeadd;font-size:14px;letter-spacing:.16em}
@media(max-width:600px){
 .player-app{padding-top:calc(env(safe-area-inset-top,0px) + 48px)}
 .player-app #homeView .brand-hero{margin:8px auto 12px}
}
@media(max-width:600px) and (max-height:700px){
 .player-app{padding-top:calc(env(safe-area-inset-top,0px) + 30px)}
 .player-app #homeView .welcome-copy{margin-bottom:10px}
}

/* v51: Kandidaten - overzicht van de zeven fases */
.phase-progress-list{display:grid;gap:10px;margin:16px 0 28px}
.phase-progress-row{display:flex;align-items:center;gap:14px;padding:15px;border-radius:13px;background:#183b30;border:1px solid rgba(174,212,177,.12);color:#f2f7ef}
.phase-progress-number{flex:0 0 42px;display:grid;place-items:center;height:42px;background:#2a5040;border-radius:9px;font-weight:700;color:#d7eacb}
.phase-progress-content{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.phase-progress-content strong{font-size:1rem;line-height:1.25}
.phase-progress-content small{font-size:.8rem;color:#a4bbae}
.phase-progress-row.is-complete{border-color:rgba(123,205,133,.36)}
.phase-progress-row.is-complete .phase-progress-content small,.phase-progress-row.is-complete .phase-progress-icon{color:#9ed49d}
.phase-progress-icon{font-size:1.5rem;color:#a4bbae}
/* v51: spelleider - afrondknoppen */
.phase-host-actions{padding:16px 0 0}
.phase-host-control{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(132,171,139,.18)}
.phase-host-control span{font-weight:600}
.phase-host-control button{padding:9px 12px;border:1px solid #71937d;border-radius:8px;color:#e9f5e7;background:#24533b;cursor:pointer}
@media(max-width:480px){.phase-host-control{align-items:stretch;flex-direction:column}.phase-progress-row{padding:12px}}

/* v53: schermvullende kandidaten-tussenstand, gebaseerd op het gekozen donkergroene ontwerp */
.player-app:has(#scoreView.active){width:min(760px,100%)}
#scoreView.active{flex:1;min-height:calc(100svh - 120px);display:flex;flex-direction:column;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}
#scoreView .back-button{align-self:flex-start;position:relative;z-index:1;margin:3px 0 0;flex-shrink:0}
.scoreboard-heading{text-align:center;margin:-7px 0 18px}
.scoreboard-logo{display:block;width:clamp(92px,20vw,150px);height:clamp(78px,16vw,122px);margin:0 auto 10px;object-fit:contain;border-radius:15px;mix-blend-mode:screen}
.scoreboard-heading h1{font-size:clamp(21px,4.4vw,35px);font-weight:850;letter-spacing:.22em;padding:0 0 15px;margin:0 auto;color:#f7fff9;border-bottom:1px solid #27b46c;max-width:420px;box-shadow:0 9px 8px -11px #56f59c}
.scoreboard-pot{display:flex;align-items:center;gap:16px;border:1px solid rgba(94,208,128,.57);background:linear-gradient(110deg,#03251b,#06402b 72%,#0a4f33);border-radius:13px;padding:16px 20px;margin-bottom:14px;min-height:100px}
.scoreboard-pot-icon{flex:0 0 70px;color:#76d5a1;display:flex;justify-content:center;align-items:center;border-right:1px solid #337853;padding-right:14px}
.scoreboard-pot-content{display:flex;flex-direction:column;gap:4px;min-width:0}
.scoreboard-pot-content span{font-weight:750;letter-spacing:.13em;color:#85ba9c;font-size:clamp(12px,2.9vw,17px)}
.scoreboard-pot-content strong{font-size:clamp(32px,8vw,54px);font-weight:850;line-height:1.08;letter-spacing:.01em;color:#fff;text-shadow:0 0 17px rgba(89,255,145,.34);font-variant-numeric:tabular-nums}
#scoreView .phase-progress-list{display:grid;grid-template-rows:repeat(7,minmax(55px,1fr));gap:clamp(7px,1.1vh,11px);flex:1;margin:0;min-height:0}
#scoreView .phase-progress-row{min-height:55px;display:flex;align-items:center;gap:clamp(10px,2.5vw,18px);padding:6px 12px 6px 7px;border:1px solid rgba(75,150,95,.48);border-radius:12px;background:linear-gradient(100deg,rgba(4,51,34,.85),rgba(0,28,21,.85));color:#f4f8f4}
#scoreView .phase-progress-number{flex:0 0 clamp(47px,10vw,69px);height:100%;min-height:45px;border-radius:8px;background:linear-gradient(125deg,#275c40,#123c2b);color:#b9dfc4;font-weight:800;font-size:clamp(20px,5vw,30px);font-variant-numeric:tabular-nums}
#scoreView .phase-progress-content{flex:1;min-width:0}
#scoreView .phase-progress-content strong{font-size:clamp(12px,3.1vw,20px);line-height:1.16;font-weight:800;letter-spacing:.035em;text-transform:uppercase;overflow-wrap:normal}
#scoreView .phase-progress-icon{flex:0 0 clamp(28px,7.4vw,39px);width:clamp(28px,7.4vw,39px);height:clamp(28px,7.4vw,39px);border:2px solid #92a39a;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:clamp(17px,4.4vw,26px);font-weight:800;line-height:1}
#scoreView .phase-progress-row.is-complete .phase-progress-icon{border-color:#7cf6a6;color:#a6ffc5;box-shadow:0 0 12px rgba(71,255,144,.35),inset 0 0 8px rgba(71,255,144,.14)}
@media(max-width:520px){
 .player-app:has(#scoreView.active){max-width:none;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 #scoreView.active{min-height:calc(100svh - 95px)}
 .scoreboard-heading{margin:0 0 15px}
 .scoreboard-logo{width:100px;height:82px;margin-bottom:8px}
 .scoreboard-heading h1{padding-bottom:10px}
 .scoreboard-pot{min-height:86px;padding:12px 15px;margin-bottom:12px;gap:12px}
 .scoreboard-pot-icon{flex-basis:59px;padding-right:10px}
 .scoreboard-pot-icon svg{width:43px;height:43px}
}
@media(max-width:360px){#scoreView .phase-progress-content strong{font-size:11px;letter-spacing:0}.scoreboard-heading h1{letter-spacing:.15em}}
@media(max-height:700px){.scoreboard-logo{height:63px;width:83px}.scoreboard-heading{margin-bottom:9px}.scoreboard-pot{min-height:67px;padding-top:8px;padding-bottom:8px;margin-bottom:8px}#scoreView .phase-progress-list{grid-template-rows:repeat(7,minmax(47px,1fr));gap:6px}#scoreView .phase-progress-row{min-height:47px}#scoreView .phase-progress-number{min-height:39px}}

/* v55 - push permissions within the Actie! overview */
.push-permission-panel{width:min(100%,540px);margin:0 auto;padding:clamp(16px,5vw,30px) 4px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:15px;box-sizing:border-box}
.push-permission-panel h1{margin:0;font-size:clamp(25px,7vw,36px);line-height:1.15}
.push-permission-panel>.muted{max-width:380px;margin:0;line-height:1.55}
.push-permission-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#204a36;font-size:35px}
.push-permission-features{width:100%;box-sizing:border-box;background:#173d2e;border:1px solid #315d43;border-radius:15px;padding:18px;text-align:left;display:grid;gap:13px;color:#e1f2df;font-size:clamp(13px,3.6vw,16px)}
#pushEnableBox{width:100%}.push-permission-button{width:100%;min-height:52px;border-radius:12px;background:#b1d9a9;color:#123323;font-weight:750;border:0;font-size:16px;cursor:pointer}
#pushEnableStatus{margin:12px 0 0;line-height:1.5;overflow-wrap:anywhere}.push-permission-hint{font-size:13px}

/* v56: push permission enabled state */
.action-row-push-enabled { border-color:#348a60; background:#143b2a; }
.action-row-push-enabled .action-row-title { color:#d5ffe4; }
.action-row-push-enabled .action-row-status { color:#80e5a9; }

/* v57 - universeel host-opdrachtcentrum */
.v57-layout{display:grid;grid-template-columns:minmax(220px,245px) minmax(0,1fr);gap:16px;margin-top:16px;color:#eefaf3}.v57-sidebar,.v57-stepbar,.v57-workspace,.v57-mini{background:#08291e;border:1px solid #285943;border-radius:16px}.v57-sidebar{padding:16px;align-self:start;position:sticky;top:12px}.v57-label{font-size:12px;font-weight:850;letter-spacing:.12em;color:#90cfa5}.v57-phase{width:100%;border:1px solid #275640;color:#eaf7ee;background:#0b3124;padding:13px 9px;display:flex;align-items:center;gap:10px;text-align:left;border-radius:11px;margin-top:9px;cursor:pointer}.v57-phase.selected{background:#bde5c5;color:#0a3020}.v57-phase span:first-child{height:34px;width:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#235944;color:white;font-weight:800}.v57-phase strong{font-size:13px;display:block}.v57-phase small{font-size:10px;opacity:.72;display:block;margin-top:3px}.v57-main{min-width:0;display:grid;gap:15px}.v57-stepbar,.v57-workspace{padding:20px}.v57-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.v57-heading h1{font-size:26px;margin:0;flex:1}.v57-heading>span:first-child{font-size:12px;color:#a2e9b7;font-weight:bold}.v57-status{border:1px solid #507662;color:#b4e3c4;padding:7px 12px;border-radius:30px;font-size:12px}.v57-status[data-status=running],.v57-status[data-status=completed]{background:#16683e}.v57-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.v57-step{background:#0c3829;border:1px solid #345f48;border-radius:12px;padding:12px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.v57-step.current{border-color:#89dc9a;background:#145038}.v57-step.passed{opacity:.7}.v57-step-info{display:flex;gap:8px;align-items:flex-start}.v57-step-info b{background:#285744;color:#d4f7db;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.v57-step-info strong{display:block;font-size:12px}.v57-step-info small{display:block;font-size:10px;color:#afc9b9;margin-top:5px}.v57-step button{border:0;background:#8bde9e;color:#07251b;font-weight:800;border-radius:9px;min-height:42px;font-size:12px;cursor:pointer}.v57-step button:disabled{background:#234939;color:#99ae9f;cursor:default}.v57-workspace{min-height:380px}.v57-workspace-title{display:flex;justify-content:space-between;gap:12px;align-items:start;border-bottom:1px solid #235641;padding-bottom:16px;margin-bottom:18px}.v57-workspace-title h2{font-size:27px;margin:6px 0}.v57-workspace-title p{color:#accbb9;margin:0}.v57-demo{font-size:10px;border-radius:20px;border:1px solid #3d8161;padding:7px 12px;white-space:nowrap;color:#a3d7b5}.v57-legacy{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.v57-legacy[hidden],#v57Dummy[hidden]{display:none!important}.v57-dummy{text-align:center;padding:24px 10px}.v57-dummy-icon{height:80px;width:80px;border-radius:50%;border:1px solid #609879;background:#164732;color:#b8f4c5;font-size:48px;display:grid;place-items:center;margin:6px auto 16px}.v57-dummy h2{margin:0 0 10px;font-size:30px}.v57-dummy p{color:#bad5c5}.v57-dummy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.v57-dummy-stats>div{padding:18px;border-radius:12px;background:#10402e;border:1px solid #2f634c;text-align:left}.v57-dummy-stats small{display:block;font-size:10px;color:#a7d1b7}.v57-dummy-stats strong{display:block;font-size:21px;margin-top:7px}.v57-dummy-alert{border:1px dashed #407158;border-radius:10px;padding:14px;color:#a7c5b1;font-size:13px}.v57-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.v57-mini{padding:16px}.v57-mini h3{margin:0 0 12px}.v57-mini p{font-size:12px;color:#abc7b5}.v57-mini button{border:1px solid #478569;background:#13432f;color:white;border-radius:9px;padding:10px;cursor:pointer}.v57-roomlist{display:flex;gap:9px;flex-wrap:wrap;color:#9cdcaa;font-size:12px;margin-bottom:15px}.v57-mini textarea{width:100%;min-height:85px;box-sizing:border-box;background:#0a3024;color:white;border:1px solid #42644f;border-radius:10px;padding:10px}#v57Feedback{min-height:20px;font-size:12px;color:#b1eabf;margin-top:8px}@media(max-width:1020px){.v57-layout{grid-template-columns:190px minmax(0,1fr)}.v57-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.v57-bottom{grid-template-columns:1fr 1fr}}@media(max-width:700px){.v57-layout{grid-template-columns:1fr}.v57-sidebar{position:static}.v57-sidebar #v57Phases{display:flex;overflow-x:auto;gap:7px;padding-bottom:5px}.v57-phase{flex:0 0 176px;margin-top:10px}.v57-heading h1{font-size:21px}.v57-stepbar,.v57-workspace{padding:13px}.v57-step-info small{display:none}.v57-steps{gap:7px}.v57-step{padding:9px}.v57-step-info{gap:5px}.v57-step-info strong{font-size:11px}.v57-step button{font-size:11px;min-height:38px}.v57-workspace-title h2{font-size:22px}.v57-dummy-stats{gap:6px}.v57-dummy-stats>div{padding:8px}.v57-dummy-stats strong{font-size:14px}.v57-bottom{grid-template-columns:1fr}.v57-demo{font-size:9px;padding:5px}}

/* v58: host full-width workspace and compact integrated identity */
body.host-v7{margin:0}
.host-v7 .host-shell{width:100%;max-width:none;margin:0;padding:10px clamp(10px,1.2vw,24px) 28px;box-sizing:border-box}
.host-v7 .host-tabs{margin:0 0 10px;padding:5px 8px;align-items:center;gap:clamp(4px,.55vw,10px);flex-wrap:nowrap}
.host-v7 .host-tab{flex:1 1 auto;min-width:0;white-space:nowrap;padding:11px clamp(5px,.8vw,16px);font-size:clamp(11px,.82vw,14px)}
.v58-identity{display:flex;flex-direction:column;justify-content:center;gap:2px;flex:0 0 auto;padding:3px 13px 3px 8px;border-right:1px solid #28503c;color:#f0f8f0;line-height:1.1}
.v58-identity strong{font-size:13px;letter-spacing:.12em}.v58-identity span{font-size:10px;color:#89dba7;letter-spacing:.06em}
.v58-logout{flex:0 0 auto;display:flex;align-items:center;gap:5px;color:#c9e8d3;text-decoration:none;font-size:12px;padding:9px;border:1px solid #315b44;border-radius:9px;white-space:nowrap}
.v58-logout:hover{background:#1b5138;color:white}
.v58-mobile-header{display:none}
.host-v7 .v57-layout{grid-template-columns:clamp(185px,14.5vw,245px) minmax(0,1fr);gap:clamp(10px,1vw,18px);margin-top:8px}
.host-v7 .v57-main{gap:10px}.host-v7 .v57-stepbar{padding:12px 16px}.host-v7 .v57-heading{margin-bottom:10px}.host-v7 .v57-heading h1{font-size:clamp(20px,1.5vw,26px)}
.host-v7 .v57-step{padding:8px 10px;gap:7px}.host-v7 .v57-step button{min-height:34px}.host-v7 .v57-workspace{padding:16px;min-height:360px}.host-v7 .v57-workspace-title{padding-bottom:10px;margin-bottom:12px}
.host-v7 .v57-sidebar{padding:12px}.host-v7 .v57-phase{padding:9px 8px;margin-top:7px}.host-v7 .v57-phase span:first-child{height:29px;width:29px}
@media(max-width:1100px){.host-v7 .host-tabs{flex-wrap:wrap}.host-v7 .host-tab{flex:1 1 100px}.v58-identity{flex:0 0 100px}}
@media(max-width:600px){.host-v7 .host-shell{padding:8px 10px 24px}.host-v7 .host-tabs{display:none!important}.v58-mobile-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 3px;color:#eef9f0}.v58-mobile-header strong{font-size:12px}.v58-mobile-header small{color:#89dba7}.v58-mobile-header a{color:#d4ebd9;font-size:12px}.host-v7 .host-tab-select{margin:6px 0 10px}.host-v7 .v57-layout{grid-template-columns:1fr}.host-v7 .v57-workspace{padding:12px}}

/* v59: persistent right-side live monitor, all seven phases */
.host-v7 #gamePanel .v57-layout{grid-template-columns:clamp(165px,13vw,225px) minmax(0,1fr) clamp(230px,23vw,355px);align-items:start;gap:10px}
.host-v7 #gamePanel .v57-main{min-width:0}
.v59-live{background:#08291e;border:1px solid #285943;border-radius:14px;padding:10px;position:sticky;top:8px;max-height:calc(100vh - 80px);overflow-y:auto;min-width:0;color:#edf9f0}
.v59-live-head{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px}
.v59-live-head strong{display:block;font-size:14px}.v59-live-head small{display:block;font-size:10px;color:#9dc5ac}
.v59-live-head button,.v59-overlay-head button{background:#194a35;border:1px solid #468465;color:white;border-radius:8px;padding:8px;cursor:pointer;font-size:11px}
.v59-live-grid{display:grid;gap:9px}
.v59-screen-card{background:#0a241b;color:#e9f7ee;border:1px solid #35624b;border-radius:10px;padding:7px;text-align:left;cursor:pointer;width:100%;min-width:0;overflow:hidden}
.v59-screen-card:hover{border-color:#8fdda5}.v59-screen-label{display:flex;justify-content:space-between;font-weight:750;font-size:11px;margin-bottom:5px}
.v59-screen-viewport{height:118px;overflow:hidden;background:#061911;border-radius:6px;position:relative;pointer-events:none}
.v59-screen-inner{width:340px;min-height:255px;transform:scale(.48);transform-origin:top left;pointer-events:none}
.v59-screen-inner .mini-room,.v59-screen-inner .mini-home,.v59-screen-inner .mini-detail{min-height:220px}
.v59-mol-banner{color:#a6e5b2;font-size:10px;padding:5px}
.v59-wait{display:grid;place-items:center;min-height:110px;font-size:12px;color:#b1cdb7}
.v59-overlay[hidden]{display:none!important}.v59-overlay{position:fixed;inset:0;z-index:9999;background:#03130e;display:flex;flex-direction:column;padding:clamp(12px,2vw,28px);box-sizing:border-box}
.v59-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#f2fff5;padding-bottom:12px}
.v59-overlay-content{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;background:#071e15;border:1px solid #315c45;border-radius:12px}
.v59-expanded{width:min(94vw,780px);min-height:70vh;background:#08291e;color:white;overflow:auto;pointer-events:none}
.v59-expanded .mini-top{font-size:15px;height:auto;padding:15px}.v59-expanded .mini-home,.v59-expanded .mini-detail,.v59-expanded .mini-room-phase{font-size:18px;padding:30px}.v59-expanded .mini-home img,.v59-expanded .mini-room-phase img{max-height:220px;object-fit:contain}
@media(max-width:1150px){.host-v7 #gamePanel .v57-layout{grid-template-columns:165px minmax(0,1fr) 230px}.v59-screen-viewport{height:95px}.v59-screen-inner{transform:scale(.40)}}
@media(max-width:850px){.host-v7 #gamePanel .v57-layout{grid-template-columns:1fr}.v59-live{position:static;max-height:none}.v59-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v59-screen-viewport{height:120px}}
@media(max-width:500px){.v59-live-grid{grid-template-columns:1fr 1fr}.v59-screen-viewport{height:90px}.v59-screen-inner{transform:scale(.36)}}

/* v60: destructieve fase-reset in de compacte fasebalk */
.v60-reset{border:1px solid #b65b5b;background:#4d2228;color:#ffe5e5;border-radius:9px;padding:9px 12px;font-weight:750;cursor:pointer;white-space:nowrap;font-size:12px}
.v60-reset:hover{background:#762e37;border-color:#ef8585}
@media(max-width:700px){.v60-reset{padding:7px 9px;font-size:11px}}

/* v62 groepspot-widget */
.v62-pot-widget{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;background:#163d2b;border:1px solid #477658;border-radius:12px;color:#d9f4da;padding:14px;margin-bottom:18px;cursor:pointer}.v62-pot-widget>span{font-size:11px;font-weight:800;letter-spacing:.08em;width:100%;display:flex;justify-content:space-between}.v62-pot-widget strong{font-size:clamp(21px,2vw,30px);line-height:1.2;color:#b9eeb7}.v62-pot-widget small{font-size:10px;color:#b2cdb7}.v62-pot-details{background:#103326;border:1px solid #39634a;border-radius:11px;padding:10px;margin-bottom:17px;overflow-wrap:anywhere}.v62-pot-details[hidden],#v62PotForm[hidden]{display:none!important}.v62-pot-details h4{font-size:11px;color:#a8dcb2;margin:12px 0 6px}.v62-pot-row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #315541;font-size:11px;color:#e5f4e8}.v62-pot-row span{min-width:0}.v62-pot-row b{white-space:nowrap}.v62-pot-row small{display:block;color:#9abca4;font-size:9px;margin-top:3px}.v62-pot-row .negative{color:#ffb2b2}.v62-pot-row .positive{color:#b8efb2}.v62-pot-total{font-weight:bold;color:#c8f5c4}.v62-pot-empty{font-size:11px;color:#a8c4ae}.v62-pot-edit{width:100%;margin-top:12px;padding:10px;background:#275b3d;color:#eaf7ec;border:1px solid #508866;border-radius:9px;cursor:pointer;font-size:11px}#v62PotForm{display:grid;gap:9px;margin-top:12px}#v62PotForm label{font-size:11px;color:#c6dfca}#v62PotForm input{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:5px;padding:9px;border:1px solid #5a8b6a;background:#09251b;color:white;border-radius:7px;font-size:13px}.v62-pot-buttons{display:flex;gap:5px}.v62-pot-buttons button{flex:1;padding:9px 5px;background:#336448;border:0;border-radius:7px;color:white;cursor:pointer}#v62PotFeedback,#v62PotDifference{font-size:11px;color:#c7ebcc;margin-top:5px}

/* v64: six compact controls in a single row for phase one */
.host-v7 #gamePanel .v57-steps.v64-phase1-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.host-v7 #gamePanel .v64-phase1-steps .v57-step{padding:7px 5px;gap:6px;min-width:0}
.host-v7 #gamePanel .v64-phase1-steps .v57-step-info{gap:5px;align-items:center}
.host-v7 #gamePanel .v64-phase1-steps .v57-step-info b{width:20px;height:20px;font-size:11px;flex:0 0 20px}
.host-v7 #gamePanel .v64-phase1-steps .v57-step-info strong{font-size:clamp(9px,.75vw,11px);line-height:1.2;overflow-wrap:anywhere}
.host-v7 #gamePanel .v64-phase1-steps .v57-step-info small{display:none}
.host-v7 #gamePanel .v64-phase1-steps .v57-step button{min-height:30px;font-size:10px;padding:4px 2px;overflow-wrap:anywhere}
@media(max-width:1100px){.host-v7 #gamePanel .v57-steps.v64-phase1-steps{display:flex;overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}.host-v7 #gamePanel .v64-phase1-steps .v57-step{flex:0 0 112px}.host-v7 #gamePanel .v64-phase1-steps .v57-step-info strong{font-size:10px}}

/* v65: Fase 3 antwoorden onder de bestaande vragen */
.phase3-input-table th:first-child{min-width:340px;width:40%}
.phase3-input-table td{text-align:center;padding:7px 5px}
.phase3-input-table .phase3-number{width:100%;min-width:65px;max-width:125px;box-sizing:border-box;padding:10px 6px;text-align:center;background:#0b211b;border:1px solid #365649;border-radius:8px;color:#f3fff3;font:inherit}
.phase3-input-table .phase3-number:focus{outline:2px solid #8ed5a1;outline-offset:1px}
.phase3-hint{display:block;margin-top:5px;font-weight:400;color:#91bda5;font-size:11px}
.phase3-save-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}
.phase3-save-bar button{width:auto;min-width:185px}
@media(max-width:900px){.phase3-input-table{min-width:930px}.phase3-input-table th:first-child{min-width:310px}.phase3-save-bar button{width:100%}}

/* v67 Blind Vertrouwen */
.p3-panel,.p3-player-box{background:#102d22;color:#eff8ef;border:1px solid #3d644b;border-radius:16px;padding:20px;margin-top:12px}.p3-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.p3-heading h2{margin:4px 0}.p3-heading span{font-size:12px;color:#b2d8ba}.p3-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.p3-stats>div{background:#214532;border-radius:10px;padding:12px}.p3-stats small{display:block;color:#bdd7c1}.p3-stats strong{font-size:22px}.p3-info{padding:10px;background:#173b2a;border-radius:10px}.p3-tablewrap{overflow:auto}.p3-tablewrap table{font-size:12px;width:100%;border-collapse:collapse}.p3-tablewrap th,.p3-tablewrap td{padding:6px;border-bottom:1px solid #45684c}.p3-timer{text-align:center;font-size:42px;font-weight:800;font-variant-numeric:tabular-nums;padding:16px;color:#c2e8ba}.p3-actions{display:flex;gap:8px;flex-wrap:wrap}.p3-actions button,.p3-choice{background:#9fd3a5;color:#102c1d;border:0;border-radius:10px;padding:12px;font-weight:700;cursor:pointer}.p3-choice{display:block;width:100%;margin:8px 0;text-align:left}.p3-choice.selected{outline:3px solid #fff}.p3-player-box{min-height:45vh}.p3-player-box h2{color:#f2f7f0}.p3-player-box p{color:#c5ddc8}.p3-player-box button.primary-btn{width:100%;margin-top:16px}@media(max-width:600px){.p3-stats{grid-template-columns:1fr 1fr}.p3-panel{padding:12px}}

/* v68: compacte ronde 1-monitoring */
.p3-round-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.p3-round-summary>*{background:#204732;border-radius:8px;padding:8px 10px}.p3-plank-table th,.p3-plank-table td{font-size:clamp(11px,.85vw,14px);white-space:nowrap}.p3-confirm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin:10px 0}.p3-confirm-item{display:flex;flex-direction:column;gap:4px;background:#204732;border-radius:9px;padding:10px;font-size:13px}.p3-confirm-item small{color:#bad3c0}.p3-ok{color:#a9efb5}.p3-wait{color:#e5c6a1}.p3-guess-status{padding:12px;border:1px solid #548a62;border-radius:9px;margin-top:10px}

/* v69: precise alignment for the phase 3 plank results */
.p3-tablewrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.p3-plank-table{width:100%;min-width:550px;table-layout:fixed;border-collapse:collapse;border-spacing:0;}
.p3-plank-table thead th,.p3-plank-table tbody th,.p3-plank-table tbody td{box-sizing:border-box;padding:11px 14px;vertical-align:middle;line-height:1.35;white-space:nowrap;border-bottom:1px solid rgba(177,220,184,.17);font-size:clamp(11px,.85vw,14px);}
.p3-plank-table thead th{font-weight:800;color:#e2f5e7;background:rgba(14,47,33,.8);}
.p3-plank-table thead th:first-child,.p3-plank-table tbody th:first-child{text-align:left;}
.p3-plank-table thead th:not(:first-child),.p3-plank-table tbody td{text-align:right;font-variant-numeric:tabular-nums;}
.p3-plank-table tbody th{font-weight:700;color:#f1faf2;}
.p3-plank-table tbody tr:nth-child(even){background:rgba(126,192,142,.055);}
.p3-plank-table tbody tr:hover{background:rgba(126,192,142,.11);}
@media(max-width:650px){.p3-plank-table thead th,.p3-plank-table tbody th,.p3-plank-table tbody td{padding:9px 10px;font-size:11px;}}

/* v70 phase 3 simulation controls */
.p3-sim-box{margin-top:22px;padding:18px;border:1px solid #35644b;border-radius:14px;background:#102d21}.p3-sim-box h2{margin:0 0 8px}.p3-sim-grid{display:grid;gap:8px;margin-top:15px}.p3-sim-row{display:grid;grid-template-columns:90px minmax(190px,1fr) minmax(330px,2fr);gap:10px;align-items:center;padding:10px;border-radius:9px;background:#1a3b2c}.p3-sim-actions{display:flex;flex-wrap:wrap;gap:7px}.p3-sim-row button{background:#315d43;border:1px solid #56876b;border-radius:7px;color:#fff;padding:9px 11px;cursor:pointer}.p3-sim-row button:hover{background:#437955}.p3-sim-header{background:transparent;color:#b9d6c3}@media(max-width:850px){.p3-sim-row{grid-template-columns:1fr}.p3-sim-header{display:none}.p3-sim-actions button{flex:1}}

/* v71: alle zes ronde-stappen altijd op één regel. */
.p3-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow-x:auto;max-width:100%;padding:5px 0 9px;scrollbar-width:thin}
.p3-flow button{min-width:0;min-height:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:7px 3px;border-radius:9px;border:1px solid #41634c;background:#213a2c;color:#a3b6a8;font-size:clamp(9px,.72vw,12px);line-height:1.15;font-weight:750;text-align:center;white-space:normal;cursor:pointer}
.p3-flow button:disabled{cursor:not-allowed;opacity:.66}
.p3-flow .p3-flow-icon{font-size:15px;font-weight:800}
.p3-flow button.p3-flow-done{background:#26563a;border-color:#49815a;color:#d7f3d9;opacity:1}
.p3-flow button.p3-flow-current{background:#b4e0af;border-color:#d1f2c9;color:#173822;opacity:1}
.p3-flow button.p3-flow-locked{background:#21382b;color:#91a595}
.p3-extras{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.p3-extras button{border:1px solid #56745d;background:#244b35;color:#e8f4e9;border-radius:8px;padding:8px 12px;font-weight:700}
@media(max-width:760px){.p3-flow{grid-template-columns:repeat(6,minmax(104px,1fr))}.p3-flow button{font-size:10px}}


/* V75: host-managed per-phase action overview */
.action-section-label{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 9px;font-size:.75rem;font-weight:850;letter-spacing:.13em;color:#c7e7d4}
.action-section-label span{font-size:.68rem;font-weight:500;letter-spacing:0;color:#a5b7ad}
.action-phases-heading{margin-top:27px}
.phase-action-row{width:100%;display:flex;gap:12px;align-items:center;text-align:left;min-height:64px;padding:11px 14px}
.phase-action-number{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;background:rgba(255,255,255,.08);border-radius:9px;font-weight:800}
.phase-action-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.phase-action-copy strong{font-size:.95rem;line-height:1.25}
.phase-action-copy small{font-size:.75rem;color:#a8bcb1}
.phase-action-icon{font-size:1.1rem}
.phase-locked{opacity:.55;cursor:not-allowed}
.phase-available{border-color:rgba(77,202,137,.55)!important;background:rgba(31,91,57,.28)!important}
.phase-completed{border-color:rgba(190,210,195,.28)!important}
.phase-completed .phase-action-icon{color:#8ed7ae}
#phaseActionMessage{margin:8px 2px}

/* v78: compact live overview for all three rooms */
.v78-scroll{overflow-x:auto;width:100%;max-width:100%}.v78-table{border-collapse:collapse;width:100%;min-width:880px;font-size:13px}.v78-table th,.v78-table td{border:1px solid rgba(160,180,170,.3);padding:10px;vertical-align:top;text-align:left}.v78-table thead th{background:#173d35;color:#fff}.v78-table thead small{display:block;font-size:10px;font-weight:400;margin-top:4px;opacity:.8}.v78-table tbody th:first-child{width:95px}.v78-section th{background:rgba(40,120,95,.25);font-size:15px}.v78-question{font-weight:650;margin-bottom:6px;overflow-wrap:anywhere}.v78-answer{font-size:12px;margin-top:3px}.v78-correct{color:#31b879}.v78-wrong{color:#ec6464}

/* v79: five equally scaled host workflow steps for Goed Gemixt */
.host-v7 #gamePanel .v57-steps.v79-phase2-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.host-v7 #gamePanel .v79-phase2-steps .v57-step{min-width:0;padding:9px 8px;gap:8px}
.host-v7 #gamePanel .v79-phase2-steps .v57-step-info{gap:7px;min-width:0}
.host-v7 #gamePanel .v79-phase2-steps .v57-step-info b{width:25px;height:25px;flex:0 0 25px;font-size:12px}
.host-v7 #gamePanel .v79-phase2-steps .v57-step-info>div{min-width:0}
.host-v7 #gamePanel .v79-phase2-steps .v57-step-info strong{font-size:clamp(10px,.8vw,12px);line-height:1.25;overflow-wrap:break-word}
.host-v7 #gamePanel .v79-phase2-steps .v57-step-info small{font-size:10px;line-height:1.3}
.host-v7 #gamePanel .v79-phase2-steps .v57-step button{min-height:35px;font-size:clamp(10px,.75vw,12px);padding:5px 4px;white-space:normal}
@media(max-width:1150px){.host-v7 #gamePanel .v57-steps.v79-phase2-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:690px){.host-v7 #gamePanel .v57-steps.v79-phase2-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.host-v7 #gamePanel .v57-steps.v79-phase2-steps{grid-template-columns:1fr}}

/* v87: toelichting bij iedere geldvraag uitsluitend in het hostoverzicht */
.v87-explain{margin-top:8px;border-top:1px solid rgba(160,180,170,.22);padding-top:7px;font-size:12px}
.v87-explain summary{cursor:pointer;color:#8dd6b5;font-weight:650;line-height:1.45}
.v87-detail{padding:8px 0;border-bottom:1px solid rgba(160,180,170,.14);line-height:1.5;overflow-wrap:anywhere}
.v87-color{font-weight:700}.v87-calculation{padding:8px 0;font-weight:500}

/* v88: gekleurde kleurmarkeringen en leesbare host-jokertabel */
.v88-color-token{display:inline-flex;align-items:center;justify-content:center;vertical-align:-.12em;white-space:nowrap;margin:0 2px;min-width:1.1em}
.v88-color-swatch{display:inline-block;width:1.05em;height:1.05em;border-radius:4px;background:var(--token-color);border:1px solid rgba(255,255,255,.24);box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.v88-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:12px 0}
.v88-controls button{border:1px solid rgba(130,220,170,.45);background:#164638;color:#d4f8e3;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:650}
.v88-controls button:hover{background:#225d48}
.v88-joker-row{display:grid!important;grid-template-columns:minmax(100px,145px) minmax(0,1fr);align-items:start;gap:12px!important;min-width:0;overflow:hidden}
.v88-joker-name{min-width:0;overflow-wrap:anywhere;padding-top:3px}
.v88-joker-body{min-width:0;display:flex;flex-direction:column;gap:7px}
.v88-joker-formula{display:block;min-width:0;line-height:1.9;overflow-wrap:normal;word-break:normal;white-space:normal}
.v88-joker-meta{font-size:12px;line-height:1.5;color:#c7e9d6;overflow-wrap:anywhere}
.v87-detail .v87-color{display:inline-flex;gap:5px;align-items:center}
@media(max-width:700px){.v88-joker-row{grid-template-columns:1fr;gap:4px!important}.v88-joker-name{padding-top:0}.v88-controls{justify-content:stretch}.v88-controls button{flex:1}}

/* v90: jokers naast groepspot in host-sidebar */
.v90-joker-widget{margin-top:-9px;margin-bottom:12px}.v90-joker-widget strong{font-size:clamp(18px,1.7vw,25px)}#v90JokerForm{display:grid;gap:9px;margin-top:12px}#v90JokerForm[hidden]{display:none!important}#v90JokerForm label{font-size:11px;color:#c6dfca}#v90JokerForm input,#v90JokerForm select{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:5px;padding:9px;border:1px solid #5a8b6a;background:#09251b;color:white;border-radius:7px;font-size:13px}#v90JokerFeedback{font-size:11px;color:#c7ebcc;margin-top:6px}

/* v91 - Jokers per opdracht, uitklapbare kandidaatverdeling */
.v91-joker-phase{border:1px solid #47745b;border-radius:9px;margin:7px 0;background:#103326;overflow:hidden}
.v91-joker-phase>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 10px;color:#ecf6eb;font-size:12px;list-style:none}
.v91-joker-phase>summary::-webkit-details-marker{display:none}
.v91-joker-phase>summary:before{content:'▸';color:#9dd0a9;flex:none}
.v91-joker-phase[open]>summary:before{content:'▾'}
.v91-joker-phase>summary span{flex:1;min-width:0;overflow-wrap:anywhere}
.v91-joker-phase>summary strong{white-space:nowrap;font-size:12px}
.v91-joker-players{padding:3px 10px 10px;border-top:1px solid #3a6049}
.v91-joker-player,.v91-joker-subtotal{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:12px}
.v91-joker-player span:first-child{min-width:0;overflow-wrap:anywhere}
.v91-joker-value{white-space:nowrap;font-weight:700}
.v91-joker-subtotal{border-top:1px solid #3a6049;font-weight:700;margin-top:3px}
