/* Contra tokens are scoped; global MOBSIK navigation remains the shared shell. */
#contra{--contra-accent:#e7a05a;--contra-ink:#f3edda;--contra-muted:#c1c7b7;--contra-surface:#18231e;max-width:1280px;margin:auto;padding:24px 32px 64px;color:var(--contra-ink)}
#contra .button{min-height:48px;border-radius:8px;font-weight:700;padding:14px 22px;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;cursor:pointer;border:1px solid #53604d;transition:background .15s,transform .15s}#contra .button.primary{background:var(--contra-accent);color:#172018;border-color:var(--contra-accent)}#contra .button.secondary{background:#25372b;color:var(--contra-ink)}#contra .button:hover{filter:brightness(1.12)}#contra .button:active{transform:translateY(1px)}#contra :focus-visible{outline:3px solid #f3edda;outline-offset:3px}#contra button:disabled{opacity:.55;cursor:wait}
#contra .contra-subnav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;font-size:14px}#contra a{color:inherit}#contra .eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#e7b175;margin:0 0 18px}#contra .hero{position:relative;min-height:560px;display:grid;align-items:center;padding:48px;border-radius:16px;overflow:hidden;isolation:isolate;background:#0b1715}#contra .hero picture,#contra .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}#contra .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071714aa,transparent 65%),linear-gradient(0deg,#09130e66,transparent 25%);z-index:-1}#contra .hero-copy{width:52%;max-width:590px}#contra h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(68px,7.5vw,110px);font-style:italic;letter-spacing:.025em;line-height:.98;color:#ed713d;-webkit-text-stroke:1px #e1c3a2;text-shadow:3px 4px #172518;margin:0 0 24px}#contra .slogan{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(30px,3.5vw,48px);text-transform:uppercase;line-height:1.05;letter-spacing:.02em;margin:0 0 18px}#contra .intro{font-size:17px;line-height:1.6;max-width:370px;color:#e0e2d3}#contra .mode-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}#contra .mode-pills span{border:1px solid #8b9a7355;background:#12251ccd;color:#e9e7d0;font-size:12px;padding:7px 10px;border-radius:5px}#contra .entry-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0 20px;padding:26px;background:var(--contra-surface);border-radius:12px;border:1px solid #53604d55}#contra h2{font-size:28px;line-height:1.2;margin:0 0 10px}#contra h3{font-size:19px;margin:0 0 10px}#contra p{line-height:1.65}#contra .entry-panel p{color:var(--contra-muted);margin:0;max-width:570px;font-size:14px}#contra .actions{display:flex;flex-wrap:wrap;gap:12px}#contra .entry-panel .actions{flex:0 0 260px;display:grid}#contra .catalog-link{font-size:14px;text-align:center;padding:7px}#contra .notice{color:var(--contra-muted);font-size:13px;border-left:2px solid #aa8c5d;padding:4px 14px;margin:22px 0}#contra .section{margin-top:50px}#contra .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}#contra .step,#contra .guide-card{padding:24px;background:#15241e;border:1px solid #52644c55;border-radius:10px}#contra .step span{display:block;color:#e6a76c;font-family:monospace;font-size:26px;margin-bottom:20px}#contra .step p,#contra .guide-card p{color:var(--contra-muted);font-size:15px;margin:0}#contra .guide-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}#contra .skins-panel{display:grid;grid-template-columns:1fr 220px;align-items:center;gap:25px;padding:32px;border-radius:12px;background:linear-gradient(110deg,#25392b,#17251e);border:1px solid #53604d88}#contra .skins-panel img{width:170px;height:185px;object-fit:contain;justify-self:center;image-rendering:pixelated}#contra .skins-panel p{color:var(--contra-muted);max-width:650px}#contra details{border-bottom:1px solid #53604d66;padding:18px 0}#contra summary{font-size:17px;cursor:pointer;min-height:32px}#contra details p{color:var(--contra-muted);max-width:850px}#contra .rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}#contra .room-card{padding:22px;background:#18291f;border:1px solid #53604d88;border-radius:10px;display:grid;gap:12px;min-width:0}#contra .room-card h3{overflow-wrap:anywhere}#contra .room-card p{margin:0;color:var(--contra-muted)}#contra #room-list-status{color:var(--contra-muted)}#contra [hidden]{display:none!important}
#contra dialog{color:var(--contra-ink);background:#15221c;border:1px solid #69795c;border-radius:14px;padding:0;width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 32px);box-shadow:0 30px 120px #000a}#contra dialog::backdrop{background:#030a08c9;backdrop-filter:blur(5px)}#contra .dialog-body{padding:26px;display:grid;gap:16px}#contra .dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}#contra .dialog-head h2{margin:0;font-size:25px}#contra .close-modal{border:0;background:#304334;color:var(--contra-ink);border-radius:6px;font-size:26px;min-width:48px;min-height:48px;cursor:pointer}#contra label{display:grid;gap:7px;font-size:14px;color:#d6dcc9}#contra input,#contra select{font:inherit;font-size:16px;color:#f5f1dc;background:#0c1913;border:1px solid #65765a;border-radius:7px;padding:13px;width:100%;min-height:48px;box-sizing:border-box}#contra .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}#contra .form-error{color:#ffd0a1;min-height:20px;margin:0;font-size:14px}#contra .hint{font-size:13px;color:var(--contra-muted);margin:0}#contra .room-identity{font-family:monospace;font-size:27px;letter-spacing:.09em;margin:0}#contra .share-area{display:flex;align-items:center;gap:22px}#contra .qr-box{background:white;padding:12px;border-radius:8px;flex-shrink:0}#contra .qr-box canvas,#contra .qr-box img{display:block;width:132px;height:132px}#contra .room-actions{display:grid;gap:12px}#contra .dialog-brand{border-top:1px solid #53604d66;padding-top:14px;display:flex;justify-content:space-between;font-size:12px;gap:10px}#contra .dialog-brand a{color:#a7b89e}#contra .danger{color:#ffba93!important}
@media(max-width:1100px){#contra{padding:20px 24px 64px}#contra .hero{min-height:560px;padding:34px}#contra .hero-copy{width:50%}#contra .hero img{object-position:center}#contra .entry-panel{align-items:stretch}}
@media(max-width:760px){#contra{padding:16px 16px 86px}#contra .hero{padding:28px 24px;min-height:680px;align-items:start}#contra .hero-copy{width:100%}#contra .hero:after{background:linear-gradient(180deg,#06181260,transparent 60%)}#contra h1{font-size:76px;margin-bottom:14px}#contra .slogan{font-size:34px}#contra .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:16px}#contra .intro{display:none}#contra .mode-pills{margin-top:16px;max-width:280px}#contra .mode-pills span{font-size:10px;background:#12251caa}#contra .entry-panel{display:block;padding:22px}#contra .entry-panel .actions{display:grid;grid-template-columns:1fr;margin-top:20px}#contra h2{font-size:25px}#contra .steps,#contra .guide-row,#contra .rooms-grid{grid-template-columns:1fr}#contra .section{margin-top:36px}#contra .step{display:grid;grid-template-columns:35px 1fr;gap:6px 12px}#contra .step span{grid-row:1/3;margin:0;font-size:22px}#contra .step h3{margin:0}#contra .step p{grid-column:2}#contra .skins-panel{grid-template-columns:1fr;padding:24px;gap:8px}#contra .skins-panel img{grid-row:1;width:130px;height:150px}#contra .contra-subnav{font-size:12px}#contra .dialog-body{padding:20px}#contra .field-row{grid-template-columns:1fr}#contra .dialog-brand{flex-wrap:wrap}#contra .share-area{gap:14px}#contra .qr-box{padding:10px}#contra .qr-box canvas{width:112px;height:112px}}
@media(prefers-reduced-motion:reduce){#contra *{transition:none!important}}

/* Shared guide buttons have legacy min-heights; game controls use consistent targets. */
#contra button.button{min-height:48px;height:auto;line-height:1.3}#contra .share-area .button{padding:12px;font-size:13px}#contra .room-actions .button{min-height:52px}
@media(max-width:760px){#contra .share-area{align-items:center}#contra .share-area h3{font-size:17px}#contra .share-area .hint{font-size:12px;line-height:1.5}#contra .dialog-body{gap:12px}#contra .room-identity{font-size:24px}#contra .room-actions p:empty{display:none}#contra #room-dialog .actions .button{flex:1;padding:12px 10px;font-size:13px}}

@media(max-width:760px){#contra .hero{min-height:540px}#contra .entry-panel{display:flex;flex-direction:column;gap:22px}#contra .entry-panel .actions{order:-1;flex:auto;width:100%;margin-top:0}}
