/* Craps Lingo visuals (S4.5). Scoped so the prototype frame doesn't restyle the apps. */
.lingo-call{min-height:44px;min-width:44px;padding:0 10px;display:inline-flex;align-items:center;font:800 15px/1.15 var(--serif,Georgia);letter-spacing:.04em;color:#FFD36A;text-decoration:underline dotted 2px;text-underline-offset:5px;border-radius:12px;border:0;background:transparent;cursor:pointer}
.lingo-call:focus-visible{outline:2px solid #FFD36A}
.lingo-peek{position:absolute;left:8px;right:8px;bottom:8px;z-index:30;max-height:45%;overflow:auto;border-radius:18px;background:#FBF5E8;color:#1b2230;box-shadow:0 14px 34px rgba(0,0,0,.6);padding:10px 12px 8px}
.lingo-peek .lingo-card h2{color:#1b2230;font-size:17px}
.lingo-peek .lingo-card .aka,
.lingo-peek .aka{color:#3a4150}
.lingo-peek .lingo-card .mean,
.lingo-peek .mean{color:#1b2230;font-size:13.5px}
.lingo-peek .lingo-note{color:#1b2230;background:#f3e7c7;border-color:#9C7428}
.lingo-peek .lingo-foot{color:#4a5363}
.lingo-peek .lingo-btn,.lingo-peek .lingo-rel button{color:#1b2230;border-color:#c9b98f;background:#fff}
.tc-stage:has(.lingo-peek) .result,.stage:has(.lingo-peek) .result-line{position:relative;z-index:6}
@media (orientation:portrait){
  .lingo-peek{max-height:min(40vh,200px)}
  .tc-stage:has(.lingo-peek) .tc-shooter{display:flex;flex-direction:column;align-items:stretch;height:100%;overflow:auto}
  .tc-stage:has(.lingo-peek) .tc-shooter .result{order:-1;flex:0 0 auto;background:rgba(4,8,14,.94)}
}
body:has(.lingo-sheet) .dome-billy,
body:has(.lingo-peek) .dome-billy{visibility:hidden}
@media (orientation:landscape) and (max-height:500px){
  .lingo-peek{left:auto;right:8px;top:8px;bottom:8px;width:min(200px,38%);max-height:none}
  .tc-stage:has(.lingo-peek),.stage:has(.lingo-peek){justify-content:flex-start}
  .tc-stage:has(.lingo-peek) .tc-shooter,
  .stage:has(.lingo-peek) .dome-screen{
    width:calc(100% - min(200px, 38%) - 16px);
    max-width:calc(100% - min(200px, 38%) - 16px);
    margin-right:auto;
  }
}
@media (max-width:359px){
  .app.play .lingo-btn,
  .app.play .lingo-rel button,
  .app.play .lingo-call,
  .app.play .lingo-x,
  .app.play .lingo-grab{
    min-height:calc(44px * 352px / 100vw);
    min-width:calc(44px * 352px / 100vw);
  }
  .app.play .lingo-x,.app.play .lingo-grab{
    width:calc(44px * 352px / 100vw);
    height:calc(44px * 352px / 100vw);
  }
}
.lingo-scrim{position:absolute;inset:0;z-index:28;background:rgba(4,8,12,.62);display:flex;align-items:flex-end;justify-content:center;padding:8px 8px 0}
.lingo-sheet{position:relative;width:min(100%,440px);max-height:min(85%,calc(100% - 8px));overflow:auto;background:#0B1626;border:1px solid #9C7428;border-bottom:0;border-radius:20px 20px 0 0;padding:6px 14px 14px;color:#F6EDD8}
.app .lingo-sheet{background:#10281c;border-color:#c9a961}
.lingo-grab{display:block;margin:-6px auto -18px;width:64px;height:44px;position:relative;border:0;background:none}
.lingo-grab::after{content:"";position:absolute;left:16px;right:16px;top:12px;height:4px;border-radius:2px;background:rgba(246,237,216,.45)}
.lingo-x{position:absolute;right:6px;top:6px;width:44px;height:44px;border-radius:50%;border:0;background:transparent;font:700 20px/44px var(--sans,system-ui);color:inherit;cursor:pointer}
@media (orientation:landscape) and (max-height:500px){
  .lingo-scrim{align-items:stretch;justify-content:flex-end;padding:8px}
  .lingo-sheet{width:min(400px,70%);max-height:100%;border-radius:18px;border-bottom:1px solid #9C7428}
}
.lingo-card h2{font:800 20px/1.15 var(--serif,Georgia);color:#FFE7A0;padding-right:44px;margin:0}
.lingo-card .aka{margin:2px 0 0;font:600 12px/1.35 var(--sans,system-ui);color:#C8D3E2}
.lingo-tag{display:inline-block;margin:6px 6px 0 0;padding:3px 8px;border-radius:999px;font:800 10.5px/1.2 var(--sans,system-ui);letter-spacing:.06em;background:#0E3B24;color:#7DFFB3}
.lingo-tag.live{background:#3a2a10;color:#FFD36A}
.lingo-tag.tc{background:#12305a;color:#CFE3FF}
.lingo-tag.nocl{background:#3b1418;color:#FFC2C2}
.lingo-card .mean{margin:8px 0 0;font:600 14px/1.4 var(--sans,system-ui);color:#F6EDD8}
.lingo-dice{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.lingo-dice span{display:inline-flex;gap:2px;padding:3px;border-radius:6px;background:rgba(255,255,255,.08)}
.lingo-plate{display:flex;gap:8px;align-items:center;margin-top:10px;padding:8px 10px;border-radius:14px;background:linear-gradient(180deg,#2a1e08,#140e04);border:1px solid #C9A961}
.lingo-plate img{width:40px;height:40px;flex:0 0 40px}
.lingo-plate .who{display:block;font:800 9.5px/1 var(--sans,system-ui);letter-spacing:.14em;color:#E4CC8F;text-transform:uppercase}
.lingo-plate q{display:block;margin-top:3px;font:700 14px/1.3 var(--fun,Fredoka,sans-serif);color:#FFD36A;quotes:"“" "”"}
.lingo-plate .say{display:block;margin-top:2px;font:600 12px/1.2 var(--sans,system-ui);color:#F6EDD8}
.lingo-note{margin:8px 0 0;padding:6px 10px;border-left:3px solid #FFD36A;font:600 12.5px/1.35 var(--sans,system-ui);color:#F6EDD8;background:rgba(255,211,106,.08);border-radius:0 8px 8px 0}
.lingo-rel,.lingo-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.lingo-btn,.lingo-rel button{min-height:44px;min-width:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(228,204,143,.55);font:800 12px/1.1 var(--sans,system-ui);color:#F6EDD8;background:rgba(255,255,255,.05);cursor:pointer}
.lingo-btn.go{background:linear-gradient(180deg,#f6e7bc,#c9a45a);color:#2a1c08;border:0}
.lingo-btn[disabled]{opacity:1;background:#2a2f38;color:#C8D3E2;border-style:dashed;cursor:not-allowed}
.lingo-foot{margin:10px 0 0;font:600 11.5px/1.35 var(--sans,system-ui);color:#C8D3E2}
.lingo-sec{margin-top:12px;padding-top:10px;border-top:1px solid rgba(228,204,143,.25)}
.lingo-sec h3,.lingo-grp,.lingo-rc h3{font:800 10.5px/1 var(--sans,system-ui);letter-spacing:.16em;color:#E4CC8F;text-transform:uppercase;margin:14px 0 0}
.lingo-tutor{margin-top:6px;padding:10px 12px;border-radius:14px;background:#FBF5E8;color:#1b2230}
.lingo-tutor .kick{font:800 10px/1 var(--sans,system-ui);letter-spacing:.16em;color:#B01C2A;text-transform:uppercase}
.lingo-tutor p{margin:4px 0 0;font:700 14px/1.35 var(--sans,system-ui)}
.lingo-tutor .edge{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:999px;background:#0E3B24;color:#7DFFB3;font:800 11px/1.2 var(--sans,system-ui)}
.lingo-tutor .why{margin-top:6px;font:600 12.5px/1.35 var(--sans,system-ui);color:#3a4150}
.lingo-tutor .lingo-btn{color:#1b2230;border-color:#c9b98f;background:#fff}
.lingo-bet{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.lingo-bet .amt{font:800 18px/1 var(--sans,system-ui);color:#fff}
.lingo-bet .lingo-btn{margin-left:auto}
.lingo-bet .reason{flex-basis:100%;font:600 12.5px/1.35 var(--sans,system-ui);color:#E6EDF6}
.lingo-bet .warn{flex-basis:100%;font:700 12.5px/1.35 var(--sans,system-ui);color:#FFD36A}
#panel{position:relative}
.lingo-screen{position:absolute;inset:0;overflow:auto;padding:12px 12px 28px;background:#0B1626;z-index:6}
.app .lingo-screen{background:#10281c}
.lingo-screen h1{font:800 22px/1.1 var(--serif,Georgia);color:#FFE7A0;margin:0}
.lingo-screen .sub{margin:4px 0 0;font:600 12.5px/1.35 var(--sans,system-ui);color:#C8D3E2}
.lingo-lrow{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;margin-top:8px;padding:8px 12px;border-radius:14px;border:1px solid #FFD36A;box-shadow:0 0 0 2px rgba(255,211,106,.25);background:rgba(255,255,255,.04);text-align:left;color:inherit;cursor:pointer}
.lingo-lrow b{display:block;font:800 15px/1.2 var(--sans,system-ui);color:#fff}
.lingo-lrow small{display:block;font:600 12px/1.3 var(--sans,system-ui);color:#C8D3E2}
.lingo-lrow .chev{margin-left:auto;color:#FFD36A;font:800 18px/1 var(--sans,system-ui)}
.lingo-lrow .ico{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:#2a1e08;border:1px solid #C9A961;display:grid;place-items:center;font:900 15px/1 var(--serif,Georgia);color:#FFD36A}
.lingo-search{display:flex;align-items:center;margin-top:10px;min-height:44px;border-radius:12px;border:1px solid rgba(228,204,143,.55);background:#04080E;padding:0 12px}
.lingo-search input{flex:1;min-width:0;height:44px;background:none;border:0;color:#fff;font:600 15px/1 var(--sans,system-ui)}
.lingo-search input::placeholder{color:#AEB8C6}
.lingo-chips{display:flex;gap:6px;margin-top:8px;overflow-x:auto;scrollbar-width:none}
.lingo-chips button{flex:0 0 auto;min-height:44px;min-width:44px;padding:0 12px;border-radius:999px;border:1px solid rgba(228,204,143,.45);font:800 12px/1 var(--sans,system-ui);color:#F6EDD8;background:transparent;cursor:pointer}
.lingo-chips button.on{background:linear-gradient(180deg,#f6e7bc,#c9a45a);color:#2a1c08;border:0}
.lingo-chips em{font-style:normal;opacity:.85;margin-left:4px}
.lingo-rc .strip{display:flex;gap:6px;margin-top:6px;overflow-x:auto}
.lingo-rc .strip button{flex:0 0 auto;min-height:44px;padding:0 12px;border-radius:12px;background:rgba(255,211,106,.1);border:1px solid rgba(255,211,106,.45);font:800 12px/1 var(--serif,Georgia);color:#FFD36A;cursor:pointer}
.lingo-term{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:6px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;text-align:left;color:inherit;cursor:pointer}
.lingo-term .tn{font:800 14.5px/1.2 var(--sans,system-ui);color:#fff}
.lingo-term .tm{display:block;font:600 12px/1.3 var(--sans,system-ui);color:#C8D3E2}
.lingo-term .tx{flex:1;min-width:0}
.lingo-term .seen{margin-left:auto;flex:0 0 auto;font:800 12px/1 var(--sans,system-ui);color:#7DFFB3}
.lingo-term .pp{display:flex;gap:2px;flex:0 0 auto}
.lingo-term .pp img{width:18px;height:18px}
.lingo-empty{margin-top:16px;font:600 14px/1.4 var(--sans,system-ui);color:#F6EDD8}
@media (orientation:landscape) and (max-height:500px){
  .lingo-list{columns:2;column-gap:16px}
  .lingo-term{break-inside:avoid}
}
.spot.lingo-hl,.numbox.lingo-hl,.tc-rail.lingo-hl{animation:lingo-pulse 1.2s ease-out 2;outline:3px solid #FFD36A;outline-offset:1px}
@keyframes lingo-pulse{0%{box-shadow:0 0 0 0 rgba(255,211,106,.7)}100%{box-shadow:0 0 0 8px rgba(255,211,106,0)}}
@media (prefers-reduced-motion:reduce){.spot.lingo-hl,.numbox.lingo-hl,.tc-rail.lingo-hl{animation:none}}
.tc-toast{position:absolute;left:8px;right:8px;top:4px;z-index:24;pointer-events:none;padding:6px 10px;border-radius:12px;background:rgba(4,8,14,.94);border:1px solid rgba(255,211,106,.45);color:#fff;font:700 13px/1.3 var(--sans,system-ui)}
.tc-toast small{display:block;font:600 11px/1.2 var(--sans,system-ui);color:#E6EDF6}
.hopcue{position:sticky;bottom:0;z-index:3;margin-top:8px;min-height:44px;border-radius:12px;border:1px solid rgba(255,211,106,.55);background:rgba(4,8,14,.94);color:#FFD36A;font:800 13px/1 var(--sans,system-ui);cursor:pointer}
.tc-compare .go{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:12px;border:0;border-radius:14px;background:linear-gradient(180deg,#FFE7A0,#E2BC62);color:#2A1A00;font:800 15px/1 var(--sans,system-ui);cursor:pointer}
.tc-pay .paystatus{min-height:22px;margin:8px 0 0;color:#FFD36A;font:700 14px/1.35 var(--sans,system-ui)}
.tc-felt.land .numbox .face .d{margin-top:2px}
.tc-shooter .readout > b{color:#fff}
.tc-shooter .readout b.tot{color:#1b2230}
.tc-shooter .readout b.tot.seven{color:#fff}
