/* Shared Input Lab components provide the site identity; these rules arrange tool content. */
body[data-random-tools] { color-scheme:dark; user-select:text; -webkit-user-select:text; }
body[data-random-tools] main { padding:24px max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left)); }
body[data-random-tools] > nav { padding-inline-start:max(5%,env(safe-area-inset-left)); padding-inline-end:max(5%,env(safe-area-inset-right)); padding-top:max(1rem,env(safe-area-inset-top)); }
.random-page { width:min(100%,900px); max-width:900px; padding:0; display:block; text-align:start; }
.random-back { display:inline-flex; align-items:center; gap:10px; font-size:.9rem; text-decoration:none; }
.random-hero { margin:0 0 24px; padding:18px 24px; }
.random-hero h1 { margin:10px 0 0; font-size:clamp(2.25rem,6vw,4rem); line-height:1.08; }
.random-hero > p { max-width:65ch; margin:10px auto 0; color:var(--lab-text); font-size:1rem; line-height:1.55; }
.random-page a { color:var(--accent-cyan); text-underline-offset:.22em; }
.random-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); border-color:rgba(0,240,255,.24); }
.random-controls { padding:22px; display:flex; flex-direction:column; gap:14px; align-self:start; }
.random-range { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.random-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.random-field label,.random-check { font-weight:500; color:var(--text-main); font-size:.95rem; }
.random-label-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:4px 12px; }
.random-page input:not([type="checkbox"]),.random-page textarea { box-sizing:border-box; width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid var(--lab-border); border-radius:7px; font:400 1rem var(--font-main,'Outfit',sans-serif); color:var(--text-bright); background:var(--glass); caret-color:var(--accent-cyan); user-select:text; -webkit-user-select:text; }
.random-page textarea { min-height:118px; resize:vertical; line-height:1.5; }
.random-page textarea::placeholder { color:var(--text-muted); opacity:1; }
.random-page [aria-invalid="true"] { border-color:#ffb7bd; }
.random-check { display:flex; gap:10px; align-items:center; min-height:44px; cursor:pointer; }
.random-check input { width:19px; height:19px; accent-color:var(--accent-cyan); }
.random-help { font-size:.82rem; color:var(--text-main); line-height:1.5; margin:0; }
.random-privacy { max-width:75ch; margin:12px 0 0; }
.random-page button { min-height:44px; padding:10px 14px; border-radius:12px; font:700 .9rem var(--font-main); cursor:pointer; touch-action:manipulation; user-select:none; -webkit-user-select:none; }
.random-page button:not(.random-submit) { border:1px solid var(--lab-hairline); color:var(--text-main); background:var(--lab-raised); }
@media (hover:hover) and (pointer:fine) { .random-page button:not(.random-submit):hover:not(:disabled) { background:var(--lab-raised-hover); } }
.random-page button:disabled { opacity:.5; cursor:default; }
.random-page .random-submit { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:48px; }

.random-page .random-text-button { border:0; background:none; color:var(--accent-cyan); padding:4px 0; min-height:36px; font-size:.82rem; text-decoration:underline; text-underline-offset:.2em; }
body[data-random-tools] :focus-visible { outline:3px solid var(--accent-cyan); outline-offset:3px; }
body[data-random-tools] ::selection { background:var(--accent-cyan); color:var(--bg-deep); }
.random-result { padding:26px; background:var(--lab-raised); min-width:0; display:flex; flex-direction:column; }
.random-result h2 { margin:0; font:500 1rem var(--font-main,'Outfit',sans-serif); color:var(--text-muted); }
.random-output { min-height:120px; display:flex; flex-direction:column; justify-content:center; flex:1; margin:12px 0; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; user-select:text; -webkit-user-select:text; }
.random-placeholder { color:var(--text-muted); line-height:1.65; margin:0; }
.random-number-list { display:flex; flex-wrap:wrap; gap:10px; max-height:360px; overflow:auto; scrollbar-color:var(--text-muted) var(--lab-raised); }
.random-number { font-size:1.4rem; padding:6px 10px; background:var(--lab-raised); border-radius:6px; }
.random-number:only-child { font-size:clamp(3rem,6vw,4.5rem); padding:0; background:transparent; color:var(--text-bright); }
.random-coin,.random-total { font:500 clamp(3rem,7vw,5rem)/1.15 var(--font-heading,'Teko',sans-serif); color:var(--text-bright); margin:8px 0; }
.random-coin-preview { display:flex; align-items:baseline; gap:12px; color:var(--text-muted); font:500 2.5rem/1.2 var(--font-heading,'Teko',sans-serif); padding:6px 0; }
.random-coin-preview span:nth-child(2) { color:var(--text-muted); font-size:1.5rem; }
.random-dice { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; max-height:260px; overflow:auto; }
.random-dice li { display:grid; place-items:center; min-width:42px; min-height:42px; padding:6px; border:1px solid var(--text-muted); border-radius:7px; font-size:1.2rem; }
.random-result-footer { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.random-result-footer button { display:inline-flex; align-items:center; gap:8px; }
#result-summary,#copy-status { color:var(--text-muted); line-height:1.5; font-size:.85rem; }
#result-summary { margin:0 0 14px; }
#result-summary:empty { display:none; }
#random-error { color:#ffb7bd; margin:0; line-height:1.5; }
#random-error:empty,#copy-status:empty { display:none; }
.random-presets { display:flex; flex-wrap:wrap; gap:6px; }
.random-presets button { padding:7px 10px; font-size:.85rem; }
.random-presets button[aria-pressed="true"] { border-color:var(--accent-cyan); color:var(--accent-cyan); }
.random-options summary,.random-history summary { cursor:pointer; padding:6px 0; color:var(--text-muted); }
.random-options > div { padding-top:12px; }
.random-history { margin-top:20px; }
.random-history ol { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }
.random-history li { background:var(--lab-raised); padding:6px 10px; border-radius:6px; }
.random-teams { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:22px; max-height:440px; overflow:auto; scrollbar-color:var(--text-muted) var(--lab-raised); }
.random-team h3 { font-size:1rem; margin:0 0 8px; color:var(--accent-cyan); }
.random-team ul { padding-inline-start:20px; margin:0; line-height:1.7; }
.random-article { max-width:72ch; margin:44px 0 32px; line-height:1.75; color:var(--text-muted); }
.random-article h2 { font:500 1.6rem/1.2 var(--font-heading,'Teko',sans-serif); margin:28px 0 10px; color:var(--text-bright); }
.random-article p { margin:0 0 16px; }
.random-faq details { border-bottom:1px solid var(--glass-border); padding:14px 0; }
.random-faq summary { cursor:pointer; color:var(--text-main); line-height:1.5; }
.random-faq details p { margin:12px 0 0; }
body[data-random-tools] .random-related { background:none; backdrop-filter:none; box-shadow:none; position:static; display:flex; justify-content:flex-start; flex-wrap:wrap; gap:12px 24px; padding:24px 0 0; border-top:1px solid var(--glass-border); border-bottom:0; font-size:.9rem; }
body[data-random-tools] .side-drawer { height:100dvh; max-width:calc(100vw - 24px); padding-bottom:max(20px,env(safe-area-inset-bottom)); }
body[data-random-tools] .drawer-nav-compact { overscroll-behavior:contain; }
body[data-random-tools] footer { margin-top:0; }
body[data-random-tools] .random-related::before { content:none; }
body[data-random-tools] .modal-box { max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
body[data-random-tools] #lang-modal { padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
body[data-random-tools] .lang-option { min-height:48px; display:flex; align-items:center; justify-content:center; }
body[data-random-tools] button,body[data-random-tools] a,body[data-random-tools] summary { touch-action:manipulation; }
body[data-random-tools] input,body[data-random-tools] textarea { font-size:16px; }
@media (hover:none) { body[data-random-tools] .lab-btn:hover { transform:none; } body[data-random-tools] .nav-icon-btn:hover { transform:none; } }
.random-page button:active:not(:disabled) { filter:brightness(.9); }
body[data-random-tools] .nav-icon-btn,body[data-random-tools] .close-btn { min-width:44px; min-height:44px; }
.random-page button.random-text-button { border:0; background:none; color:var(--accent-cyan); padding:4px 0; min-height:44px; }
[dir="rtl"] .random-back i,[dir="rtl"] .random-submit i { transform:rotate(180deg); }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:680px) {
 body[data-random-tools] main { padding:18px 16px 36px; }
 .random-workspace { grid-template-columns:minmax(0,1fr); }
 .random-hero { margin:0 0 18px; padding:16px; }
 .random-hero h1 { font-size:clamp(1.8rem,7vw,2.45rem); overflow-wrap:anywhere; }
 .random-hero > p { font-size:.94rem; line-height:1.5; }
 .random-controls,.random-result { padding:20px; }
 .random-controls { gap:12px; }
 .random-output { min-height:70px; }
 .random-result { border-top:1px solid var(--glass-border); }
 .random-article { margin-top:32px; }
}
@media (prefers-reduced-motion:reduce) { body[data-random-tools] .side-drawer { transition:none; } }

@media(max-width:360px) { .random-controls,.random-result { padding:16px; } .random-range { gap:10px; } .random-field label { font-size:.87rem; } }
