/* LOJ XLab · ONE SECOND game 1.0.1 · board 9 (A: Today card + end of guides, B: floating button) */
@keyframes osg-pulse{0%,100%{box-shadow:0 0 0 0 rgba(198,255,61,.35)}50%{box-shadow:0 0 0 10px rgba(198,255,61,0)}}
@keyframes osg-pop{0%{transform:scale(.9);opacity:0}100%{transform:scale(1);opacity:1}}
.osg{display:flex;gap:18px;align-items:center;background:#0C0F16;border:1px solid #E9B85C;padding:16px;color:#EAFBF3;font:400 15px/1.5 Inter,system-ui,-apple-system,sans-serif;text-align:start;box-sizing:border-box}
.osg *,.osg *::before,.osg *::after{box-sizing:border-box}
.osg-ring{flex:none;width:150px;height:150px;border-radius:50%;border:0;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;color:#EAFBF3;background:radial-gradient(circle at 50% 50%,#0C0F16 58%,transparent 59%),conic-gradient(var(--c,#C6FF3D) calc(var(--deg,0) * 1deg),#1D2530 0deg);transition:transform .08s}
.osg-ring:active{transform:scale(.97)}
.osg-ring:focus-visible{outline:2px solid #EAFBF3;outline-offset:4px}
.osg-ring.is-idle{animation:osg-pulse 1.8s infinite}
.osg-num{font:700 28px/1.1 'JetBrains Mono',ui-monospace,monospace;color:var(--n,#EAFBF3)}
.osg-hint{font:600 12px/1.2 'JetBrains Mono',ui-monospace,monospace;color:#7E8B95}
.osg-body{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.osg-k{font:700 12px/1.3 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;color:#E9B85C;text-transform:uppercase}
.osg-wait{display:flex;flex-direction:column;gap:8px}
.osg-h{font:800 22px/1.1 Oxanium,'Arial Narrow',sans-serif;text-transform:uppercase;margin:0;color:#EAFBF3}
.osg-p{font-size:14px;line-height:1.5;color:#A9B4BC;margin:0}
.osg-best b{color:#22E07A;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:700}
.osg-done{display:flex;flex-direction:column;gap:6px;animation:osg-pop .25s ease-out}
.osg-done[hidden],.osg-wait[hidden],.osg-save[hidden]{display:none}
.osg-res{font:800 26px/1 Oxanium,'Arial Narrow',sans-serif;color:var(--r,#EAFBF3)}
.osg-line{font-size:14px;line-height:1.5;color:#A9B4BC}
.osg-rank{font:700 13px/1.4 'JetBrains Mono',ui-monospace,monospace;color:#22E07A}
.osg-rank:empty{display:none}
.osg-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.osg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;border:1px solid #1D2530;border-radius:0;background:transparent;color:#EAFBF3;padding:0 12px;font:700 12px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-decoration:none;cursor:pointer}
.osg-btn:hover{border-color:#EAFBF3;color:#EAFBF3}
.osg-btn.is-gold{border-color:#E9B85C;color:#E9B85C;font:800 12px/1 Oxanium,'Arial Narrow',sans-serif;letter-spacing:.06em}
.osg-btn.is-gold:hover{background:#E9B85C;color:#0B0502}
.osg-save{font:600 12px/1.4 'JetBrains Mono',ui-monospace,monospace;color:#7E8B95;text-decoration:none}
.osg-save:hover{color:#EAFBF3}
.osg-fine{font-size:11px;line-height:1.4;color:#56616B}

/* A · Today card row + panel (Home). The Today card is ~400px wide, so the ring is smaller there. */
.home2-tile.osg-row{-webkit-appearance:none;appearance:none;width:100%;font:inherit;color:#EAFBF3;background-color:#0C0F16;text-align:start;cursor:pointer;border-color:#C6FF3D!important}
.home2-tile.osg-row[aria-expanded="true"]{border-bottom-color:transparent!important}
.osg-row .osg-go{font:800 12px/1 Oxanium,'Arial Narrow',sans-serif;letter-spacing:.08em;color:#C6FF3D}
.osg-panel{margin-top:-11px}
.osg-panel[hidden]{display:none}
.osg-panel .osg{border-color:#C6FF3D;border-top:0;padding:14px;gap:14px}
.osg-panel .osg-ring{width:120px;height:120px}
.osg-panel .osg-num{font-size:24px}
.osg-panel .osg-h{font-size:18px}
.osg-panel .osg-res{font-size:20px}

/* A · end of every guide */
.osg-guide{display:block;margin:40px 0 8px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.osg-guide:empty{display:none}

/* B · floating button + game over the page */
.osg-fab{position:fixed;z-index:104;inset-inline-end:24px;bottom:calc(24px + var(--lxv-b,0px) + env(safe-area-inset-bottom,0px));min-height:48px;display:flex;align-items:center;gap:10px;margin:0;background:#E9B85C;color:#0B0502;border:0;border-radius:0;padding:0 18px;font:800 14px/1 Oxanium,'Arial Narrow',sans-serif;letter-spacing:.06em;cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);transition:opacity .2s,transform .2s;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.osg-fab:focus-visible{outline:2px solid #EAFBF3;outline-offset:3px}
.osg-fab.is-typing,.osg-fab.is-open{opacity:0;pointer-events:none;transform:translateY(8px)}
.osg-ov{position:fixed;inset:0;z-index:100005;background:rgba(5,6,10,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.osg-ov[hidden]{display:none}
.osg-sheet{position:relative;width:min(580px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#0A0D13;border:1px solid #1D2530;padding:18px;display:flex;flex-direction:column;gap:12px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.osg-sheet-h{font:700 12px/1.3 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#C6FF3D;padding-inline-end:52px;margin:0}
.osg-x{position:absolute;top:10px;inset-inline-end:10px;min-width:44px;min-height:44px;margin:0;background:transparent;border:1px solid #1D2530;border-radius:0;color:#EAFBF3;font:400 22px/1 Inter,sans-serif;cursor:pointer}
.osg-x:focus-visible{outline:2px solid #EAFBF3}

@media (max-width:760px){
  .osg{flex-direction:column;align-items:stretch}
  .osg-ring,.osg-panel .osg-ring{align-self:center;width:136px;height:136px}
  .osg-fab{inset-inline-end:14px;bottom:calc(14px + var(--lxv-b,0px) + env(safe-area-inset-bottom,0px));padding:0 14px;font-size:13px}
  .osg-ov{align-items:flex-end;padding:0}
  .osg-sheet{width:100%;max-height:92vh;clip-path:none;border-width:2px 0 0;border-top-color:#E9B85C;padding:16px 16px calc(18px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.osg-ring.is-idle{animation:none}.osg-done{animation:none}.osg-fab{transition:none}}
[dir="rtl"] .osg,.osg[dir="rtl"]{font-family:'IBM Plex Sans Arabic',Inter,system-ui,sans-serif}
