/* CounterLab v0.15: shared presentation primitives; no game model rules. */
:root{--cl-bg:#0c121a;--cl-panel:#141d28;--cl-line:#344355;--cl-text:#eef2f6;--cl-muted:#b0bdca;--cl-accent:#c6a5ef;--cl-radius:12px}
html{scroll-padding-top:100px}body{font-size:16px}*,*::before,*::after{box-sizing:border-box}
button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b69aff!important;outline-offset:3px}
.clHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;margin:0 0 16px;border-bottom:1px solid var(--cl-line);color:var(--cl-text)}
.clBrand{color:inherit;text-decoration:none;font-size:20px;font-weight:850;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.clBrand i{font-style:normal;color:var(--cl-accent);font-size:24px}
.clSwitcher{position:relative;z-index:100}.clSwitcher summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:center;background:var(--cl-panel);border:1px solid var(--cl-line);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:700;min-height:44px}.clSwitcher summary::after{content:'⌄';color:var(--cl-accent)}.clSwitcher summary::-webkit-details-marker{display:none}
.clGameMenu{position:absolute;top:calc(100% + 8px);right:0;width:280px;padding:8px;background:var(--cl-bg);border:1px solid var(--cl-line);border-radius:12px;box-shadow:0 12px 40px #0008}.clGameMenu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;color:var(--cl-text);text-decoration:none;border-radius:8px;font-size:14px}.clGameMenu a:hover,.clGameMenu a[aria-current]{background:var(--cl-panel)}.clGameMenu small{font-size:12px;color:var(--cl-muted)}
.clButton{border:1px solid var(--cl-line);background:var(--cl-panel);border-radius:8px;color:var(--cl-text);padding:10px 14px;cursor:pointer;min-height:44px;font-size:14px;font-weight:700}.clButton:hover{border-color:var(--cl-accent)}
.clTools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.clStatus{color:var(--cl-muted);font-size:13px;line-height:1.5}.clNotice{border-left:3px solid var(--cl-accent);padding:12px 16px;background:var(--cl-panel);color:var(--cl-text);line-height:1.55;font-size:14px}
.clToast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:99999;max-width:calc(100% - 32px);border:1px solid var(--cl-line);border-radius:10px;background:var(--cl-bg);color:var(--cl-text);box-shadow:0 8px 30px #0008;padding:12px 18px;font-size:14px}.clToast:empty{display:none}
.clCopyFallback{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);z-index:99999;background:var(--cl-bg);padding:16px;border:1px solid var(--cl-line);border-radius:12px;width:min(480px,calc(100% - 32px));color:var(--cl-text)}.clCopyFallback textarea{width:100%;min-height:90px;margin:10px 0;color:var(--cl-text);background:var(--cl-panel)}
[hidden]{display:none!important}button,select{transition:background-color .15s,border-color .15s}small{line-height:1.45}
@media(max-width:600px){.clHeader{gap:8px;padding:12px 0}.clBrand{font-size:18px}.clSwitcher summary{padding:9px 10px}.clGameMenu{width:min(280px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
