:root{font-family:'Malgun Gothic','Apple SD Gothic Neo',Arial,sans-serif;color:#262e2a;font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#e6e9e7}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}.titlebar{height:42px;background:#217346;color:white;display:flex;align-items:center;padding:0 15px;gap:13px}.brand-icon{font-weight:800;font-size:25px;font-style:italic;color:#fff}.filename{font-size:13px;font-weight:650}.saved{color:#e5f5e9;font-size:11px}.cloud-dot{font-size:9px;color:#b5edd4}.top-spacer{flex:1}.profile{font-size:11px;border:1px solid #79a98b;padding:5px 8px;border-radius:2px}.window-controls{opacity:.75;margin-left:9px;font-size:16px}.menu-row{background:#fafafa;border-bottom:1px solid #dedede;height:38px;display:flex;align-items:stretch;gap:3px;padding:0 9px}.menu-row button{background:transparent;border:0;padding:0 13px;color:#444}.menu-row .file-tab{color:#217346;font-weight:700}.menu-row .selected-menu{border-bottom:3px solid #217346;font-weight:700}.menu-right{margin-left:auto;display:flex;align-items:center;gap:8px;color:#666;font-size:11px}.toggle-pill{color:#15884c;font-size:16px}.ribbon{height:94px;display:flex;align-items:stretch;overflow:hidden;border-bottom:1px solid #ccc;background:#fafafa;padding:8px 10px}.ribbon-grp{position:relative;border-right:1px solid #ddd;padding:2px 18px;display:flex;flex-direction:column;gap:9px;white-space:nowrap;color:#444}.ribbon-grp small{font-size:10px;color:#777;position:absolute;bottom:0;left:45%;transform:translateX(-50%)}.clipboard{width:85px;align-items:center;padding-top:0}.ribbon-icon{font-size:33px;color:#418b61}.ribbon-line{display:flex;align-items:center;gap:14px;font-size:13px}.fake-select{border:1px solid #ddd;background:white;padding:5px 12px;min-width:140px;font-size:12px}.fake-select.small{min-width:70px}.underline-mark{border-bottom:3px solid #e6bd3a}.align{gap:17px}.numbers{min-width:165px}.styling{gap:6px;font-size:12px}.formula-bar{height:38px;background:#f9f9f9;display:flex;align-items:center;border-bottom:1px solid #bbb;padding:5px 10px;gap:8px}.name-box{background:white;border:1px solid #bbb;padding:5px 8px;min-width:90px}.fx-symbol{font-style:italic;color:#666;font-weight:700;padding:0 12px}.formula-text{background:#fff;border:1px solid #ddd;padding:4px 9px;flex:1;white-space:nowrap;overflow:hidden;color:#555}.app-stage{height:calc(100vh - 247px);min-height:530px;overflow:auto;background:#fff}.sheet-shell{min-width:1150px}.column-letters{height:27px;display:grid;grid-template-columns:43px repeat(12,minmax(87px,1fr));background:#f3f4f5;border-bottom:1px solid #c6ccc9;position:sticky;top:0;z-index:3}.column-letters span{border-right:1px solid #d4d8d6;text-align:center;padding-top:5px;color:#65716b}.corner{background:linear-gradient(135deg,transparent 50%,#c8cecb 50%)}.sheet-content{display:grid;grid-template-columns:43px 1fr;min-height:1070px}.row-nums{display:grid;grid-template-rows:repeat(32,36px);background:#f3f4f5;border-right:1px solid #c6ccc9;color:#65716b}.row-nums span{border-bottom:1px solid #dde2df;text-align:center;padding-top:10px}.sheet-main{position:relative;min-height:1152px;padding:18px 27px 48px;background-color:#fff;background-image:linear-gradient(to right,#e8ece9 1px,transparent 1px),linear-gradient(to bottom,#e8ece9 1px,transparent 1px);background-size:calc(100% / 12) 36px}.sheet-body{max-width:1165px}.small-kicker{font-size:11px;color:#737e75;letter-spacing:1px}.report-title{font-size:21px;margin:7px 0 9px;color:#203b2b;font-weight:800;display:flex;align-items:center;gap:10px}.report-title:before{content:'';display:block;width:5px;height:25px;background:#217346}.desc{color:#6b766e;line-height:1.6}.hr-accent{height:2px;background:#217346;margin:17px 0}.widget{background:#fff;border:1px solid #baccc0;box-shadow:0 1px 2px #c6d0c433}.widget-head{background:#e8f2eb;border-bottom:1px solid #bdcdc1;color:#276340;padding:9px 13px;font-size:12px;font-weight:800;display:flex;justify-content:space-between;align-items:center}.widget-body{padding:16px}.controls-intro{font-size:12px;color:#68756c;margin-bottom:12px}.form-grid{display:flex;flex-wrap:wrap;gap:10px}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}.field label{font-weight:700;color:#4a5b50;font-size:12px}.field input{height:39px;border:1px solid #bfcac1;padding:8px 11px;outline-color:#217346;min-width:0}.field button,.button{border:1px solid #217346;background:#217346;color:white;font-weight:700;border-radius:2px;padding:10px 14px;min-height:38px}.button.secondary{background:#fff;color:#217346}.button.danger{border-color:#a92c36;color:#a92c36;background:#fff}.button.tiny{font-size:11px;padding:6px 10px;min-height:30px}.button:active:not(:disabled){transform:translateY(1px)}.inline-note{font-size:11px;color:#7f897f;line-height:1.6;margin:12px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.stat{padding:13px;background:#f9fcfa;border:1px solid #d8e1d9;min-height:76px}.stat-label{font-size:11px;color:#728177}.stat-value{font-size:21px;font-weight:800;margin-top:5px;color:#235b3c}.pill{background:#e7f5eb;border:1px solid #c1dbca;padding:3px 8px;border-radius:2px;color:#217346;font-size:11px}.seat-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.seat{border:1px solid #d0d9d2;background:#fff;padding:13px;min-height:100px;display:flex;flex-direction:column;gap:7px;position:relative}.seat.current{border:2px solid #217346;background:#f4fbf5;padding:12px}.seat.folded{background:#f3f4f3;color:#9aa19b}.seat .seat-label{font-size:10px;color:#87948b;letter-spacing:.6px}.seat .name{font-weight:750;font-size:13px;overflow:hidden;text-overflow:ellipsis}.seat .chip-row{color:#576860;font-size:12px}.seat .you{color:#147c42;font-size:10px}.seat .dealer{color:#865b1a;border:1px solid #e5c888;background:#fff8e8;border-radius:40px;padding:2px 6px;font-size:10px}.seat .flags{font-size:11px;margin-left:auto}.table-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:13px}.community{display:flex;align-items:center;gap:8px;min-height:92px}.playing-card{width:55px;height:76px;border:1px solid #bdc8c1;border-radius:5px;display:inline-flex;align-items:flex-start;justify-content:flex-start;padding:7px;flex-direction:column;background:#fff;box-shadow:0 2px 4px #1112;font-family:Georgia,serif;flex:none}.playing-card .rank{font-size:25px;font-weight:bold;line-height:1}.playing-card .suit{font-size:22px;line-height:1}.playing-card.red{color:#b92336}.playing-card.black{color:#293a35}.playing-card.back{align-items:center;justify-content:center;background:#dcefe4;border:3px solid white;outline:1px solid #afc7b7;color:#217346;font-size:29px}.playing-card.blank{opacity:.28;background:#f5f6f4;border:1px dashed #a2ada5;box-shadow:none}.hole{display:flex;gap:9px;min-height:91px}.status-line{font-size:12px;color:#587163;margin-top:9px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{min-width:71px}.raise-input{width:112px;border:1px solid #a8b8ac;padding:10px;font-size:13px}.action-help{font-size:11px;color:#6e7b72;line-height:1.6;margin-top:10px}.event-log{font-family:Consolas,monospace;font-size:12px;color:#435f4e;min-height:32px;line-height:1.6}.row-item{padding:10px 12px;border-bottom:1px solid #e6ece7}.row-item:last-child{border-bottom:0}.row-item strong{color:#24633b}.waiting-list{display:flex;flex-wrap:wrap;gap:8px}.player-chip{padding:8px 11px;border:1px solid #cfdbd3;background:#f6faf7;color:#375743;font-size:12px}.room-code{font-family:Consolas,monospace;letter-spacing:3px;font-size:29px;font-weight:800;color:#217346}.room-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.label-line{font-weight:750;color:#476a51;font-size:12px;margin:18px 0 9px}.empty-note{padding:15px;color:#748277;font-size:12px;border:1px dashed #cbd6cd}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.help-list{line-height:1.9;padding-left:22px;color:#506653}.muted{color:#84918a}.foot-note{padding:14px 0;color:#818b84;font-size:11px}.results{margin-top:9px;color:#185f37;font-weight:750;font-size:13px}.bottom{height:35px;background:#f6f7f6;border-top:1px solid #ddd;display:flex;align-items:center;gap:2px;padding-left:9px}.sheet-nav{font-size:11px;color:#667d6e;padding:0 10px}.sheet-tab{background:#e9efea;border:0;border-top:2px solid transparent;height:34px;padding:5px 14px;font-size:12px}.sheet-tab.active{border-top:2px solid #217346;background:#fff;color:#217346;font-weight:700}.tab-plus{padding:0 12px;font-size:18px;color:#7e8c80}.bottom-right{margin-left:auto;padding-right:18px;color:#5d6d62;font-size:11px}#toast{position:fixed;bottom:50px;right:18px;background:#273c30;color:white;padding:12px 17px;max-width:360px;box-shadow:0 5px 24px #0003;border-radius:4px;display:none;z-index:20}#toast.active{display:block}.notice{background:#fff9e8;border:1px solid #efd89c;padding:12px 14px;color:#705528;font-size:12px;line-height:1.6;margin:12px 0}.pre{padding:8px 9px;background:#f2f4f2;border:1px solid #ccd8ce;font-family:Consolas,monospace;overflow-wrap:anywhere}.sheet-cta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.loader{padding:40px;color:#466b53}.hidden{display:none!important}@media(max-width:850px){.titlebar{height:38px}.ribbon{height:67px}.ribbon-grp{padding:0 10px}.ribbon-grp small{display:none}.styling,.numbers,.align{display:none}.app-stage{height:calc(100vh - 211px)}.sheet-main{padding:17px}.report-title{font-size:18px}.split,.table-layout,.two-col{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}.sheet-shell{min-width:850px}.seat-board{grid-template-columns:repeat(3,1fr)}}



/* Excel worksheet geometry — single source of truth.
   All panel edges are placed on worksheet cell boundaries.
   Intentionally preserve the original ribbon, color palette, type and game controls. */
:root {
  --sheet-index: 43px;
  --sheet-column: 100px;
  --sheet-row: 28px;
  --sheet-columns: 52;
  --sheet-rows: 140;
  --sheet-width: 5200px;
  --content-width: 1200px;
}
.app-stage { overflow: auto; background: #fff; }
.sheet-shell { width: calc(var(--sheet-index) + var(--sheet-width)); min-width: 100%; }
.column-letters {
  display: grid;
  grid-template-columns: var(--sheet-index) repeat(52, var(--sheet-column));
  width: calc(var(--sheet-index) + var(--sheet-width));
  height: 27px;
}
.column-letters span { min-width:0; }
.sheet-content {
  display: grid;
  grid-template-columns: var(--sheet-index) var(--sheet-width);
  width: calc(var(--sheet-index) + var(--sheet-width));
  min-height: calc(var(--sheet-rows) * var(--sheet-row));
}
.row-nums {
  display: grid;
  grid-template-rows: repeat(140, var(--sheet-row));
  align-content: start;
  min-height: calc(var(--sheet-rows) * var(--sheet-row));
}
.sheet-main {
  position:relative;
  width: var(--sheet-width);
  min-height: calc(var(--sheet-rows) * var(--sheet-row));
  padding: 0;
  background-color:#fff;
  background-image: linear-gradient(to right,#e8ece9 1px,transparent 1px),
                    linear-gradient(to bottom,#e8ece9 1px,transparent 1px);
  background-size:var(--sheet-column) var(--sheet-row);
  background-position: 0 0;
}
/* Four report rows sit in worksheet rows 1–4, with inner text inset only. */
.sheet-main > .small-kicker,
.sheet-main > .report-title,
.sheet-main > .desc,
.sheet-main > .hr-accent { position:absolute; left:0; width:var(--content-width); }
.sheet-main > .small-kicker {top:0; height:var(--sheet-row); padding:12px 12px 0;}
.sheet-main > .report-title {top:var(--sheet-row); height:var(--sheet-row); margin:0;
  display:flex; align-items:center; padding:0 12px; }
.sheet-main > .desc {top:calc(var(--sheet-row) * 2); height:var(--sheet-row);
  padding:7px 12px 0;}
.sheet-main > .hr-accent {top:calc(var(--sheet-row) * 4 - 2px); height:2px; margin:0;}
/* Games and sheets begin at row 5 / column A. */
.sheet-body {
  position:absolute;
  top:calc(var(--sheet-row) * 4);
  left:0;
  width:var(--content-width);
  max-width:none;
  display:grid;
  grid-template-columns:repeat(12, var(--sheet-column));
  grid-auto-rows:var(--sheet-row);
  gap:0;
}
/* Outer rectangles exactly follow Excel A:L column boundaries. */
.sheet-body > .widget,
.sheet-body > .summary-cards,
.sheet-body > .table-layout,
.sheet-body > .foot-note,
.sheet-body > .notice {min-width:0; min-height:0; margin:0;}
.sheet-body > .widget { overflow:hidden; }
.sheet-body > .widget >.widget-head {height:var(--sheet-row); min-height:var(--sheet-row); padding:0 13px;}
.sheet-body > .widget >.widget-body {min-height:0;}
/* The 4 stat boxes each use exactly 3 worksheet columns. */
.sheet-body > .summary-cards {
  display:grid; grid-template-columns:repeat(4,calc(var(--sheet-column) * 3));
  grid-template-rows:calc(var(--sheet-row) * 2);
  gap:0; align-items:stretch;
}
.summary-cards > .stat {width:100%; min-height:0; margin:0;}
/* Landing sheet: main A5:L12, stats A13:L14. */
.start-sheet > .widget {grid-column:1 / 13;grid-row:1 / span 8;}
.start-sheet > .summary-cards {grid-column:1 / 13;grid-row:9 / span 2;}
.start-sheet > .foot-note {grid-column:1 / 13;grid-row:11 / span 1;
  padding:10px 12px;}
/* Actual game sheet, all block edges sit on whole column/row grid lines. */
.room-sheet > .widget:first-child {grid-column:1 / 13;grid-row:1 / span 4;}
.room-sheet > .summary-cards {grid-column:1 / 13;grid-row:5 / span 2;}
.room-sheet > .table-layout {grid-column:1 / 13;grid-row:7 / span 11;
  display:grid;grid-template-columns:repeat(12, var(--sheet-column));gap:0;
  min-height:0;}
.room-sheet > .table-layout > .widget {grid-column:1 / 7;height:calc(var(--sheet-row) * 11);min-width:0;overflow:hidden;}
.room-sheet > .table-layout > .widget > .widget-head {height:var(--sheet-row);
  padding:0 13px;}
.room-sheet > .table-layout > .widget > .widget-body {padding:0;}
.room-sheet .seat-board {display:grid;grid-template-columns:repeat(3,calc(var(--sheet-column) * 2));
  grid-template-rows:repeat(2,calc(var(--sheet-row) * 5));gap:0;}
.room-sheet .seat {min-height:0;border-radius:0;padding:14px;}
.room-sheet .seat.current {padding:13px;}
.room-sheet > .table-layout > div:nth-child(2) {grid-column:7 / 13;
  display:grid;grid-template-rows:calc(var(--sheet-row) * 6) calc(var(--sheet-row) * 5);
  min-height:0;}
.room-sheet > .table-layout > div:nth-child(2) >.widget {min-height:0;overflow:hidden;}
.room-sheet > .table-layout > div:nth-child(2) >.widget:nth-child(2){margin:0!important;}
.room-sheet > .table-layout > div:nth-child(2) >.widget > .widget-head {
  height:var(--sheet-row);padding:0 13px;
}
.room-sheet > .widget:nth-child(4) {grid-column:1 / 13;grid-row:18 / span 5; margin:0!important;}
.room-sheet > .notice {grid-column:1 / 13;grid-row:23 / span 2;
  display:flex;align-items:center;padding:0 12px;margin:0;}
.room-sheet > .foot-note {grid-column:1 / 13;grid-row:25 / span 1;padding:10px 12px;}
.room-sheet:not(:has(> .notice)) > .foot-note {grid-row:23 / span 1;}
/* Help uses the same worksheet columns as the live game. */
.help-sheet > .widget {grid-column:1 / 13;grid-row:1 / span 14;}
.help-sheet > .widget > .widget-head{height:var(--sheet-row);}
/* Disable width-changing desktop-to-mobile sheet rules: keep the same cells,
   and allow horizontal scrolling just like a spreadsheet. */
@media (max-width:850px) {
 .sheet-shell {width:calc(var(--sheet-index) + var(--sheet-width));min-width:0;}
 .sheet-main {padding:0;}
 .sheet-body >.summary-cards {grid-template-columns:repeat(4,calc(var(--sheet-column) * 3));}
 .room-sheet >.table-layout {grid-template-columns:repeat(12,var(--sheet-column));}
 .room-sheet .seat-board {grid-template-columns:repeat(3,calc(var(--sheet-column) * 2));}
}


/* Office-report visual mode. Overrides presentation only; worksheet coordinates remain unchanged. */
.sheet-main {color:#303734;}
.report-title {font-size:18px; font-weight:700; color:#303b34;}
.report-title:before {width:3px; height:21px;}
.small-kicker {letter-spacing:.5px; font-size:10px;}
.widget {box-shadow:none; border:1px solid #c8d2cb;}
.widget-head {background:#edf2ee;color:#44564b;font-size:12px; font-weight:700;border-bottom:1px solid #ced8d0;}
.pill {background:#fafcfa; border:1px solid #d5ded7;color:#61746a;font-weight:400;}
.widget-body {background:rgba(255,255,255,.96);}
.stat {background:#fafbfa;border:1px solid #d7ded9;padding:10px 12px;}
.stat-label {color:#737f77;font-size:11px;}
.stat-value {font-size:17px;color:#263c2d;font-weight:700;margin-top:6px;}
.button,.field button {font-weight:500; background:#f7faf8; border-color:#b9cdc0; color:#355f43; border-radius:0; min-height:34px; padding:6px 12px;}
.button.secondary {background:#fff;color:#4f6456;border-color:#c5d1c9;}
.button.danger {border-color:#c5d1c9; background:#fff; color:#4f6456;}
.button:not(:disabled):hover {background:#e8f2eb;border-color:#58926c;}
.field input,.raise-input {border-radius:0; border-color:#c8d3cb;}
.room-code {font-size:15px;line-height:1.7;letter-spacing:.7px;color:#334a39;font-family:Consolas,'Malgun Gothic',monospace;font-weight:600;}
.room-actions {gap:9px; min-height:35px;}
.room-sheet > .table-layout .seat-board {display:block; height:calc(var(--sheet-row) * 10);background:repeating-linear-gradient(to bottom,#fff 0,#fff 35px,#e1e7e2 35px,#e1e7e2 36px);}
.room-sheet .seat, .room-sheet .seat.current, .room-sheet .seat.folded {
  display:grid; grid-template-columns:48px 184px 116px 116px 136px;
  align-items:center; gap:0; width:600px;height:var(--sheet-row); min-height:0;
  padding:0; border:0; border-bottom:1px solid #d7ded8; border-radius:0;
  background:rgba(255,255,255,.99); font-size:12px; font-weight:400;
}
.room-sheet .seat.sheet-header {background:#f7faf8; color:#607167;font-size:11px; font-weight:600;}
.room-sheet .seat.current {background:#f1f8f2;box-shadow:inset 3px 0 0 #32814b;}
.room-sheet .seat.folded {background:#f9faf9;color:#929d94;}
.room-sheet .seat > span {padding:0 10px; border-right:1px solid #e4e9e5; height:100%; display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;gap:4px;}
.room-sheet .seat > span:last-child {border-right:0;}
.room-sheet .seat .name {font-size:12px;font-weight:600;}
.room-sheet .seat .num {font-family:Consolas,'Malgun Gothic',monospace; font-variant-numeric:tabular-nums; justify-content:flex-end;}
.room-sheet .seat .you {font-size:10px;color:#2a794b;font-weight:500;}
.room-sheet .seat .dealer {border-radius:0; padding:0 3px; font-size:10px; background:#f5f7ed;}
.room-sheet .seat-empty {color:#a0aaa3;}
.room-sheet > .table-layout > div:nth-child(2) >.widget > .widget-body {padding:0 0 0 0;}
.community,.hole {display:grid;grid-template-columns:repeat(5,var(--sheet-column));gap:0;align-items:start;min-height:var(--sheet-row);height:var(--sheet-row);padding:0;}
.hole {grid-template-columns:repeat(2,var(--sheet-column));}
.playing-card,.playing-card.back,.playing-card.blank {
  border:0;border-right:1px solid #d8e0da;border-bottom:1px solid #d8e0da;
  border-radius:0;outline:none;box-shadow:none; margin:0;
  width:var(--sheet-column);height:var(--sheet-row);min-height:0;
  display:flex;flex-direction:row;gap:5px;align-items:center;justify-content:center;padding:0;
  font-family:'Malgun Gothic',Consolas,Arial,sans-serif;font-size:12px; font-weight:500;
  background:rgba(255,255,255,.96); color:#56695a; opacity:1;
}
.playing-card .rank,.playing-card .suit {font-family:Consolas,Georgia,serif;font-size:14px;line-height:1;font-weight:600;}
.playing-card.red {color:#97565d;}
.playing-card.black {color:#394d3e;}
.playing-card.back {font-size:12px;color:#9aa6a0;background:#f9fbf9;}
.playing-card.blank {font-size:12px;color:#b7c1b9;background:#fff;}
.status-line {min-height:var(--sheet-row);height:auto;margin:0;padding:10px 12px;color:#728078;font-size:11px;}
.room-sheet .action-help {margin-top:9px;color:#748078;font-size:11px;}
.room-sheet .actions {display:flex;gap:0;flex-wrap:nowrap;align-items:center;}
.room-sheet .actions >* {height:35px;min-height:35px;border-right:0;border-radius:0;}
.room-sheet .actions >*:last-child {border-right:1px solid #c5d1c9;}
.room-sheet .actions button {min-width:86px; padding:6px 12px;}
.room-sheet .actions .raise-input {width:120px; min-width:80px;}
.room-sheet .actions button:not(:disabled) {color:#245e3b;}
.room-sheet .actions button:disabled {opacity:.55;}
.room-sheet .notice {background:#f8faf8;border-color:#d5ded7;color:#637368;font-size:11px;}
.room-sheet .foot-note,.start-sheet .foot-note {color:#87928a;font-size:10px;}
.start-sheet .controls-intro {margin-bottom:12px;}
.start-sheet .inline-note {font-size:11px;margin-top:12px;color:#7e8981;}
@media(max-width:850px){
  .room-sheet .seat,.room-sheet .seat.current,.room-sheet .seat.folded {grid-template-columns:48px 184px 116px 116px 136px;}
  .room-sheet .actions {flex-wrap:wrap;}
}

/* Settings sheet: editable worksheet-like label inventory */
.sheet-main:has(.settings-sheet) { min-height:8500px; }
.settings-sheet { width:1200px; }
.settings-sheet > .widget { grid-column:1 / 13; grid-row:1 / span 1; overflow:visible; }
.settings-sheet > .widget > .widget-body { padding:0; }
.settings-sheet .settings-hint {padding:14px 16px; margin:0; background:#f5f8f5; color:#566a5c; font-size:12px;line-height:1.8;}
.settings-table {width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px;}
.settings-table thead th {text-align:left; background:#e9f0e9; position:sticky; top:27px;z-index:2;border-bottom:1px solid #aebfb2;}
.settings-table td,.settings-table th {border:1px solid #d3ddd6; padding:7px 11px; text-align:left; overflow-wrap:anywhere;}
.settings-table th:first-child,.settings-table td:first-child {width:225px;}
.settings-table th:nth-child(2),.settings-table td:nth-child(2) {width:445px;}
.settings-table tr.settings-group th {background:#f2f6f2;color:#326544;font-weight:700;padding:9px 12px;}
.settings-table .setting-key {font-family:Consolas,monospace;font-size:11px;color:#718279;}
.settings-table .setting-default {color:#728078;}
.settings-table input {width:100%;height:31px;border:1px solid #becdc1;background:#fff;padding:5px 9px;color:#283b2e;outline-color:#217346;}
.settings-table input:focus {border-color:#217346;outline:1px solid #217346;}
.settings-sheet .widget-head .button {min-height:25px; padding:3px 10px;}

.settings-sheet > .widget{ height:max-content;align-self:start; }


/* Ribbon clipboard fix (the rest of the workbook/game UI is unchanged).
   Reserve a separate vertical slot for the action and the group caption.
   This prevents the paste text and 'clipboard' caption overlapping at zoom. */
.ribbon .ribbon-grp.clipboard {
  flex: 0 0 96px;
  width: 96px;
  padding: 0 7px;
  gap: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
}
.ribbon .clipboard .ribbon-icon {
  flex: 0 0 37px;
  width: 36px;
  height: 37px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.ribbon .clipboard .clipboard-action {
  display: block;
  flex: 0 0 18px;
  height: 18px;
  max-width: 100%;
  margin: 0;
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ribbon .clipboard .clipboard-caption {
  position: static;
  display: block;
  flex: 0 0 12px;
  height: 12px;
  max-width: 100%;
  margin: 10px 0 0;
  padding: 0;
  left: auto;
  bottom: auto;
  transform: none;
  font-size: 10px;
  font-weight: 400;
  line-height: 12px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Keep a real 3-row ribbon on narrower windows, rather than compressing
   the clipboard icon/text/group caption into a 67px ribbon. */
@media (max-width: 850px) {
  .ribbon { height: 94px; }
  .ribbon .ribbon-grp.clipboard { padding: 0 7px; }
  .ribbon .clipboard .clipboard-caption { display: block; }
  .app-stage { height: calc(100vh - 247px); }
}

/* ========================================================================
   Excel desktop visual pass — aligned to the supplied 1900px reference.
   This section owns every desktop chrome dimension, worksheet coordinate,
   and page block. Game engine and state transitions are not altered.
   ======================================================================== */
:root {
  --sheet-index: 24px;
  --sheet-column: 72px;
  --sheet-row: 28px;
  --sheet-columns: 80;
  --sheet-rows: 260;
  --sheet-width: 5760px;
  --content-width: 1152px;
  font-family: 'Aptos','맑은 고딕','Malgun Gothic',Arial,sans-serif;
  font-size: 12px;
  color: #242424;
}
html,body,#app { height:100%; margin:0; }
body { background: #fff; overflow:hidden; }
#app {display:flex;flex-direction:column;min-height:0;}
button { font-weight:normal; }
/* light Office/Windows title strip */
.titlebar {height:39px;flex:0 0 39px;background:#f5f5f5;border-bottom:0;color:#6f7476;padding:0 5px;gap:9px;align-items:center;position:relative;white-space:nowrap;}
.excel-logo {background:#18763b;color:white;width:17px;height:17px;display:grid;place-items:center;position:relative;flex-shrink:0;border-radius:1px;font-weight:800;font-size:11px;box-shadow:4px 0 0 -2px #0e5d30;}
.excel-logo span {transform:scaleX(.9)}
.autosave {color:#9a9a9a;font-size:12px;margin-left:7px;}
.autosave-switch {width:35px;height:17px;border-radius:10px;border:1px solid #aaa;background:#c8c8c8;display:inline-flex;align-items:center;padding:2px;}
.autosave-switch i{width:11px;height:11px;border-radius:50%;background:white;box-shadow:0 1px 2px #5555;}
.quick-icon {color:#a2a5a5;font-size:19px;line-height:1;padding:0 1px;}
.quick-divider{width:8px}
.filename,.file-suffix {font-weight:400;font-size:12px;color:#9d9d9d;white-space:nowrap;}
.filename {margin-right:-9px;}
.title-search {height:33px;left:50%;transform:translateX(-50%);position:absolute;width:370px;border:1px solid #d5d5d5;box-shadow:0 0 2px #aaa5;display:flex;align-items:center;gap:9px;border-radius:5px;color:#aaaaaa;background:#f0f0f0;padding:0 10px;}
.title-search svg {width:18px;height:18px;stroke:#babdbd;stroke-width:1.6;fill:none;}
.top-spacer {flex:1;}
.user-circle {font-size:11px;background:#035f54;color:#fff;border-radius:50%;height:25px;width:25px;display:grid;place-items:center;margin:0 17px 0 8px;}
.window-control {color:#a4a8a8;min-width:39px;display:grid;place-items:center;height:37px;font-size:15px;}
.close-window {font-size:21px;}
.menu-row{height:35px;flex:0 0 35px;padding:0 2px;background:#fff;border-bottom:1px solid #dedede;align-items:stretch;gap:0;white-space:nowrap;}
.menu-row button{font-size:13px;border:0;background:transparent;padding:0 12px;white-space:nowrap;color:#252525;}
.menu-row .file-tab{color:#242424;font-weight:400;}
.menu-row .selected-menu{font-weight:500;border-bottom:3px solid #217346;}
.menu-right{color:#585858;display:flex;gap:8px;align-items:center;padding:0 8px;font-size:12px;}
.memo-small {border:1px solid #aaa;border-radius:2px;padding:4px 9px;line-height:15px;}
.share-small {background:#17803c;color:white;border-radius:3px;padding:5px 12px;font-weight:600;line-height:15px;}
/* dense Excel ribbon: accurate proportions, no overlap at 100% zoom */
.ribbon {height:106px;min-height:106px;flex:0 0 106px;padding:3px 0 0 4px;gap:0;background:#fff;border-bottom:1px solid #d0d0d0;overflow:hidden;color:#343434;}
.ribbon-grp {flex:none;position:relative;padding:3px 10px 18px;display:flex;flex-direction:column;align-items:stretch;gap:0;border-right:1px solid #d5d5d5;color:#333;height:98px;white-space:nowrap;overflow:hidden;}
.ribbon-grp .ribbon-content {display:flex;min-height:71px;align-items:stretch;gap:8px;}
.ribbon-grp small.group-caption{position:absolute;bottom:1px;left:0;right:0;transform:none;margin:0;padding:0;text-align:center;color:#626262;font-size:11px;font-weight:400;line-height:13px;}
.ribbon .ribbon-grp.clipboard {width:154px;flex:0 0 154px;padding:3px 10px 18px;align-items:stretch;overflow:hidden;}
.clipboard-content {gap:8px!important;}
.paste-control {display:flex;flex-direction:column;align-items:center;width:56px;min-width:56px;font-size:12px;justify-content:flex-start;line-height:14px;}
.paste-control svg {width:34px;height:37px;display:block;}
.paste-control b {font-size:10px;line-height:8px;font-weight:400;}
.clipboard-others {display:flex;flex-direction:column;gap:6px;padding-top:3px;font-size:12px;}
.clipboard-others div {display:flex;gap:7px;align-items:center;height:16px;}
.clipboard-others i {width:15px;color:#307d54;font-size:14px;font-style:normal;}
.clipboard-others b {font-weight:400;}
.ribbon-grp.font {width:275px;flex:0 0 275px;padding-left:10px;padding-right:10px;}
.ribbon-grp.font .ribbon-content{flex-direction:column;gap:7px;justify-content:flex-start;}
.font-top,.font-bottom {height:26px;display:flex;align-items:center;gap:9px;}
.font-combo,.font-size {height:26px;border:1px solid #aaa;display:flex;justify-content:space-between;align-items:center;padding:0 6px;font-size:12px;background:#fff;}
.font-combo {width:155px;}.font-size{width:52px;}.font-top i{font-style:normal;font-size:14px;}
.font-top .mini-arrow{font-size:12px;color:#5686ad;vertical-align:super;}
.font-bottom{gap:17px;font-size:14px;color:#222;}
.font-bottom sub{font-size:8px;color:#333;}
.font-bottom .fill-paint{color:#ceaf35;border-bottom:3px solid #e7d14a;}
.font-bottom .font-red{color:#222;border-bottom:3px solid #c53033;}
.ribbon-grp.align {width:282px;flex:0 0 282px;padding-left:12px;padding-right:8px;}
.ribbon-grp.align .ribbon-content{display:flex;align-items:flex-start;gap:12px;}
.align-grid{width:128px;display:grid;grid-template-columns:repeat(6,18px);grid-template-rows:repeat(2,26px);align-items:center;justify-items:center;gap:0 3px;font-size:18px;color:#545454;padding-top:1px;}
.align-grid .active-icon {border:1px solid #ccc;border-radius:3px;background:#ebebeb;}
.align-extra{display:flex;flex-direction:column;gap:18px;font-size:12px;padding-top:5px;}
.align-extra>span{white-space:nowrap;}
.ribbon-grp.numbers {width:162px;flex:0 0 162px;padding-left:9px;padding-right:9px;}
.ribbon-grp.numbers .ribbon-content {flex-direction:column;gap:9px;}
.number-select{height:27px;width:145px;border:1px solid #aaa;border-radius:2px;display:flex;justify-content:space-between;align-items:center;padding:0 8px;font-size:12px;}
.number-row{display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:14px;}
.ribbon-grp.styling {width:398px;flex:0 0 398px;padding:3px 9px 18px;}
.ribbon-grp.styling .ribbon-content{align-items:flex-start;gap:7px;}
.style-tool {min-width:44px;max-width:52px;display:flex;flex-direction:column;gap:2px;align-items:center;white-space:normal;text-align:center;font-size:11px;line-height:13px;}
.style-icon {color:#246b42;font-size:25px;height:29px;line-height:29px;}
.style-icon.colored{color:#bc5b59;}
.style-catalog {display:grid;grid-template-columns:repeat(2,95px);grid-template-rows:repeat(3,22px);border:1px solid #bbb;padding:1px;gap:1px;}
.style-catalog span{font-size:12px;display:flex;align-items:center;padding:0 5px;line-height:1;}
.style-normal{border:1px solid #aaa;background:#fafafa;}.style-bad{background:#f7b6bc;color:#ae1e33;}
.style-good{background:#bde6bd;color:#176734;}.style-normal2{background:#fee6a0;color:#8c6d00;}
.style-warning{color:#aa2222;background:#fff;}.style-calc{background:#f9efcb;color:#a37307;}
.ribbon-grp.cells{width:152px;flex:0 0 152px;}.cell-tools {justify-content:space-around;}
.cell-tools div{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;}.cell-tools div>span:first-child{font-size:27px;color:#4c8296;line-height:34px;}
.ribbon-grp.editing{width:272px;flex:0 0 272px;}.ribbon-grp.editing .ribbon-content{gap:10px;}
.edit-actions{display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:15px;}
.edit-actions.right{border-left:1px solid #ddd;padding-left:10px;gap:13px;}
/* formula/name box: 58px as in reference, including separator */
.formula-bar {height:57px;min-height:57px;flex:0 0 57px;background:#fff;display:flex;align-items:flex-start;padding:6px 0 5px;gap:0;border-bottom:1px solid #e4e4e4;position:relative;}
.name-box {height:29px;min-width:101px;width:101px;margin:0 6px 0 0;border:1px solid #aaa;background:#fff;padding:5px 7px;display:flex;align-items:center;justify-content:space-between;font-size:12px;}
.formula-arrow {color:#555;font-size:15px;}
.formula-x,.formula-check{width:22px;display:grid;place-items:center;height:29px;color:#aeb1b1;font-size:21px;}
.fx-symbol {width:31px;font-size:15px;color:#777;font-style:italic;height:29px;display:grid;place-items:center;padding:0;margin:0 5px 0 0;}
.formula-text {height:47px;align-self:stretch;flex:1;border:1px solid #d3d3d3;border-radius:4px;background:#fff;padding:7px 8px;font-size:12px;color:#555;}
.formula-chevron{position:absolute;right:5px;top:3px;color:#888;font-size:16px;}
/* actual Excel worksheet geometry */
.app-stage {flex:1;min-height:0;height:auto;overflow:auto;background:#fff;position:relative;}
.sheet-shell{width:calc(var(--sheet-index) + var(--sheet-width));min-width:0;}
.column-letters{height:27px;width:calc(var(--sheet-index) + var(--sheet-width));grid-template-columns:var(--sheet-index) repeat(80,var(--sheet-column));position:sticky;top:0;z-index:4;background:#f8f8f8;border-bottom:1px solid #c6c6c6;}
.column-letters span {min-width:0;border-right:1px solid #e0e0e0;text-align:center;padding-top:6px;font-size:12px;color:#444;}
.column-letters .corner {background:linear-gradient(135deg,transparent 50%,#c8cecb 51%);}
.sheet-content{width:calc(var(--sheet-index) + var(--sheet-width));grid-template-columns:var(--sheet-index) var(--sheet-width);min-height:calc(var(--sheet-row) * var(--sheet-rows));}
.row-nums{grid-template-rows:repeat(260,var(--sheet-row));min-height:calc(var(--sheet-row) * var(--sheet-rows));background:#f9f9f9;color:#444;border-right:1px solid #d0d0d0;align-content:start;}
.row-nums span{border-bottom:1px solid #dddddd;text-align:left;padding:0 0 0 3px;font-size:12px;display:flex;align-items:center;}
.sheet-main{width:var(--sheet-width);min-height:calc(var(--sheet-row) * var(--sheet-rows));padding:0;background-color:white;background-image:linear-gradient(to right,#e1e1e1 1px,transparent 1px),linear-gradient(to bottom,#e1e1e1 1px,transparent 1px);background-size:var(--sheet-column) var(--sheet-row);background-position:0 0;color:#252525;}
.sheet-main >.small-kicker,.sheet-main >.report-title,.sheet-main >.desc,.sheet-main >.hr-accent{width:var(--content-width);left:0;}
.sheet-main >.small-kicker{top:0;height:var(--sheet-row);font-size:10px;padding:5px 11px 0;letter-spacing:0;}
.sheet-main >.report-title{top:var(--sheet-row);height:var(--sheet-row);display:flex;align-items:center;font-size:16px;padding:0 11px;letter-spacing:0;margin:0;}
.sheet-main >.report-title:before{height:18px;width:3px;}
.sheet-main >.desc{top:calc(var(--sheet-row)*2);height:var(--sheet-row);padding:5px 11px 0;font-size:11px;}
.sheet-main >.hr-accent{top:calc(var(--sheet-row)*4 - 2px);height:2px;margin:0;}
.sheet-body{position:absolute;top:calc(var(--sheet-row)*4);left:0;width:var(--content-width);max-width:none;display:grid;grid-template-columns:repeat(16,var(--sheet-column));grid-auto-rows:var(--sheet-row);gap:0;}
.sheet-body >.widget,.sheet-body >.summary-cards,.sheet-body >.table-layout,.sheet-body >.foot-note,.sheet-body >.notice{margin:0;min-width:0;min-height:0;}
.widget{border:1px solid #cdd5cf;box-shadow:none;background:white;}
.widget-head{border-bottom:1px solid #d2d9d3;background:#e9f0eb;font-weight:600;color:#41634b;font-size:11px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;}
.sheet-body >.widget >.widget-head{height:var(--sheet-row);min-height:var(--sheet-row);padding:0 11px;}
.widget-body{background:rgba(255,255,255,.985);}
.stat{min-height:0;border:1px solid #d1d9d2;background:#fbfcfb;padding:7px 10px;}
.stat-label{font-size:10px;color:#707970;}
.stat-value{font-size:15px;font-weight:700;color:#274631;margin-top:4px;}
.sheet-body >.summary-cards{grid-template-columns:repeat(4,calc(var(--sheet-column) * 4));grid-template-rows:calc(var(--sheet-row)*3);gap:0;}
.sheet-body >.summary-cards >.stat{height:calc(var(--sheet-row)*3);}
.start-sheet >.widget{grid-column:1/17;grid-row:1/span 11;}
.start-sheet >.summary-cards{grid-column:1/17;grid-row:12/span 3;}
.start-sheet >.foot-note{grid-column:1/17;grid-row:15/span 2;padding:10px 11px;}
.start-sheet >.widget >.widget-body{padding:14px;}
.controls-intro{margin-bottom:11px;}.field input{height:30px;}.field{gap:4px;}
.sheet-cta{margin-top:10px!important;}.button{min-height:29px;padding:5px 11px;font-size:12px;}
.inline-note{margin-top:11px;font-size:11px;}
.room-sheet >.widget:first-child{grid-column:1/17;grid-row:1/span 5;}
.room-sheet >.widget:first-child >.widget-body{padding:8px 12px;}
.room-sheet .room-actions{min-height:28px;gap:7px;}
.room-sheet .room-code{font-size:14px;line-height:1.5;}
.button.tiny{min-height:26px;font-size:11px;padding:3px 9px;}
.room-sheet >.summary-cards{grid-column:1/17;grid-row:6/span 3;}
.room-sheet >.table-layout{grid-column:1/17;grid-row:9/span 15;display:grid;grid-template-columns:repeat(16,var(--sheet-column));grid-template-rows:calc(var(--sheet-row)*15);gap:0;}
.room-sheet >.table-layout >.widget{grid-column:1/9;height:calc(var(--sheet-row)*15);min-width:0;overflow:hidden;}
.room-sheet >.table-layout >.widget >.widget-head{height:var(--sheet-row);padding:0 11px;}
.room-sheet >.table-layout >.widget >.widget-body{padding:0;}
.room-sheet .seat-board{display:block;height:calc(var(--sheet-row)*14);background:repeating-linear-gradient(to bottom,#fff 0,#fff 22px,#e5e8e5 22px,#e5e8e5 23px);}
.room-sheet .seat,.room-sheet .seat.current,.room-sheet .seat.folded{width:576px;height:var(--sheet-row);min-height:0;padding:0;display:grid;grid-template-columns:38px 165px 95px 95px 183px;gap:0;font-size:11px;background:#fff;border:0;border-bottom:1px solid #dfe4df;border-radius:0;}
.room-sheet .seat.sheet-header{font-size:10px;background:#f6f9f7;color:#667269;}
.room-sheet .seat.current{background:#eff7f0;box-shadow:inset 2px 0 #237645;}
.room-sheet .seat.folded{background:#f8f8f8;}
.room-sheet .seat>span{font-size:11px;padding:0 8px;min-width:0;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:flex-start;gap:4px;border-right:1px solid #e7eae7;}
.room-sheet .seat .num{justify-content:flex-end;}
.room-sheet .seat .name{font-size:11px;}
.room-sheet >.table-layout >div:nth-child(2){grid-column:9/17;display:grid;grid-template-rows:calc(var(--sheet-row)*7) calc(var(--sheet-row)*8);min-height:0;}
.room-sheet >.table-layout >div:nth-child(2) >.widget{min-height:0;overflow:hidden;}
.room-sheet >.table-layout >div:nth-child(2) >.widget >.widget-head{height:var(--sheet-row);padding:0 11px;}
.room-sheet >.table-layout >div:nth-child(2) >.widget >.widget-body{padding:0;}
.room-sheet >.table-layout >div:nth-child(2) >.widget:nth-child(2){margin:0!important;}
.community{display:grid;grid-template-columns:repeat(5,var(--sheet-column));height:var(--sheet-row);min-height:var(--sheet-row);gap:0;padding:0;}
.hole{display:grid;grid-template-columns:repeat(2,var(--sheet-column));height:var(--sheet-row);min-height:var(--sheet-row);gap:0;padding:0;}
.playing-card,.playing-card.back,.playing-card.blank{width:var(--sheet-column);height:var(--sheet-row);min-height:0;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;border:0;border-right:1px solid #dae1db;border-bottom:1px solid #dae1db;background:white;box-shadow:none;border-radius:0;font-size:12px;opacity:1;outline:none;color:#3a5141;}
.playing-card .rank,.playing-card .suit{font-size:13px;font-family:Consolas,Georgia,serif;line-height:1;}
.playing-card.red{color:#ab4048}.playing-card.black{color:#365140}
.playing-card.back{font-size:12px;color:#8e9a90;background:#f6faf7;}
.playing-card.blank{background:#fff;color:#b7c0b8;}
.status-line{font-size:11px;color:#69756c;height:auto;min-height:var(--sheet-row);padding:6px 10px;margin:0;}
.room-sheet >.widget:nth-child(4){grid-column:1/17;grid-row:24/span 7;margin:0!important;}
.room-sheet >.widget:nth-child(4) >.widget-body{padding:13px 12px;}
.room-sheet .actions{display:flex;flex-wrap:nowrap;align-items:center;gap:0;}
.room-sheet .actions >*{height:29px;min-height:29px;border-right:0;border-radius:0;}
.room-sheet .actions >*:last-child{border-right:1px solid #c5d1c9;}
.room-sheet .actions button{min-width:84px;}
.room-sheet .actions .raise-input{width:118px;}
.room-sheet .action-help{margin-top:10px;font-size:11px;}
.room-sheet >.notice{grid-column:1/17;grid-row:31/span 2;margin:0;padding:5px 10px;display:flex;align-items:center;background:#faf8ef;color:#8a7743;font-size:11px;}
.room-sheet >.foot-note{grid-column:1/17;grid-row:33/span 2;padding:8px 11px;}
.room-sheet:not(:has(>.notice)) >.foot-note{grid-row:31/span 2;}
.help-sheet >.widget{grid-column:1/17;grid-row:1/span 18;}
.help-sheet >.widget >.widget-head{height:var(--sheet-row);}
.settings-sheet{width:var(--content-width);}
.settings-sheet >.widget{grid-column:1/17;grid-row:1/span 1;height:max-content;overflow:visible;}
.settings-sheet >.widget >.widget-body{padding:0;}
.settings-table thead th{top:27px;}
.sheet-main:has(.settings-sheet){min-height:11000px;}
/* sheet tabs and Excel's subtle status bar */
.bottom{height:33px;min-height:33px;flex:0 0 33px;background:#f7f7f7;border-top:1px solid #cfcfcf;padding:0 10px 0 4px;gap:3px;color:#444;}
.sheet-nav{padding:0 9px;font-size:11px;color:#777;}
.sheet-plus{font-size:19px;color:#666;padding:0 8px;}
.sheet-tab{height:31px;background:#ededed;border:0;border-bottom:0;border-top:2px solid transparent;padding:3px 14px;color:#555;font-size:12px;}
.sheet-tab.active{border-top:2px solid #217346;background:white;color:#217346;font-weight:600;}
.bottom-right{display:flex;align-items:center;gap:21px;padding-right:7px;font-size:11px;color:#616161;}
.view-icons{color:#666;font-size:14px;}.zoom-slider{font-size:12px;color:#777;letter-spacing:0;}
/* keep everything in worksheet coordinates; horizontal scrolling is Excel-like */
@media(max-width:850px){
 .titlebar{height:39px;flex:0 0 39px;}.title-search{display:none;}
 .menu-row{height:35px;flex:0 0 35px;overflow:hidden;}.menu-right{display:none;}
 .ribbon{height:106px;min-height:106px;flex:0 0 106px;overflow:hidden;}
 .ribbon-grp.align,.ribbon-grp.numbers,.ribbon-grp.styling{display:flex;}
 .app-stage{height:auto;min-height:0;}
 .sheet-shell{min-width:0;width:calc(var(--sheet-index) + var(--sheet-width));}
 .sheet-main{padding:0;}
 .sheet-body >.summary-cards{grid-template-columns:repeat(4,calc(var(--sheet-column) * 4));}
 .room-sheet >.table-layout{grid-template-columns:repeat(16,var(--sheet-column));}
 .room-sheet .seat-board{display:block;}
 .room-sheet .actions{flex-wrap:nowrap;}
}

/* ======================================================================
   Hold'em play-sheet: legible controls and action audit, without altering
   the Excel title/ribbon, formula bar, sheet cell geometry, or start sheet.
   Every main panel edge lands on a 72x23 worksheet-grid boundary.
   ====================================================================== */
.room-sheet.clarity-sheet {width:calc(var(--sheet-column) * 22);grid-template-columns:repeat(22,var(--sheet-column));}
.room-sheet.clarity-sheet > * {min-width:0;box-sizing:border-box;}
.room-sheet.clarity-sheet > .room-intro {grid-column:1/17;grid-row:1/4;height:calc(var(--sheet-row)*3);overflow:hidden;}
.clarity-sheet .room-intro .widget-head {height:var(--sheet-row);padding:0 10px;}
.clarity-sheet .room-intro .widget-body {height:calc(var(--sheet-row)*2);padding:5px 11px;}
.clarity-sheet .room-actions {margin:0;display:flex;gap:9px;min-height:28px;align-items:center;white-space:nowrap;}
.clarity-sheet .room-code {font-size:14px;font-weight:650;}
.clarity-sheet .head-hint{margin-left:10px;font-size:12px;color:#496552;}
.clarity-sheet .head-hint b {color:#166b3b;font-size:13px;}
.room-sheet.clarity-sheet > .phase-panel{grid-column:1/17;grid-row:4/8;overflow:hidden;background:#fff;border:1px solid #d2dad4;}
.clarity-sheet .phase-label{height:var(--sheet-row);padding:3px 11px;background:#f1f4f2;font-weight:700;font-size:11px;border-bottom:1px solid #d9e0da;}
.clarity-sheet .phase-label span{font-weight:normal;color:#718177;}
.clarity-sheet .phase-track{height:calc(var(--sheet-row)*3);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
.clarity-sheet .phase-cell{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:3px 13px;border-right:1px solid #d9dfda;background:#fff;position:relative;}
.clarity-sheet .phase-cell:last-child{border-right:0;}
.clarity-sheet .phase-count{font-size:10px;color:#8e9890;font-weight:600;}
.clarity-sheet .phase-cell strong{font-size:13px;font-weight:700;color:#63746b;}
.clarity-sheet .phase-cell small{font-size:10px;color:#8a958b;}
.clarity-sheet .phase-cell.completed{background:#f4f8f5;}
.clarity-sheet .phase-cell.completed::after{content:'✓';position:absolute;right:9px;top:8px;color:#4a8965;font-size:13px;}
.clarity-sheet .phase-cell.active-phase{background:#e5f3e9;box-shadow:inset 0 3px #217346;}
.clarity-sheet .phase-cell.active-phase strong{color:#15653c;}
.clarity-sheet .phase-cell.upcoming{color:#89938c;}
.room-sheet.clarity-sheet > .summary-cards{grid-column:1/17;grid-row:8/11;margin:0;gap:0;grid-template-columns:repeat(4,calc(var(--sheet-column) * 4));}
.clarity-sheet .summary-cards .stat{height:calc(var(--sheet-row)*3);padding:11px 14px;background:#fff;}
.clarity-sheet .summary-cards .stat-primary{background:#f3faf5;}
.clarity-sheet .summary-cards .stat-value{font-size:20px;line-height:1.2;margin-top:5px;font-weight:750;color:#183e29;}
.clarity-sheet .stat-value small{font-size:10px;color:#758178;font-weight:normal;}
.room-sheet.clarity-sheet > .clarity-main{grid-column:1/17;grid-row:11/22;display:grid;grid-template-columns:repeat(16,var(--sheet-column));grid-template-rows:calc(var(--sheet-row)*11);height:calc(var(--sheet-row)*11);gap:0;margin:0;}
.room-sheet.clarity-sheet > .clarity-main > .players-widget{grid-column:1/10;grid-row:1;height:calc(var(--sheet-row)*11);width:648px;overflow:hidden;}
.clarity-sheet .players-widget .widget-head {height:var(--sheet-row);padding:0 10px;}
.clarity-sheet .players-widget .widget-body{padding:0;height:calc(var(--sheet-row)*10);}
.clarity-sheet .seat-board{display:block;height:calc(var(--sheet-row)*8);background:#fff;}
.clarity-sheet .seat,.clarity-sheet .seat.current,.clarity-sheet .seat.folded,.clarity-sheet .seat.sheet-header{
  height:var(--sheet-row);min-height:var(--sheet-row);width:648px;padding:0;gap:0;
  display:grid;grid-template-columns:34px 116px 78px 76px 76px 96px 172px;
  border:0;border-bottom:1px solid #dfe5e0;border-radius:0;box-shadow:none;
}
.clarity-sheet .seat.sheet-header{background:#f1f5f2;color:#506254;}
.clarity-sheet .seat>span{display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;justify-content:flex-start;padding:0 5px;height:100%;min-width:0;font-size:11px;border-right:1px solid #e1e7e2;}
.clarity-sheet .seat .num{justify-content:flex-end;font-variant-numeric:tabular-nums;}
.clarity-sheet .seat.current{box-shadow:inset 4px 0 #188849;background:#ecf9ef;}
.clarity-sheet .seat.folded{background:#f4f4f4;color:#9ea7a1;}
.clarity-sheet .seat .name{font-size:11px;font-weight:700;}
.clarity-sheet .seat .you{font-size:9px;color:#187344;}
.clarity-sheet .seat .dealer{font-size:9px;}
.clarity-sheet .seat-result{font-size:10px;color:#245b3a;gap:4px;}
.clarity-sheet .seat-result .playing-card,
.clarity-sheet .seat-result .playing-card.back,
.clarity-sheet .seat-result .playing-card.blank,
.clarity-sheet .detail-cards .playing-card,
.clarity-sheet .detail-cards .playing-card.back,
.clarity-sheet .detail-cards .playing-card.blank {
  width:42px;height:19px;min-width:42px;min-height:19px;padding:0;margin:0;
  display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:2px;
  border-radius:2px;box-shadow:none;font-size:11px;
}
.clarity-sheet .seat-result .playing-card .rank,
.clarity-sheet .seat-result .playing-card .suit,
.clarity-sheet .detail-cards .playing-card .rank,
.clarity-sheet .detail-cards .playing-card .suit {font-size:12px;line-height:1;}
.clarity-sheet .compact-card.text{display:inline-block;margin-right:6px;font-size:10px;font-weight:600;}
.clarity-sheet .compact-card.red{color:#b51d2f;}
.clarity-sheet .compact-card.black{color:#111;}
.clarity-sheet .compact-card.undisclosed{color:#929e96;}
.clarity-sheet .move-chip{padding:2px 6px;font-size:10px;border-radius:2px;background:#f0f2f0;color:#65746b;white-space:nowrap;}
.clarity-sheet .move-turn{background:#147741;color:white;}
.clarity-sheet .move-fold{background:#f1f1f1;color:#909595;text-decoration:line-through;}
.clarity-sheet .move-call,.clarity-sheet .move-check{background:#e7eff9;color:#315e86;}
.clarity-sheet .move-raise,.clarity-sheet .move-allin{background:#fff0d2;color:#946017;}
.clarity-sheet .players-foot{font-size:11px;color:#718176;padding:5px 10px;background:#f9fbf9;height:calc(var(--sheet-row)*2);line-height:1.4;}
.room-sheet.clarity-sheet > .clarity-main > .cards-column{grid-column:10/17;grid-row:1;display:grid;grid-template-rows:calc(var(--sheet-row)*5) calc(var(--sheet-row)*6);gap:0;height:calc(var(--sheet-row)*11);}
.clarity-sheet .card-widget{height:100%;margin:0!important;overflow:hidden;}
.clarity-sheet .card-widget .widget-head{height:var(--sheet-row);padding:0 10px;min-height:var(--sheet-row);}
.clarity-sheet .card-widget .widget-body{padding:8px 12px;height:calc(100% - var(--sheet-row));}
.clarity-sheet .card-switch{display:flex;align-items:center;gap:2px;font-size:10px;color:#576b5b;font-weight:400;}
.clarity-sheet .card-switch >span{margin-right:6px;}
.clarity-sheet .mode-btn,.settings-mode-control .mode-btn{border:1px solid #bfcdc3;background:#fff;color:#42674f;padding:3px 9px;min-height:21px;border-radius:2px;font-size:11px;}
.clarity-sheet .mode-btn.chosen,.settings-mode-control .mode-btn.chosen{background:#267849;border-color:#267849;color:#fff;font-weight:700;}
.clarity-sheet .community,.clarity-sheet .hole{display:flex;align-items:flex-start;gap:8px;height:auto;min-height:0;padding:0;}
.clarity-sheet .playing-card,.clarity-sheet .playing-card.back,.clarity-sheet .playing-card.blank{min-width:0;width:56px;height:62px;min-height:0;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #cbd4ce;border-radius:3px;background:white;box-shadow:0 1px 2px #00000015;font-size:14px;}
.clarity-sheet .playing-card .rank{font-family:Georgia,serif;font-size:22px;line-height:1;font-weight:700;}
.clarity-sheet .playing-card .suit{font-family:Georgia,serif;font-size:21px;line-height:1;}
.clarity-sheet .playing-card.red{color:#b62f3b;}.clarity-sheet .playing-card.black{color:#26372e;}
.clarity-sheet .playing-card.back{background:repeating-linear-gradient(45deg,#e7f2e9,#e7f2e9 4px,#daeadf 4px,#daeadf 7px);color:#62846a;}
.clarity-sheet .playing-card.blank{border:1px dashed #d7dcd8;box-shadow:none;color:#a9b1ab;}
.clarity-sheet .cards-text .playing-card,.clarity-sheet .playing-card.text-card{width:68px;height:29px;flex-direction:row;border-radius:0;gap:2px;background:#fbfcfb;box-shadow:none;font-family:Consolas,'Malgun Gothic',monospace;}
.clarity-sheet .playing-card.text-card .rank,.clarity-sheet .playing-card.text-card .suit{font-size:14px;line-height:1;}
.clarity-sheet .card-caption{margin-top:4px;color:#79837b;font-size:10px;}
.clarity-sheet .private-hand-line{display:flex;align-items:center;gap:13px;}
.clarity-sheet .best-hand{font-size:11px;color:#146b40;background:#e9f7ed;padding:4px 7px;font-weight:600;}
.clarity-sheet .showdown-inline{color:#155e38;font-size:11px;max-height:40px;overflow:auto;margin-top:5px;}
.clarity-sheet .showdown-opponent{display:inline;margin-right:12px;color:#454d47;}
.room-sheet.clarity-sheet > .clarity-actions{grid-column:1/17;grid-row:22/29;height:calc(var(--sheet-row)*7);margin:0!important;}
.clarity-sheet .clarity-actions .widget-head {height:var(--sheet-row);padding:0 10px;}
.clarity-sheet .clarity-actions .widget-body{padding:8px 12px;height:calc(var(--sheet-row)*6);}
.clarity-sheet .action-summary{display:flex;align-items:center;gap:24px;font-size:11px;color:#617366;margin:0 0 10px;}
.clarity-sheet .action-summary strong{font-size:12px;color:#207342;}
.clarity-sheet .action-summary b{font-variant-numeric:tabular-nums;font-size:12px;color:#284232;}
.clarity-sheet .actions{display:flex;flex-wrap:nowrap;gap:7px;align-items:center;}
.clarity-sheet .actions > *,.clarity-sheet .actions button{height:33px;min-height:33px;border:1px solid #b7cdbb;border-radius:2px;min-width:0;padding:5px 11px;}
.clarity-sheet .actions .button{min-width:92px;}
.clarity-sheet .actions .button.danger{color:#a82e34;border-color:#d9a6a6;background:#fff;}
.clarity-sheet .actions .button[data-act=raise]{background:#217346;color:white;}
.clarity-sheet .raise-field{display:flex;gap:7px;align-items:center;background:#f7faf8;padding:0 5px 0 10px;min-width:170px;}
.clarity-sheet .actions .raise-field .raise-input{height:25px;min-height:25px;width:94px;padding:2px 6px;border:1px solid #b8c4ba;background:white;border-radius:0;}
.clarity-sheet .action-help{margin-top:8px;color:#6c7970;font-size:11px;}
.room-sheet.clarity-sheet > .clarity-history{grid-column:17/23;grid-row:1/29;height:calc(var(--sheet-row)*28);margin:0!important;}
.clarity-sheet .clarity-history .widget-head{height:var(--sheet-row);padding:0 10px;}
.clarity-sheet .clarity-history .widget-body{height:calc(var(--sheet-row)*27);padding:0;overflow:hidden;display:flex;flex-direction:column;}
.clarity-sheet .log-head,.clarity-sheet .log-row{display:grid;grid-template-columns:34px 62px 86px minmax(0,1fr) 62px 72px;align-items:center;width:100%;height:var(--sheet-row);font-size:11px;}
.clarity-sheet .log-head{background:#f5f8f6;color:#52685a;font-weight:700;}
.clarity-sheet .log-head>span,.clarity-sheet .log-row>span{height:100%;display:flex;align-items:center;padding:0 10px;border-right:1px solid #e6eae7;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.clarity-sheet .log-row{border-top:1px solid #e8ece9;background:#fff;}
.clarity-sheet .log-row:nth-child(even){background:#fafcfb;}
.clarity-sheet .log-row.log-special{background:#f9f4ed;}
.clarity-sheet .log-index,.clarity-sheet .log-phase{color:#7d897f;}
.clarity-sheet .log-user{font-weight:700;}
.clarity-sheet .log-pot{justify-content:flex-end;font-variant-numeric:tabular-nums;}
.clarity-sheet .log-time{justify-content:center;font-variant-numeric:tabular-nums;color:#66766d;}
.clarity-sheet .log-body{height:calc(var(--sheet-row)*25);overflow-y:auto;}
.clarity-sheet .empty-log{padding:10px;color:#8a938c;font-size:11px;}
.room-sheet.clarity-sheet > .foot-note{grid-column:1/17;grid-row:39/41;padding:6px 10px;font-size:10px;margin:0;}
.settings-sheet .settings-mode-control{display:flex;align-items:center;gap:14px;padding:12px 15px;background:#edf7f0;border-bottom:1px solid #cfdbd1;font-size:12px;}
.settings-sheet .settings-mode-control .card-switch{display:flex;align-items:center;gap:6px;}
.settings-sheet .settings-mode-control .card-switch>span{display:none;}
.settings-sheet .settings-mode-control small{color:#637969;}


/* =======================================================================
   2026-10-12: Cell-line alignment + actual list-text card mode.
   Main Excel chrome and game rules remain unchanged.
   ======================================================================= */
/* The table's row-24 line must not disappear inside the large white panel.
   Keep Excel's worksheet row guides visible through the unused panel area. */
.clarity-sheet .players-widget .widget-body,
.clarity-sheet .private-widget .widget-body {
  background-color:#fff;
  background-image:linear-gradient(to bottom, transparent calc(var(--sheet-row) - 1px),#e3e7e4 calc(var(--sheet-row) - 1px),#e3e7e4 var(--sheet-row));
  background-size:100% var(--sheet-row);
  background-position:0 0;
}
.clarity-sheet .players-widget .players-foot{
  min-height:calc(var(--sheet-row)*2);
  padding:5px 10px;
  background:rgba(249,251,249,.96);
  border-top:1px solid #e2e7e3;
}
/* No card sticks directly to the section heading. */
.clarity-sheet .card-widget .widget-body {padding:12px 14px 3px;}
.clarity-sheet .playing-card,.clarity-sheet .playing-card.back,.clarity-sheet .playing-card.blank {
  height:57px;
}
.clarity-sheet .card-caption{margin-top:5px;font-size:10px;line-height:12px;}
/* Text mode is a list of actual text rows, without card frames or tiles. */
.clarity-sheet .card-widget .widget-body:has(.cards-text){padding:7px 14px 2px;}
.clarity-sheet .community.cards-text,.clarity-sheet .hole.cards-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  gap:0;
  min-height:0;
  height:auto;
}
.clarity-sheet .card-text-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:14px;
  min-height:14px;
  padding:0 2px;
  border:0;
  box-shadow:none;
  background:transparent;
  font-family:'Aptos','맑은 고딕',Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  line-height:14px;
  white-space:nowrap;
}
.clarity-sheet .card-text-row.red{color:#bc2232;}
.clarity-sheet .card-text-row.black{color:#202020;}
.clarity-sheet .card-text-row.undisclosed{color:#9aa49b;font-weight:normal;}
.clarity-sheet .cards-text + .card-caption {margin-top:3px;}
.clarity-sheet .private-hand-line:has(.cards-text){align-items:flex-start;gap:15px;}
.clarity-sheet .private-hand-line:has(.cards-text) .best-hand{margin-top:8px;}
/* Earlier layout rules have higher selector specificity; explicitly override
   their 10-row seat-board (which pushed the footer beneath row 25). */
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat-board {
  display:block;
  height:calc(var(--sheet-row)*8);
  min-height:calc(var(--sheet-row)*8);
}
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat {
  width:100%;
  grid-template-columns:34px 116px 78px 76px 76px 96px minmax(0,1fr);
}
.room-sheet.clarity-sheet > .clarity-main .players-widget .players-foot {
  height:calc(var(--sheet-row)*2);
  background-image:linear-gradient(to bottom, transparent calc(var(--sheet-row) - 1px),#e3e7e4 calc(var(--sheet-row) - 1px),#e3e7e4 var(--sheet-row));
  background-size:100% var(--sheet-row);
}
/* Also beat the legacy table-layout rule that forced card padding to zero. */
.room-sheet.clarity-sheet > .clarity-main > .cards-column > .card-widget > .widget-body {
  padding:11px 14px 3px;
}
.room-sheet.clarity-sheet > .clarity-main > .cards-column > .card-widget > .widget-body:has(.cards-text) {
  padding:7px 14px 2px;
}


/* 2026-10-12: aligned card table / matched worksheet rows.
   Overrides earlier card-box rules while leaving Excel chrome untouched. */
.room-sheet.clarity-sheet > .clarity-main > .players-widget{height:calc(var(--sheet-row)*11);}
.room-sheet.clarity-sheet > .clarity-main > .players-widget > .widget-body{height:calc(var(--sheet-row)*10);padding:0;}
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat-board{height:calc(var(--sheet-row)*7);min-height:calc(var(--sheet-row)*7);}
.room-sheet.clarity-sheet > .clarity-main .players-widget .players-foot{height:calc(var(--sheet-row)*3);padding:0;background:#fff;background-image:none;}
.clarity-sheet .players-foot-row {display:grid;grid-template-columns:160px minmax(0,1fr);height:var(--sheet-row);min-height:var(--sheet-row);border-bottom:1px solid #dfe5e0;color:#3c4e42;font-size:11px;line-height:var(--sheet-row);}
.clarity-sheet .players-foot-row >span{padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.clarity-sheet .players-foot-row .foot-key{background:#f6f8f6;border-right:1px solid #e1e7e2;color:#65796b;}
.room-sheet.clarity-sheet > .clarity-main > .cards-column {grid-template-rows:calc(var(--sheet-row)*8) calc(var(--sheet-row)*3);height:calc(var(--sheet-row)*11);min-height:calc(var(--sheet-row)*11);}
.room-sheet.clarity-sheet > .clarity-main .cards-column > .card-widget{height:100%;min-height:0;border-bottom:1px solid #dce4dd;}
.room-sheet.clarity-sheet > .clarity-main .cards-column > .card-widget > .widget-head{height:var(--sheet-row);min-height:var(--sheet-row);padding:0 10px;box-sizing:border-box;}
.room-sheet.clarity-sheet > .clarity-main .cards-column > .card-widget > .widget-body,
.room-sheet.clarity-sheet > .clarity-main .cards-column > .card-widget > .widget-body:has(.cards-text){height:calc(100% - var(--sheet-row));min-height:0;padding:0!important;box-sizing:border-box;}
.clarity-sheet .deck-rows{display:flex;flex-direction:column;min-height:0;margin:0;padding:0;background:#fff;}
.clarity-sheet .deck-row,.clarity-sheet .deck-foot-row{height:var(--sheet-row);min-height:var(--sheet-row);max-height:var(--sheet-row);display:grid;grid-template-columns:48px minmax(0,1fr) 68px;align-items:center;font-size:11px;box-sizing:border-box;border-bottom:1px solid #dfe5e0;background:#fff;color:#374f40;line-height:1;}
.clarity-sheet .deck-foot-row{grid-template-columns:48px minmax(0,1fr);background:#f9fbf9;color:#687a6d;}
.clarity-sheet .deck-row > span,.clarity-sheet .deck-foot-row > span{height:100%;display:flex;align-items:center;padding:0 9px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid #e1e7e2;}
.clarity-sheet .deck-row > span:last-child,.clarity-sheet .deck-foot-row > span:last-child{border-right:0;}
.clarity-sheet .deck-index{background:#f3f7f4;color:#617368;font-size:10px;justify-content:center;text-align:center;}
.clarity-sheet .deck-marker{color:#88988e;justify-content:center;}
.clarity-sheet .deck-row .deck-content{gap:0;padding:0 10px;background:#fff;}
.clarity-sheet .deck-content .card-text-row{height:var(--sheet-row);min-height:var(--sheet-row);line-height:var(--sheet-row);padding:0;margin:0;font-size:12px;font-weight:600;display:flex;align-items:center;background:transparent;border:0;box-shadow:none;}
.clarity-sheet .deck-content .card-text-row.red{color:#b51d2f;}
.clarity-sheet .deck-content .card-text-row.black{color:#111;}
.clarity-sheet .deck-content .card-text-row.undisclosed{color:#a2aaa4;font-weight:400;}
.clarity-sheet .deck-cards .deck-content{padding:0 7px;}
.clarity-sheet .deck-content .playing-card,.clarity-sheet .deck-content .playing-card.blank,.clarity-sheet .deck-content .playing-card.back{display:inline-flex;flex-direction:row;justify-content:center;align-items:center;gap:3px;width:46px;height:20px;min-width:46px;min-height:20px;padding:0;margin:0;border-radius:2px;background:#fff;box-shadow:none;border:1px solid #a4b5a7;font-size:11px;}
.clarity-sheet .deck-content .playing-card .rank,.clarity-sheet .deck-content .playing-card .suit{font-size:12px;line-height:1;font-weight:700;}
.clarity-sheet .deck-content .playing-card.red{color:#b51d2f;}
.clarity-sheet .deck-content .playing-card.black{color:#111;}
.clarity-sheet .deck-content .playing-card.blank{border:1px dashed #c8d5cb;color:#a9b5ac;background:#fff;}
.clarity-sheet .deck-content .playing-card.back{background:repeating-linear-gradient(45deg,#edf6ef,#edf6ef 3px,#d9e9df 3px,#d9e9df 6px);color:#6b9079;}
.clarity-sheet .finished-reason{color:#176641;font-size:12px;font-weight:700;}
.clarity-sheet .shown-opponents{margin-left:10px;font-size:10px;}
.clarity-sheet .shown-opponents .showdown-opponent{display:inline;margin-right:8px;}

/* 2026-10-12: readable full-width right history. Preserve the left game's
   16-column cell alignment and align the history header to section 01. */
.room-sheet.clarity-sheet {
  width: calc(var(--sheet-column) * 25);
  grid-template-columns: repeat(25, var(--sheet-column));
}
.room-sheet.clarity-sheet > .clarity-history {
  grid-column: 17 / 26;
  grid-row: 1 / 29;
  width: calc(var(--sheet-column) * 9);
  height: calc(var(--sheet-row) * 28);
  overflow: hidden;
}
.clarity-sheet .clarity-history .widget-body {
  height: calc(var(--sheet-row) * 27);
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.clarity-sheet .clarity-history .log-head,
.clarity-sheet .clarity-history .log-row {
  display: grid;
  grid-template-columns: 34px 64px 88px minmax(0, 1fr) 68px 78px;
  width: 100%;
  font-size: 11px;
}
.clarity-sheet .clarity-history .log-head {
  height: var(--sheet-row);
  min-height: var(--sheet-row);
  flex: 0 0 var(--sheet-row);
  align-items: stretch;
}
.clarity-sheet .clarity-history .log-row {
  height: auto;
  min-height: var(--sheet-row);
  align-items: stretch;
  border-bottom: 1px solid #e8ece9;
}
.clarity-sheet .clarity-history .log-head > span,
.clarity-sheet .clarity-history .log-row > span {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: auto;
  min-height: var(--sheet-row);
  min-width: 0;
  padding: 4px 6px;
  line-height: 1.4;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
  word-break: normal;
}
.clarity-sheet .clarity-history .log-head > span {
  white-space: nowrap;
  overflow: hidden;
  padding: 2px 6px;
}
.clarity-sheet .clarity-history .log-pot {justify-content: flex-end;}
.clarity-sheet .clarity-history .log-time {justify-content: center; white-space: nowrap;}
.clarity-sheet .clarity-history .log-body {
  height: auto;
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}


/* 2026-10-12 — worksheet-accurate result/history & per-user coloring.
   The first 16 columns remain untouched. Column Q is intentionally blank. */
:root { --my-row-bg: #e5f3e9; }
.room-sheet.clarity-sheet {
  width: calc(var(--sheet-column) * 26);
  grid-template-columns: repeat(26, var(--sheet-column));
}
.room-sheet.clarity-sheet > .clarity-history {
  grid-column: 18 / 27;
  grid-row: 1 / 29;
  width: calc(9 * var(--sheet-column));
  height: calc(28 * var(--sheet-row));
  position:relative;
  overflow:hidden;
}
.room-sheet.clarity-sheet > .clarity-history::before {
  content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#217346;z-index:3;
}
.clarity-sheet .clarity-history .widget-head { box-sizing:border-box;height:var(--sheet-row);min-height:var(--sheet-row);padding:0 10px; }
.clarity-sheet .clarity-history .widget-body { height:calc(27 * var(--sheet-row));min-height:0;display:flex;flex-direction:column;padding:0;overflow:hidden; }
.clarity-sheet .clarity-history .log-body { height:100%; flex:1; min-height:0; overflow:auto; scrollbar-gutter:auto; }
.clarity-sheet .clarity-history .log-head,
.clarity-sheet .clarity-history .log-row {
  display:grid;
  grid-template-columns: 72px 72px 144px minmax(0,1fr) 72px 72px;
  width:100%; min-width:0;box-sizing:border-box;align-items:stretch;
}
.clarity-sheet .clarity-history .log-head {position:sticky;top:0;z-index:2;height:var(--sheet-row);min-height:var(--sheet-row);background:#eef4ef;border-bottom:1px solid #cbd9ce;}
.clarity-sheet .clarity-history .log-row {height:auto;min-height:var(--sheet-row);box-sizing:border-box;border-bottom:1px solid #e0e6e1;}
.clarity-sheet .clarity-history .log-row > span,
.clarity-sheet .clarity-history .log-head > span {
  box-sizing:border-box;min-height:0;height:100%;border-right:1px solid #e0e6e1;
  padding:2px 5px;line-height:16px;display:flex;align-items:center;
  white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
}
.clarity-sheet .clarity-history .log-head > span {white-space:nowrap;overflow:hidden;}
.clarity-sheet .clarity-history .log-pot {justify-content:flex-end;}
.clarity-sheet .clarity-history .log-time {justify-content:center;white-space:nowrap;font-size:10px;font-variant-numeric:tabular-nums;}
.clarity-sheet .clarity-history .log-row.my-row,
.clarity-sheet .clarity-history .log-row.my-row:nth-child(even),
.clarity-sheet .clarity-history .log-row.my-row.log-special {background:var(--my-row-bg);}
.room-sheet.clarity-sheet .players-widget .seat.my-row,
.room-sheet.clarity-sheet .players-widget .seat.my-row.current,
.room-sheet.clarity-sheet .players-widget .seat.my-row.folded {background:var(--my-row-bg);}
/* Exactly one spreadsheet row high for every small player/card/result line. */
.clarity-sheet .players-widget .seat,
.clarity-sheet .players-widget .seat.sheet-header,
.clarity-sheet .players-widget .players-foot-row,
.clarity-sheet .deck-row,
.clarity-sheet .deck-foot-row { box-sizing:border-box;height:var(--sheet-row);min-height:var(--sheet-row);max-height:var(--sheet-row); }
/* Keep row borders aligned with worksheet grid. */
.clarity-sheet .clarity-actions .widget-head,
.clarity-sheet .clarity-results .widget-head { box-sizing:border-box;height:var(--sheet-row);min-height:var(--sheet-row);padding:0 10px; }
.clarity-sheet .head-options { display:flex;align-items:center;gap:10px; }
.clarity-sheet .row-color-picker,.settings-sheet .row-color-picker {display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#526b58;font-weight:normal;white-space:nowrap;}
.clarity-sheet .row-color-picker input,.settings-sheet .row-color-picker input {width:31px;height:20px;padding:0;border:1px solid #afbfb1;border-radius:2px;background:#fff;cursor:pointer;}
.settings-sheet .row-color-picker {margin-left:10px;}
.room-sheet.clarity-sheet > .clarity-results {
  grid-column:1/17;grid-row:29/39;width:calc(16 * var(--sheet-column));
  height:calc(10 * var(--sheet-row));overflow:hidden;margin:0;
}
.clarity-sheet .clarity-results .widget-body {height:calc(9 * var(--sheet-row));padding:0;overflow:hidden;}
.clarity-sheet .result-scroll {height:100%;overflow-y:auto;min-height:0;}
.clarity-sheet .result-head,.clarity-sheet .result-row {
  display:grid;grid-template-columns:52px 112px 216px 216px 112px 112px minmax(0,1fr);
  box-sizing:border-box;height:var(--sheet-row);min-height:var(--sheet-row);max-height:var(--sheet-row);align-items:stretch;
  font-size:11px;border-bottom:1px solid #dfe5e1;
}
.clarity-sheet .result-head {background:#f1f6f2;position:sticky;top:0;z-index:1;color:#55695a;font-weight:700;}
.clarity-sheet .result-row {background:#fff;list-style:none;cursor:pointer;}
.clarity-sheet .result-row::-webkit-details-marker {display:none;}
.clarity-sheet .result-winner-cell{justify-content:space-between;gap:8px;}
.clarity-sheet .result-winner-cell > span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.clarity-sheet .result-toggle{width:14px;height:18px;margin-left:auto;color:#326341;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;flex:none;}
.clarity-sheet .result-toggle::before{content:'▽';}
.clarity-sheet .result-item[open] .result-toggle::before{content:'△';}
.clarity-sheet .result-item.my-row > .result-row,
.clarity-sheet .result-row.my-row {background:var(--my-row-bg);}
.clarity-sheet .result-head > span,.clarity-sheet .result-row > span {
  display:flex;align-items:center;box-sizing:border-box;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  padding:0 9px;border-right:1px solid #e3e8e4;
}
.clarity-sheet .result-detail{background:#f3f4f3;border-bottom:1px solid #dfe5e1;}
.clarity-sheet .result-detail-row{
  display:grid;grid-template-columns:180px 360px 180px minmax(0,1fr);
  height:var(--sheet-row);min-height:var(--sheet-row);max-height:var(--sheet-row);font-size:11px;border-bottom:1px solid #e5e9e6;
  align-items:stretch;
}
.clarity-sheet .result-detail-row:last-child{border-bottom:0;}
.clarity-sheet .result-detail-row{background:#f5f5f5;}
.clarity-sheet .result-detail-row.my-row{background:#eeeeee;}
.clarity-sheet .result-community-row{background:#f5f5f5;}
.clarity-sheet .result-detail-head{background:#d9ddda;color:#3f4f45;font-weight:700;}
.clarity-sheet .result-detail-row > span{display:flex;align-items:center;box-sizing:border-box;height:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 9px;border-right:1px solid #e3e8e4;}
.clarity-sheet .detail-cards{gap:5px;}
.clarity-sheet .result-row .num {justify-content:flex-end;font-variant-numeric:tabular-nums;}
.clarity-sheet .result-row .profit {color:#216b40;font-weight:700;}
.clarity-sheet .result-row .loss {color:#a93535;font-weight:700;}
.clarity-sheet .result-empty {height:calc(var(--sheet-row)*2);padding:0 14px;display:flex;align-items:center;color:#8a938c;font-size:11px;}
.room-sheet.clarity-sheet > .foot-note {grid-column:1/17;grid-row:39/41;}


/* 2026-10-12 release: full-width action history and spaced results */
.room-sheet.clarity-sheet {
  width: calc(28 * var(--sheet-column));
  grid-template-columns: repeat(28, var(--sheet-column));
}
/* Q is the empty sheet column between the live game (A:P) and history (R:AB). */
.room-sheet.clarity-sheet > .clarity-history {
  grid-column: 18 / 29;
  grid-row: 1 / 29;
  width: calc(11 * var(--sheet-column));
  height: calc(28 * var(--sheet-row));
}
.clarity-sheet .clarity-history .log-head,
.clarity-sheet .clarity-history .log-row {
  grid-template-columns:72px 72px 144px minmax(0, 1fr) 72px 72px;
}
/* Keep the game results one full worksheet row below the betting block. */
.room-sheet.clarity-sheet > .clarity-results {
  grid-column:1/17;
  grid-row:30/40;
  height:calc(10 * var(--sheet-row));
  width:calc(16 * var(--sheet-column));
}
.room-sheet.clarity-sheet > .foot-note {grid-column:1/17;grid-row:40/42;}
/* Result placeholders draw the same worksheet grid even before playing. */
.clarity-sheet .result-row.result-placeholder,
.clarity-sheet .result-row.result-placeholder:nth-child(even) {background:#fff;color:#8e9b91;}

/* Keep the live log quiet when empty: rows grow as actions are recorded. */
.room-sheet.clarity-sheet > .clarity-history {
  height:auto;
  min-height:calc(3 * var(--sheet-row));
  max-height:calc(28 * var(--sheet-row));
  background:transparent;
}
.clarity-sheet .clarity-history .widget-body {
  height:auto;
  max-height:calc(27 * var(--sheet-row));
  overflow:visible;
  background:transparent;
}
.clarity-sheet .clarity-history .log-body {
  height:auto;
  max-height:calc(27 * var(--sheet-row));
  flex:0 0 auto;
  overflow-y:auto;
  background:transparent;
}
.clarity-sheet .empty-log {
  height:var(--sheet-row);
  padding:0 10px;
  display:flex;
  align-items:center;
  border-bottom:1px solid #e0e6e1;
  background:#fff;
}
.clarity-sheet .row-color-picker input,
.settings-sheet .row-color-picker input {
  background:transparent;
  border:0;
  border-radius:0;
}

/* Worksheet row-height consolidation (28px).
   Long log messages occupy whole multiples of the worksheet row instead of
   introducing 1px offsets with variable-height bordered rows. */
.clarity-sheet .clarity-history .log-row {
  border-top:0;
  border-bottom:0;
  box-shadow:inset 0 -1px #e0e6e1;
  min-height:var(--sheet-row);
}
.clarity-sheet .clarity-history .log-row > span {
  padding:0 5px;
  line-height:var(--sheet-row);
  min-height:var(--sheet-row);
}


/* 2026-10-12 — requested 6-seat / 2-row worksheet layout.
   Sheet body starts at Excel row 5: grid row 11 is Excel row 15. */
.room-sheet.clarity-sheet > .clarity-main {
  grid-row: 11 / 25; /* Excel 15–28 */
  grid-template-rows: calc(14 * var(--sheet-row));
  height: calc(14 * var(--sheet-row));
}
.room-sheet.clarity-sheet > .clarity-main > .players-widget {
  height: calc(14 * var(--sheet-row));
}
.room-sheet.clarity-sheet > .clarity-main > .players-widget > .widget-body {
  height: calc(13 * var(--sheet-row));
}
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat-board {
  height: calc(13 * var(--sheet-row));
  min-height: calc(13 * var(--sheet-row));
}
/* Excel 16: header; Excel 17–28: six 56px participant rows. */
.clarity-sheet .players-widget .seat.sheet-header {
  height: var(--sheet-row);
  min-height: var(--sheet-row);
  max-height: var(--sheet-row);
}
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat:not(.sheet-header) {
  height: calc(2 * var(--sheet-row));
  min-height: calc(2 * var(--sheet-row));
  max-height: calc(2 * var(--sheet-row));
}
/* The redundant status / highest bet / participant counters are removed from HTML. */
.room-sheet.clarity-sheet > .clarity-main > .cards-column {
  grid-template-rows: calc(8 * var(--sheet-row)) calc(6 * var(--sheet-row));
  height: calc(14 * var(--sheet-row));
  min-height: calc(14 * var(--sheet-row));
}
/* 04. Private cards: rows 24–25, current rank 26, best-five title 27, cards 28. */
.clarity-sheet .hand-evaluation {display:flex;flex-direction:column;height:calc(3 * var(--sheet-row));font-size:11px;}
.clarity-sheet .hand-rank-row {display:grid;grid-template-columns:110px minmax(0,1fr);height:var(--sheet-row);min-height:var(--sheet-row);align-items:center;border-bottom:1px solid #dfe5e0;}
.clarity-sheet .hand-rank-row .hand-info-label {height:100%;display:flex;align-items:center;padding:0 10px;background:#f3f7f4;border-right:1px solid #e1e7e2;color:#617368;}
.clarity-sheet .hand-rank-row strong {padding:0 10px;font-weight:700;color:#217346;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.clarity-sheet .hand-best-label {height:var(--sheet-row);min-height:var(--sheet-row);display:flex;align-items:center;padding:0 10px;background:#f9fbf9;color:#617368;border-bottom:1px solid #dfe5e0;}
.clarity-sheet .hand-best-cards {height:var(--sheet-row);min-height:var(--sheet-row);display:flex;align-items:center;gap:6px;padding:0 10px;overflow:hidden;white-space:nowrap;}
.clarity-sheet .hand-best-cards .playing-card {flex:none;width:46px;height:20px;min-height:20px;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:2px;padding:0;border:1px solid #a4b5a7;border-radius:2px;box-shadow:none;}
.clarity-sheet .hand-best-cards .playing-card .rank,
.clarity-sheet .hand-best-cards .playing-card .suit {font-size:12px;line-height:1;}
.clarity-sheet .hand-best-cards .compact-card.text {font-size:11px;margin-right:0;}
.clarity-sheet .hand-best-cards .compact-card.undisclosed {color:#93a198;font-size:11px;}
/* Excel 29: actions heading; 30–31: action controls in a 56px region. */
.room-sheet.clarity-sheet > .clarity-actions {
  grid-row: 25 / 28;
  height: calc(3 * var(--sheet-row));
}
.clarity-sheet .clarity-actions .widget-body {
  height:calc(2 * var(--sheet-row));
  padding:0 12px;
  display:flex;
  align-items:center;
  overflow:visible;
}
.clarity-sheet .clarity-actions .actions {width:100%;flex-wrap:nowrap;gap:8px;align-items:center;}
.clarity-sheet .clarity-actions .actions > * {flex-shrink:0;}
/* Excel comment-like hover hints (also visible to keyboard focus). */
.clarity-sheet .clarity-actions .action-with-note {position:relative;}
.clarity-sheet .clarity-actions .action-with-note:hover::after,
.clarity-sheet .clarity-actions .action-with-note:focus-visible::after,
.clarity-sheet .clarity-actions .action-with-note:focus-within::after {
  content:attr(data-note);
  position:absolute;z-index:20;left:0;bottom:calc(100% + 9px);
  width:245px;max-width:245px;min-width:245px;
  background:#fff9df;border:1px solid #d8b45a;box-shadow:2px 3px 8px #0003;
  padding:9px 11px;color:#44381f;font-size:11px;font-weight:400;
  line-height:1.55;text-align:left;white-space:normal;overflow-wrap:anywhere;
  pointer-events:none;border-radius:0;
}
/* Sheet row 32 remains blank; results start at Excel row 33. */
.room-sheet.clarity-sheet > .clarity-results {
  grid-row: 29 / 39;
  height:calc(10 * var(--sheet-row));
}
.room-sheet.clarity-sheet > .foot-note {grid-row:39/41;}
/* Excel grid alignment: panel borders must not shift content by 1px.
   Preserve vertical side rules, but use the 28px header/row cells for edges. */
.room-sheet.clarity-sheet > .clarity-main > .players-widget,
.room-sheet.clarity-sheet > .clarity-main .cards-column > .card-widget,
.room-sheet.clarity-sheet > .clarity-actions {
  border-top:0;
  border-bottom:0;
}


/* 2026-10-12: softer result details, visible cell rules and group-coded made hands.
   All of these styles stay within existing 28px worksheet rows. */
.room-sheet.clarity-sheet .result-detail {
  background:#ffffff;
  border-bottom:1px solid #b9cdbd;
}
.room-sheet.clarity-sheet .result-detail-row {
  background:#ffffff;
  border-bottom:1px solid #cbd9ce;
  color:#233b2b;
}
.room-sheet.clarity-sheet .result-detail-row:nth-child(odd):not(.result-detail-head) {
  background:#f7fbf8;
}
.room-sheet.clarity-sheet .result-detail-row.my-row {
  background:#edf8ef;
}
.room-sheet.clarity-sheet .result-detail-row.result-winner:not(.my-row) {
  background:#f3faf5;
}
.room-sheet.clarity-sheet .result-detail-row.result-community-row {
  background:#f0f7f2;
}
.room-sheet.clarity-sheet .result-detail-row.result-detail-head {
  background:#e1efe5;
  color:#24583a;
  font-weight:700;
  border-top:1px solid #bacfc0;
  border-bottom:1px solid #b7d0bf;
}
.room-sheet.clarity-sheet .result-detail-row > span {
  border-right:1px solid #c6d9cb;
}
.room-sheet.clarity-sheet .result-detail-row > span:last-child {
  border-right:0;
}
.room-sheet.clarity-sheet .result-detail-row .result-outcome.won {color:#187444;font-weight:700;}
.room-sheet.clarity-sheet .result-detail-row .result-outcome.lost {color:#687c6e;}
.room-sheet.clarity-sheet .result-detail-row .result-outcome.folded {color:#9b6d57;}
.room-sheet.clarity-sheet .result-item[open] > .result-row {
  box-shadow:inset 0 -2px #90bba0;
}

/* Pair 1 / pair 2 / additional combinations: muted but distinct colors.
   Mark only cards belonging to the actual highest-scoring five-card hand. */
.room-sheet.clarity-sheet .hand-mark-1 {--combo-edge:#2884ab;--combo-tint:#e7f4fa;--combo-ink:#2884ab;}
.room-sheet.clarity-sheet .hand-mark-2 {--combo-edge:#ac6baf;--combo-tint:#f8edf8;--combo-ink:#ac6baf;}
.room-sheet.clarity-sheet .hand-mark-3 {--combo-edge:#a47c24;--combo-tint:#fbf3df;--combo-ink:#a47c24;}
.room-sheet.clarity-sheet .live-score {--combo-edge:#d9b85c;--combo-tint:#fff7dc;--combo-ink:#b78915;}
.room-sheet.clarity-sheet .detail-cards .playing-card.hand-mark,
.room-sheet.clarity-sheet .hand-best-cards .playing-card.hand-mark,
.room-sheet.clarity-sheet .combo-five-item .playing-card.hand-mark {
  border:2px solid var(--combo-edge);
  background:var(--combo-tint);
  box-shadow:inset 0 0 0 1px #ffffff;
}
/* Inline text highlighting, rather than highlighting the entire spreadsheet cell. */
.room-sheet.clarity-sheet .compact-card.text.hand-mark,
.room-sheet.clarity-sheet .card-text-row .card-ink.hand-mark {
  box-shadow:inset 0 -5px 0 color-mix(in srgb,var(--combo-ink) 35%,white);
  text-decoration:underline;
  text-decoration-color:var(--combo-edge);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.room-sheet.clarity-sheet .deck-row.live-score-row,
.room-sheet.clarity-sheet .deck-row.live-score-row > span,
.room-sheet.clarity-sheet .private-large-slot.live-score-row {
  background:#fff8df;
}
.room-sheet.clarity-sheet .card-text-row .card-ink {display:inline;max-width:max-content;}
.room-sheet.clarity-sheet .hand-rank-breakdown {
  font-size:10px;font-weight:500;color:#607968;margin-left:5px;
}
\n/* ========================================================================
   2026-10-12 · worksheet column-lock, combo panel, readable result detail.
   Excel columns are 72px, rows are 28px. No ad hoc inner column widths.
   ======================================================================== */
:root { --excel-unit: var(--sheet-column); }
/* Preserve 5 visible progress steps while aligning every separator to a
   genuine worksheet column: 3+3+3+3+4 = 16 columns. */
.room-sheet.clarity-sheet .phase-track {
  grid-template-columns: repeat(4,calc(3 * var(--sheet-column))) calc(4 * var(--sheet-column));
}
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat,
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat.current,
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat.folded,
.room-sheet.clarity-sheet > .clarity-main .players-widget .seat.sheet-header {
  width:calc(9 * var(--sheet-column));
  grid-template-columns: var(--sheet-column) calc(2 * var(--sheet-column))
    var(--sheet-column) var(--sheet-column) var(--sheet-column)
    var(--sheet-column) calc(2 * var(--sheet-column));
}
.room-sheet.clarity-sheet .seat-result {gap:2px;padding:0 4px;}
.room-sheet.clarity-sheet .seat-result .playing-card {width:46px;min-width:46px;}
/* Right side is 7 exact Excel columns; 01 marker and reveal-state marker each
   consume one full column. */
.room-sheet.clarity-sheet .deck-row {grid-template-columns: var(--sheet-column) minmax(0,1fr) var(--sheet-column);}
.room-sheet.clarity-sheet .deck-foot-row {grid-template-columns:var(--sheet-column) minmax(0,1fr);}
.room-sheet.clarity-sheet .deck-row > span,
.room-sheet.clarity-sheet .deck-foot-row > span {border-right-color:#cedbd1;}

/* 04. 내 카드: one line label, enlarged name, color-coded components.
   The entire panel still occupies exact worksheet rows 26, 27, 28. */
.room-sheet.clarity-sheet .hand-evaluation {
  display:grid;
  grid-template-rows:repeat(3,var(--sheet-row));
  height:calc(3 * var(--sheet-row));
  background:#fff;
}
.room-sheet.clarity-sheet .hand-combo-label,
.room-sheet.clarity-sheet .hand-combo-name,
.room-sheet.clarity-sheet .hand-combo-description {
  display:flex;align-items:center;box-sizing:border-box;height:var(--sheet-row);
  padding:0 12px;min-width:0;overflow:hidden;white-space:nowrap;
  border-bottom:1px solid #cedbd1;
}
.room-sheet.clarity-sheet .hand-combo-label {font-size:11px;font-weight:700;color:#557561;background:#f4f9f5;}
.room-sheet.clarity-sheet .hand-combo-name {font-size:19px;line-height:1.15;font-weight:800;color:#19643b;}
.room-sheet.clarity-sheet .hand-combo-description {gap:7px;border-bottom:0;font-size:11px;}
.room-sheet.clarity-sheet .hand-combo-group {color:var(--combo-edge);background:var(--combo-tint);padding:3px 9px;border-radius:2px;font-size:11px;font-weight:700;}
.room-sheet.clarity-sheet .combo-plus {color:#78877c;font-weight:600;}
.room-sheet.clarity-sheet .hand-combo-muted {color:#8a978e;font-size:11px;}

/* 05. Buttons use the entire 16-column width, while retaining the existing
   controls in a 56px area and keeping an editable input. */
.room-sheet.clarity-sheet .clarity-actions .widget-body {padding:0 12px;overflow:visible;}
.room-sheet.clarity-sheet .clarity-actions .actions {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(170px,1.65fr) repeat(2,minmax(0,1fr));
  width:100%;gap:8px;align-items:center;
}
.room-sheet.clarity-sheet .clarity-actions .actions > * {
  width:100%;min-width:0;max-width:none;min-height:33px;height:33px;margin:0;
  box-sizing:border-box;
}
.room-sheet.clarity-sheet .clarity-actions .actions button {min-width:0;padding:5px 6px;}
.room-sheet.clarity-sheet .clarity-actions .raise-field {display:flex;align-items:center;gap:8px;min-width:0;padding:0 7px 0 10px;}
.room-sheet.clarity-sheet .clarity-actions .raise-field span {white-space:nowrap;flex:none;}
.room-sheet.clarity-sheet .clarity-actions .raise-field .raise-input {flex:1;min-width:0;width:0;height:24px;min-height:24px;}
/* This replaces overflow-clipped CSS pseudo-comments with a body-level fixed
   tooltip. It works for disabled buttons too. */
.room-sheet.clarity-sheet .action-with-note::after,
.room-sheet.clarity-sheet .action-with-note:hover::after,
.room-sheet.clarity-sheet .action-with-note:focus-visible::after,
.room-sheet.clarity-sheet .action-with-note:focus-within::after {content:none!important;display:none!important;}
#excelComment {
  position:fixed;z-index:99999;pointer-events:none;
  width:max-content;min-width:0;max-width:min(320px,calc(100vw - 16px));box-sizing:border-box;
  background:#fff9df;color:#40361e;border:1px solid #bb9b55;
  padding:10px 12px;box-shadow:2px 4px 13px #0003;
  font:12px/1.6 'Malgun Gothic',Arial,sans-serif;
  white-space:pre-line;overflow-wrap:anywhere;
}
#excelComment[hidden] {display:none;}

/* Every vertical separator in sections 06 / 06 expanded aligns on a 72px
   boundary relative to the left workbook edge. 16 sheet columns total. */
.room-sheet.clarity-sheet .result-head,
.room-sheet.clarity-sheet .result-row {
  grid-template-columns:var(--sheet-column) calc(2 * var(--sheet-column))
    calc(3 * var(--sheet-column)) calc(3 * var(--sheet-column))
    calc(2 * var(--sheet-column)) calc(2 * var(--sheet-column)) calc(3 * var(--sheet-column));
  width:calc(16 * var(--sheet-column));
}
.room-sheet.clarity-sheet .result-detail-row {
  grid-template-columns:calc(2 * var(--sheet-column)) calc(5 * var(--sheet-column))
    calc(3 * var(--sheet-column)) var(--sheet-column) calc(5 * var(--sheet-column));
  width:calc(16 * var(--sheet-column));
}
.room-sheet.clarity-sheet .result-scroll {scrollbar-width:none;overflow-y:auto;}
.room-sheet.clarity-sheet .result-scroll::-webkit-scrollbar {display:none;}
.room-sheet.clarity-sheet .result-head,
.room-sheet.clarity-sheet .result-detail-head {background:#eaf5ed;color:#24563b;}
.room-sheet.clarity-sheet .result-detail {background:#fff;border-bottom:1px solid #aabfb0;}
.room-sheet.clarity-sheet .result-detail-row,
.room-sheet.clarity-sheet .result-detail-row:nth-child(odd):not(.result-detail-head) {background:#fff;border-bottom:1px solid #c6d7c9;color:#263d2d;}
.room-sheet.clarity-sheet .result-detail-row.my-row {background:#f3faf4;}
.room-sheet.clarity-sheet .result-detail-row.result-winner:not(.my-row) {background:#f6fbf7;}
.room-sheet.clarity-sheet .result-detail-row.result-community-row {background:#f8fbf9;}
.room-sheet.clarity-sheet .result-detail-row.result-detail-head {
  background:#eaf5ed;color:#225238;border-top:0;border-bottom:1px solid #afc8b6;font-weight:750;
}
.room-sheet.clarity-sheet .result-detail-row > span,
.room-sheet.clarity-sheet .result-head > span,
.room-sheet.clarity-sheet .result-row > span {border-right:1px solid #c5d6c8;}
.room-sheet.clarity-sheet .result-detail-row > span:last-child,
.room-sheet.clarity-sheet .result-head > span:last-child,
.room-sheet.clarity-sheet .result-row > span:last-child {border-right:0;}
.room-sheet.clarity-sheet .result-detail-row > span {padding:0 8px;}
.room-sheet.clarity-sheet .result-detail-row .result-outcome.won {font-weight:800;}
/* Real-time history: use 1+1+2+5+1+1 sheet columns. Scrollbar overlays are
   hidden, not a surprise 12px subtraction from the last column width. */
.room-sheet.clarity-sheet .clarity-history .log-head,
.room-sheet.clarity-sheet .clarity-history .log-row {
  grid-template-columns:var(--sheet-column) var(--sheet-column)
    calc(2 * var(--sheet-column)) calc(5 * var(--sheet-column))
    var(--sheet-column) var(--sheet-column);
  width:calc(11 * var(--sheet-column));
}
.room-sheet.clarity-sheet .clarity-history .log-body {scrollbar-width:none;}
.room-sheet.clarity-sheet .clarity-history .log-body::-webkit-scrollbar {display:none;}
/* The font color of hearts/diamonds remains red. Text-mode made-hand cards
   get a light, full ink-background rather than underline or bottom shadow. */
.room-sheet.clarity-sheet .compact-card.text.hand-mark,
.room-sheet.clarity-sheet .card-text-row .card-ink.hand-mark {
  display:inline-block;
  background:var(--combo-tint);
  border:0;border-radius:2px;
  box-shadow:none;text-decoration:none;
  padding:2px 5px;
  font-weight:700;
}
/* Widget side borders must not subtract 2px from the seven-column deck:
   without this rule the internal separator ends at x=430 instead of x=432. */
.room-sheet.clarity-sheet > .clarity-main > .cards-column > .card-widget {
  border-left:0;
  border-right:0;
}


/* Combination panel (26–28 worksheet rows): 3 Excel columns for the main
   combination, 4 Excel columns for its real constituent playing cards. */
.room-sheet.clarity-sheet .hand-evaluation {
  display:grid;
  grid-template-columns:calc(3 * var(--sheet-column)) calc(4 * var(--sheet-column));
  grid-template-rows:calc(3 * var(--sheet-row));
  width:calc(7 * var(--sheet-column));
  height:calc(3 * var(--sheet-row));
  overflow:hidden;
  background:#fff;
}
.room-sheet.clarity-sheet .combo-overview {
  grid-column:1;
  grid-row:1;
  box-sizing:border-box;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:0 12px;
  border-right:1px solid #cedbd1;
  border-bottom:1px solid #cedbd1;
  background:#f6faf7;
}
.room-sheet.clarity-sheet .combo-overview-label {color:#60786a;font-size:10px;font-weight:650;}
.room-sheet.clarity-sheet .combo-overview-name {
  font-size:21px;
  line-height:1.2;
  color:#16653b;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.room-sheet.clarity-sheet .combo-overview-name.pending {font-size:14px;}
.room-sheet.clarity-sheet .combo-overview-hint {font-size:9px;color:#768a7c;white-space:nowrap;}
.room-sheet.clarity-sheet .combo-detail-grid {
  grid-column:2;
  grid-row:1;
  display:grid;
  grid-template-rows:repeat(3,var(--sheet-row));
  min-width:0;
  min-height:0;
  background:#fff;
}
.room-sheet.clarity-sheet .combo-detail-line {
  height:var(--sheet-row);
  box-sizing:border-box;
  border-bottom:1px solid #cedbd1;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
}
.room-sheet.clarity-sheet .combo-detail-line:first-child {background:#fbfdfb;}
.room-sheet.clarity-sheet .combo-detail-heading {font-size:10px;color:#687c6e;font-weight:700;}
.room-sheet.clarity-sheet .combo-detail-caption {font-size:11px;font-weight:700;color:#344f3c;flex:none;}
.room-sheet.clarity-sheet .combo-detail-caption.hand-mark-1 {color:#217d9f;}
.room-sheet.clarity-sheet .combo-detail-caption.hand-mark-2 {color:#945eab;}
.room-sheet.clarity-sheet .combo-detail-note {font-size:10px;color:#708276;overflow:hidden;text-overflow:ellipsis;}
.room-sheet.clarity-sheet .combo-mini-cards {display:flex;align-items:center;gap:4px;min-width:0;}
.room-sheet.clarity-sheet .combo-mini {
  height:19px;min-width:29px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 4px;font-size:11px;font-weight:700;
  border:1px solid #cedbd1;border-radius:2px;
  background:white;flex:none;
}
.room-sheet.clarity-sheet .combo-mini.red {color:#c52c40;}
.room-sheet.clarity-sheet .combo-mini.black {color:#253b2c;}
.room-sheet.clarity-sheet .combo-mini.hand-mark {
  border-color:var(--combo-edge);
  background:var(--combo-tint);
}

/* 2026-10-12 | consolidated requests: combination panel, UI settings, guide */
/* Main combination: J:K = 2 columns, L:P = 5 columns, always exactly 3 rows. */
.room-sheet.clarity-sheet .hand-evaluation {
  display:grid;
  grid-template-columns:calc(2 * var(--sheet-column)) calc(5 * var(--sheet-column));
  grid-template-rows:calc(3 * var(--sheet-row));
  height:calc(3 * var(--sheet-row));
  width:calc(7 * var(--sheet-column));
  overflow:hidden;
}
.room-sheet.clarity-sheet .combo-overview {gap:7px;padding:0 9px;}
.room-sheet.clarity-sheet .combo-overview-name {font-size:20px;line-height:1.16;}
.room-sheet.clarity-sheet .combo-overview-name.pending {font-size:12px;white-space:normal;}
.room-sheet.clarity-sheet .combo-overview-hint {display:none;}
.room-sheet.clarity-sheet .combo-detail-grid {
  display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;
  gap:5px;padding:0 8px;height:calc(3 * var(--sheet-row));
  border-bottom:1px solid #cedbd1;overflow:hidden;min-width:0;background:#fff;
}
.room-sheet.clarity-sheet .combo-five-item {display:inline-flex;align-items:center;min-width:0;flex:0 0 auto;}
.room-sheet.clarity-sheet .combo-five-item .playing-card {
  width:57px;min-width:57px;height:34px;min-height:34px;padding:2px;
  box-shadow:none;border-radius:2px;flex-direction:row;align-items:center;justify-content:center;gap:3px;
}
.room-sheet.clarity-sheet .combo-five-item .playing-card .rank,
.room-sheet.clarity-sheet .combo-five-item .playing-card .suit {font-size:16px;line-height:1.1;}
.room-sheet.clarity-sheet .combo-detail-grid.combo-text {gap:4px;padding:0 6px;}
.room-sheet.clarity-sheet .combo-five-item .compact-card.text {
  font-size:10px;white-space:nowrap;margin:0;padding:4px 5px;
  border-radius:2px;
}
.room-sheet.clarity-sheet .combo-await {color:#7d9082;font-size:11px;}
.room-sheet.clarity-sheet .combo-five-item .playing-card.hand-mark {
  border:2px solid var(--combo-edge);background:var(--combo-tint);
}
/* Final player's cards: same visual marks as result detail including in text mode. */
.room-sheet.clarity-sheet .detail-cards .compact-card.text.hand-mark {background:var(--combo-tint);}

/* Compact Card/Text buttons adjacent to the recent action status. */
.room-sheet.clarity-sheet .room-intro .widget-head .card-switch {display:none;}
.room-sheet.clarity-sheet .room-actions .card-switch {display:flex;gap:7px;align-items:center;flex:none;margin-left:auto;}
.room-sheet.clarity-sheet .room-actions .card-switch .mode-btn {
  font:700 11px 'Malgun Gothic',sans-serif;
  min-height:30px;height:30px;
  padding:6px 10px;
  border-radius:2px;
  opacity:1;
}
.room-sheet.clarity-sheet .room-actions .card-switch .mode-btn.chosen {
  background:#217346;color:#fff;
}
.room-sheet.clarity-sheet .room-intro .widget-body {padding:5px 10px;}

/* Scrollbars only when scrolling is possible. Keep 72px table tracks intact;
   browser scrollbar overlays table's far-right margin, never a track separator. */
.room-sheet.clarity-sheet .result-scroll,
.room-sheet.clarity-sheet .clarity-history .log-body {
  overflow-y:auto;overflow-x:hidden;scrollbar-width:thin!important;
  scrollbar-color:#9cad9f #f3f7f4!important;
}
.room-sheet.clarity-sheet .result-scroll::-webkit-scrollbar,
.room-sheet.clarity-sheet .clarity-history .log-body::-webkit-scrollbar {display:block!important;width:9px;}
.room-sheet.clarity-sheet .result-scroll::-webkit-scrollbar-track,
.room-sheet.clarity-sheet .clarity-history .log-body::-webkit-scrollbar-track {background:#f3f7f4;}
.room-sheet.clarity-sheet .result-scroll::-webkit-scrollbar-thumb,
.room-sheet.clarity-sheet .clarity-history .log-body::-webkit-scrollbar-thumb {
  background:#afc1b3;border:2px solid #f3f7f4;border-radius:8px;
}

/* The plain Settings sheet has exactly two visible editable columns. */
.settings-sheet .settings-mode-control {display:none!important;}
.settings-sheet .settings-table {width:100%;}
.settings-sheet .settings-table th:first-child,
.settings-sheet .settings-table td:first-child,
.settings-sheet .settings-table th:nth-child(2),
.settings-sheet .settings-table td:nth-child(2) {width:50%;}
.settings-sheet .reset-actions {display:flex;gap:7px;align-items:center;}
.settings-sheet .settings-hint {padding:10px 13px;line-height:1.5;}

/* Spreadsheet Data_Validation guide: no oversized blank widget. */
.sheet-main:has(.help-sheet) {min-height:calc(36 * var(--sheet-row));}
.help-sheet >.data-validation-guide {
  grid-column:1/14;grid-row:1/span 1;width:calc(13 * var(--sheet-column));
  height:auto;align-self:start;overflow:visible;border:1px solid #bfcec2;
}
.help-sheet .data-validation-guide .widget-head {height:var(--sheet-row);padding:0 11px;}
.help-sheet .data-validation-guide .widget-body {padding:10px 12px 13px;background:#fff;}
.guide-intro {font-size:11px;color:#5c6f62;margin:0 0 9px;line-height:1.45;}
.combination-guide {width:100%;border:1px solid #c8d8cb;background:#fff;font-size:11px;}
.guide-heading,.guide-row {display:grid;grid-template-columns:180px 232px minmax(0,1fr);align-items:center;}
.guide-heading {background:#e7f2e9;color:#27563a;height:28px;font-weight:800;border-bottom:1px solid #b8cebc;}
.guide-heading >span {padding:0 11px;}
.guide-row {min-height:46px;background:#fff;border-bottom:1px solid #dce8de;}
.guide-row:nth-child(odd) {background:#f8fbf9;}
.guide-row:last-child {border-bottom:none;}
.guide-row >span {padding:3px 10px;}
.guide-name {display:flex;gap:12px;align-items:center;min-width:0;}
.guide-name small {font-size:11px;color:#8ba298;font-weight:800;}
.guide-name strong {font-size:12px;color:#234f35;white-space:nowrap;}
.guide-cards {display:flex;align-items:center;gap:5px;white-space:nowrap;}
.guide-description {line-height:1.4;color:#4e6556;}
.guide-kicker {padding:8px 10px;background:#fff8df;border-top:1px solid #d8c98c;color:#5f5127;line-height:1.45;font-weight:700;}
.guide-playing-card {border:1px solid #bdcfc3;background:#fff;height:32px;min-width:33px;padding:2px 2px;
  border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:2px;box-shadow:0 1px 2px #0001;}
.guide-playing-card b {font-size:12px;font-weight:800;}
.guide-playing-card span {font-size:14px;}
.guide-playing-card.red {color:#c3273b;}
.guide-playing-card.black {color:#293c31;}
#topComboHelp {cursor:help;}
#topSettings[aria-expanded="true"] {background:#e4f2e8;color:#15663c;border-bottom:2px solid #217346;}
#comboHelpPopup {position:fixed;z-index:100005;width:820px;max-width:calc(100vw - 16px);max-height:calc(100vh - 100px);
  overflow:auto;background:white;padding:12px;box-shadow:0 10px 32px #001f122c;border:1px solid #93ad9b;border-top:3px solid #217346;}
#comboHelpPopup[hidden],.settings-drawer[hidden] {display:none!important;}
.guide-popup-title {font-size:13px;font-weight:800;color:#206641;margin:0 0 10px;}
#comboHelpPopup .guide-heading,#comboHelpPopup .guide-row {grid-template-columns:175px 220px minmax(0,1fr);}

/* Independent right drawer retains focus and input text while game view refreshes. */
.settings-drawer {position:fixed;z-index:100000;right:0;top:80px;bottom:33px;width:525px;
  max-width:calc(100vw - 15px);display:flex;flex-direction:column;background:#fff;
  border-left:2px solid #80a78b;box-shadow:-9px 0 28px #0e332119;font-size:11px;color:#263f2e;}
.drawer-heading {height:46px;flex:none;background:#e8f3eb;border-bottom:1px solid #b8d0be;padding:0 14px;
  display:flex;justify-content:space-between;align-items:center;}
.drawer-heading strong {font-size:15px;color:#1e623a;}
.drawer-heading button {border:0;background:transparent;font-size:24px;line-height:1;color:#466953;}
.drawer-subhead {height:35px;flex:none;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#f3f8f4;
  border-bottom:1px solid #d2ded6;font-weight:750;}
.drawer-subhead span {padding:0 11px;}
.drawer-content {overflow-y:auto;min-height:0;flex:1;}
.drawer-group {background:#ecf2ed;color:#28653f;font-weight:700;height:30px;display:flex;align-items:center;padding:0 11px;border-top:1px solid #d4e2d7;}
.drawer-item {display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:39px;border-bottom:1px solid #e2e9e3;}
.drawer-item > span {min-width:0;overflow:hidden;text-overflow:ellipsis;padding:6px 9px;color:#64786c;}
.drawer-item input {margin:4px 8px 4px 3px;width:calc(100% - 11px);height:28px;min-width:0;background:#fff;
  color:#263e2b;border:1px solid #c2d4c6;outline-color:#217346;padding:4px 6px;font-size:11px;}
.drawer-item input:hover,.drawer-item input:focus {background:#fffdf1;border-color:#c0a049;}
.drawer-footer {display:flex;gap:7px;padding:10px;align-items:center;flex-wrap:wrap;border-top:1px solid #c6d6ca;background:#f6faf7;flex:none;}
.drawer-footer .row-color-picker {display:flex;align-items:center;gap:6px;white-space:nowrap;margin-right:auto;}
.drawer-footer .row-color-picker input {width:31px;height:24px;padding:0;border:1px solid #b8c5bc;cursor:pointer;}
.drawer-footer .button {min-height:28px;height:28px;padding:4px 8px;font-size:11px;}
/* Show actual configured locations, not coincidental matching substrings. */
.copy-location-active {box-shadow:inset 0 -6px 0 #ffdf64!important;text-decoration:none!important;}
.help-sheet .data-rules {border:1px solid #d4e0d7;padding:9px 12px 6px;margin:0 0 10px;background:#fbfdfb;}
.help-sheet .data-rules > strong {color:#276140;font-size:12px;}
.help-sheet .data-rules .help-list {margin:7px 0 2px 20px;padding:0;list-style:decimal;color:#536859;font-size:11px;line-height:1.65;}
.help-sheet .data-rules .help-list li {padding:0 0 3px;}
.help-sheet .guide-section-title {font-size:13px;color:#216641;padding:4px 0 7px;margin:0;font-weight:800;}


/* 2026-10-13: one visual scale for playing cards and text tokens throughout
   sections 02, 03, 04 and 06. The guide popup intentionally has its own
   larger instructional card artwork. Keep grid rows and columns untouched. */
.room-sheet.clarity-sheet {
  --game-card-font:12px;
  --game-card-width:46px;
  --game-card-height:20px;
}
.room-sheet.clarity-sheet .seat-result,
.room-sheet.clarity-sheet .detail-cards {gap:4px;}
.room-sheet.clarity-sheet .seat-result .playing-card,
.room-sheet.clarity-sheet .detail-cards .playing-card,
.room-sheet.clarity-sheet .deck-content .playing-card,
.room-sheet.clarity-sheet .combo-five-item .playing-card {
  box-sizing:border-box;
  width:var(--game-card-width);min-width:var(--game-card-width);
  height:var(--game-card-height);min-height:var(--game-card-height);
  padding:0 2px;margin:0;
  display:inline-flex;flex-direction:row;align-items:center;justify-content:center;
  gap:2px;border-radius:2px;box-shadow:none;
  font-size:var(--game-card-font);line-height:1;
}
.room-sheet.clarity-sheet .seat-result .playing-card .rank,
.room-sheet.clarity-sheet .seat-result .playing-card .suit,
.room-sheet.clarity-sheet .detail-cards .playing-card .rank,
.room-sheet.clarity-sheet .detail-cards .playing-card .suit,
.room-sheet.clarity-sheet .deck-content .playing-card .rank,
.room-sheet.clarity-sheet .deck-content .playing-card .suit,
.room-sheet.clarity-sheet .combo-five-item .playing-card .rank,
.room-sheet.clarity-sheet .combo-five-item .playing-card .suit {
  font-size:var(--game-card-font);line-height:1;font-weight:700;
}
.room-sheet.clarity-sheet .seat-result .compact-card.text,
.room-sheet.clarity-sheet .detail-cards .compact-card.text,
.room-sheet.clarity-sheet .combo-five-item .compact-card.text {
  box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  height:var(--game-card-height);min-height:var(--game-card-height);
  font-size:var(--game-card-font);line-height:1;
  white-space:nowrap;padding:0 3px;margin:0;
  border-radius:2px;
}
.room-sheet.clarity-sheet .deck-content .card-text-row,
.room-sheet.clarity-sheet .deck-content .card-text-row .card-ink {
  font-size:var(--game-card-font);line-height:1;
}
.room-sheet.clarity-sheet .deck-content .card-text-row .card-ink {
  display:inline-flex;align-items:center;min-height:var(--game-card-height);
}
/* Allow five full Korean suit names to wrap inside 04 if necessary rather
   than shrink their type, clip text, or change any worksheet dimensions. */
.room-sheet.clarity-sheet .combo-detail-grid.combo-text {
  flex-wrap:wrap;align-content:center;justify-content:flex-start;
  gap:3px 4px;padding:4px 7px;
}
.room-sheet.clarity-sheet .combo-five-item {height:var(--game-card-height);}
/* Pale backgrounds are reserved for the winning combination only. */
.room-sheet.clarity-sheet .detail-cards .compact-card.text.hand-mark {
  padding:0 3px;background:var(--combo-tint);border:0;box-shadow:none;text-decoration:none;
}

/* 04. 내 카드: replace the old combination panel with two large private cards. */
.room-sheet.clarity-sheet .private-large-cards {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  height:100%;
  min-height:100%;
  max-height:100%;
  background:#fff;
  overflow:hidden;
}
.room-sheet.clarity-sheet .private-large-slot {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid #dfe5e0;
}
.room-sheet.clarity-sheet .private-large-slot:last-child {border-right:0;}
.room-sheet.clarity-sheet .private-combo-label {
  margin-left:auto;
  color:#176641;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.room-sheet.clarity-sheet .private-large-cards .playing-card,
.room-sheet.clarity-sheet .private-large-cards .playing-card.back,
.room-sheet.clarity-sheet .private-large-cards .playing-card.blank {
  width:120px;
  min-width:120px;
  height:78px;
  min-height:78px;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  border:1px solid #9fb4a7;
  border-radius:4px;
  box-shadow:0 1px 2px #00000018;
}
.room-sheet.clarity-sheet .private-large-cards .playing-card .rank {
  font-size:32px;
  line-height:1;
}
.room-sheet.clarity-sheet .private-large-cards .playing-card .suit {
  font-size:30px;
  line-height:1;
}
.room-sheet.clarity-sheet .private-large-text .card-text-row {
  height:auto;
  min-height:0;
  padding:0;
  background:transparent;
}
.room-sheet.clarity-sheet .private-large-text .card-text-row .card-ink {
  font-size:26px;
  line-height:1.2;
  font-weight:800;
}

/* Showdown stamp on section 02. Winner coloring must sit above the user's row color. */
.room-sheet.clarity-sheet .players-widget > .widget-body {position:relative;}
.room-sheet.clarity-sheet .players-widget .seat.winner-row,
.room-sheet.clarity-sheet .players-widget .seat.winner-row.current,
.room-sheet.clarity-sheet .players-widget .seat.winner-row.folded,
.room-sheet.clarity-sheet .players-widget .seat.winner-row.my-row {
  background:#f9f4ed;
}
.room-sheet.clarity-sheet .players-widget .seat .name.winner-name {
  background:#f9f4ed;
  color:#5f3600;
  font-weight:900;
  box-shadow:inset 0 0 0 1px #dfc6a6;
}
.room-sheet.clarity-sheet .winner-stamp {
  position:absolute;
  z-index:7;
  left:50%;
  top:50%;
  width:220px;
  height:220px;
  transform:translate(-50%,-45%) rotate(-12deg);
  border:8px solid rgba(204,0,0,.78);
  border-radius:50%;
  color:rgba(204,0,0,.88);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  pointer-events:none;
  mix-blend-mode:multiply;
  opacity:.88;
  font-family:Impact,'Arial Black','Malgun Gothic',sans-serif;
  letter-spacing:1px;
  text-transform:uppercase;
}
.room-sheet.clarity-sheet .winner-stamp::before {
  content:"";
  position:absolute;
  inset:14px;
  border:3px solid rgba(204,0,0,.72);
  border-radius:50%;
}
.room-sheet.clarity-sheet .winner-stamp::after {
  content:"";
  position:absolute;
  left:-20px;
  right:-20px;
  top:82px;
  height:58px;
  border:6px solid rgba(204,0,0,.82);
  background:rgba(255,255,255,.58);
  transform:rotate(-4deg);
}
.room-sheet.clarity-sheet .winner-stamp span,
.room-sheet.clarity-sheet .winner-stamp strong,
.room-sheet.clarity-sheet .winner-stamp small {
  position:relative;
  z-index:1;
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.room-sheet.clarity-sheet .winner-stamp span {
  font-size:30px;
  line-height:1;
  margin-bottom:42px;
}
.room-sheet.clarity-sheet .winner-stamp strong {
  font-size:30px;
  line-height:1.05;
  color:rgba(190,0,0,.95);
  max-width:205px;
}
.room-sheet.clarity-sheet .winner-stamp small {
  font-size:22px;
  line-height:1;
  margin-top:38px;
  font-weight:900;
}

/* Right column split: row 1-13 history, row 14 blank, row 16-31 chat. */
.room-sheet.clarity-sheet > .clarity-history {
  grid-column:18/29;
  grid-row:1/14;
  width:calc(11 * var(--sheet-column));
  height:calc(13 * var(--sheet-row));
  min-height:calc(13 * var(--sheet-row));
  max-height:calc(13 * var(--sheet-row));
}
.room-sheet.clarity-sheet > .clarity-history .widget-body {
  height:calc(12 * var(--sheet-row));
  max-height:calc(12 * var(--sheet-row));
  overflow:hidden;
}
.room-sheet.clarity-sheet > .clarity-history .log-body {
  height:calc(12 * var(--sheet-row));
  max-height:calc(12 * var(--sheet-row));
  overflow-y:auto;
}
.room-sheet.clarity-sheet > .clarity-chat {
  grid-column:18/29;
  grid-row:16/32;
  width:calc(11 * var(--sheet-column));
  height:calc(16 * var(--sheet-row));
  margin:0!important;
  overflow:hidden;
}
.room-sheet.clarity-sheet .clarity-chat .widget-head {
  height:var(--sheet-row);
  min-height:var(--sheet-row);
  padding:0 10px;
}
.room-sheet.clarity-sheet .clarity-chat .widget-body {
  height:calc(15 * var(--sheet-row));
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.room-sheet.clarity-sheet .chat-body {
  flex:1;
  min-height:0;
  overflow-y:auto;
  background:#fff;
  scrollbar-width:thin;
  scrollbar-color:#9cad9f #f3f7f4;
}
.room-sheet.clarity-sheet .chat-body::-webkit-scrollbar {width:9px;}
.room-sheet.clarity-sheet .chat-body::-webkit-scrollbar-track {background:#f3f7f4;}
.room-sheet.clarity-sheet .chat-body::-webkit-scrollbar-thumb {background:#afc1b3;border:2px solid #f3f7f4;border-radius:8px;}
.room-sheet.clarity-sheet .chat-row {
  min-height:var(--sheet-row);
  display:grid;
  grid-template-columns:calc(2 * var(--sheet-column)) minmax(0,1fr) var(--sheet-column);
  border-bottom:1px solid #e0e6e1;
  font-size:11px;
  color:#263d2d;
}
.room-sheet.clarity-sheet .chat-row.my-row {background:var(--my-row-bg);}
.room-sheet.clarity-sheet .chat-row > span {
  min-width:0;
  padding:0 7px;
  display:flex;
  align-items:center;
  border-right:1px solid #e0e6e1;
}
.room-sheet.clarity-sheet .chat-row > span:last-child {border-right:0;}
.room-sheet.clarity-sheet .chat-name {font-weight:800;color:#205d39;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.room-sheet.clarity-sheet .chat-text {line-height:1.35;overflow-wrap:anywhere;word-break:normal;}
.room-sheet.clarity-sheet .chat-time {justify-content:center;font-size:10px;color:#708076;font-variant-numeric:tabular-nums;white-space:nowrap;}
.room-sheet.clarity-sheet .empty-chat {
  height:var(--sheet-row);
  display:flex;
  align-items:center;
  padding:0 10px;
  color:#8a938c;
  font-size:11px;
  border-bottom:1px solid #e0e6e1;
}
.room-sheet.clarity-sheet .chat-compose {
  height:calc(2 * var(--sheet-row));
  min-height:calc(2 * var(--sheet-row));
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 9px;
  border-top:1px solid #cbd9ce;
  background:#f8fbf9;
}
.room-sheet.clarity-sheet .chat-compose input {
  flex:1;
  min-width:0;
  height:30px;
  border:1px solid #b8c4ba;
  padding:4px 8px;
  outline-color:#217346;
  background:#fff;
}
.room-sheet.clarity-sheet .chat-compose .button {
  height:30px;
  min-height:30px;
  padding:4px 12px;
}
