* { box-sizing: border-box; }
html,body { margin:0; min-height:100%; background:#0c1c2a; }
button,input { font:inherit; }
button { border:2px solid transparent; border-radius:11px; padding:10px 14px; font-weight:700; cursor:pointer; }
button:disabled { opacity:.52; cursor:default; }
button:focus-visible,input:focus-visible { outline:3px solid #ffe686; outline-offset:3px; }
[hidden] { display:none !important; }
h1,h2,p { margin-top:0; }
.reclaim-shell { position: fixed; inset: 0; z-index: 30; overflow: auto; background: radial-gradient(circle at 90% 10%,#234058,#0c1c2a 65%); color: #f5eddc; font-family: 'Yu Gothic',Meiryo,sans-serif; }
.reclaim-shell button { touch-action: manipulation; }
.reclaim-shell .rc-page { width: min(100%, 1020px); min-height: 100dvh; margin: auto; padding: max(10px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 10px; }
.rc-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rc-top h1 { font-size: clamp(18px,3vw,27px); color: #fff2d5; }
.rc-top button,.rc-actions button,.rc-tile button,.rc-pause button { min-height: 44px; }
.rc-kicker { color: #93d9f8; font-size: 13px; font-weight: bold; letter-spacing: .1em; }
.rc-hero,.rc-card { border: 2px solid #4a7180; border-radius: 18px; background: linear-gradient(145deg,#214252,#102734); padding: 18px; box-shadow: inset 0 1px #ffffff28,0 8px 22px #0005; }
.rc-hero { position: relative; min-height: 310px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(0deg,#0e2634 8%,#153b56ae 60%,#244b6d88),url('assets/reclaim-harbor-sunset.png') center/cover; }
.rc-hero::after { content: ''; position:absolute; right: 2%; bottom: 0; width: 34%; height: 100%; background: var(--hero-robot,url('assets/reclaim-robot-1.png')) center bottom/contain no-repeat; filter: drop-shadow(0 8px 8px #0009); pointer-events:none; }
.rc-hero h2 { position: relative; z-index: 1; font-size: clamp(29px,7vw,58px); color:#fff4d5; text-shadow: 0 3px 8px #07131e; max-width: 70%; }
.rc-hero p { position: relative; z-index: 1; max-width: 65%; font-weight: bold; text-shadow: 0 2px 5px #07131e; }
.rc-actions { display:flex; flex-wrap:wrap; gap:8px; }
.rc-actions button { flex:1 1 135px; }
.reclaim-shell .rc-primary { background:#ffbf54; color:#182838; border-color:#ffdf9c; }
.reclaim-shell .rc-secondary { background:#214657; color:#e6f7ff; border-color:#658d9a; }
.rc-card h2 { color:#ffe1a0; font-size:clamp(20px,4vw,29px); margin-bottom:8px; }
.rc-card p { margin:6px 0; }
.rc-magnet-icon { display:inline-grid; place-items:center; width:1.55em; height:1.55em; border:2px solid #8deaff; border-radius:50%; background:#0d5169; box-shadow:0 0 14px #50dfff88; vertical-align:middle; }
.rc-map { position:relative; min-height:300px; border-radius:14px; border:2px solid #536d77; overflow:hidden; background: linear-gradient(#102b3b55,#102b3b99),url('assets/town-stages-v2.png') 0 0/300% 200% no-repeat; }
.rc-map::before { content:'';position:absolute;inset:0;background: linear-gradient(34deg,transparent 45%,#d3ae76 46%,#d3ae76 48%,transparent 49%),linear-gradient(-22deg,transparent 47%,#d3ae76 48%,#d3ae76 50%,transparent 51%);opacity:.55; }
.rc-map[data-lit="true"] { background-position:center,100% 100%; box-shadow: inset 0 0 55px #42baff55; }
.rc-map[data-lit="true"]::after { content:'✦ ✦ ✦ ✦ ✦';position:absolute;left:12%;bottom:12%;color:#ffdb85;text-shadow:0 0 13px #fff;letter-spacing:2em;animation:rc-glow 2s ease-in-out infinite alternate; }
@keyframes rc-glow { from { opacity:.4 } to { opacity:1 } }
.rc-node { position:absolute; z-index:1; width:clamp(92px,20vw,155px); min-height:72px; padding:7px; border-radius:16px; border:3px solid #ff756d; background:#6b262c; color:#fff; box-shadow:0 7px 0 #112934,0 0 18px #dc4b4b88; text-align:center; font-size:14px; font-weight:bold; }
.rc-node small { display:block; color:#fff5d0; font-size:11px; }
.rc-node[data-owned="true"] { background:#155e7e;border-color:#7bd6f8;box-shadow:0 7px 0 #112934,0 0 20px #78c9fc99; }
.rc-node:disabled { opacity:.7; cursor:default; }
.rc-node:first-child { left:8%;bottom:16%; }.rc-node:nth-child(2) { left:48%;top:12%; }.rc-node:nth-child(3) { right:5%;bottom:10%; }
.rc-workbench { display:grid; grid-template-columns: minmax(130px,1fr) 1.3fr; gap:12px; align-items:center; }
.rc-factory { background:linear-gradient(90deg,#111b28ac,#2a202aa8),url('assets/reclaim-workshop.png') center/cover no-repeat; }
.rc-factory .rc-workbench { background:linear-gradient(125deg,#48372b,#2b292f 55%,#173343); border-color:#c29459; }
.rc-factory .rc-workbench h2 { color:#ffe3ae; }
.rc-resource { display:inline-block; padding:8px 13px; border:1px solid #c39159; border-radius:12px; background:#241f21; color:#ffe4ab; font-size:clamp(17px,3vw,22px); }
.rc-resource strong { color:#fff; }
.rc-resource span { padding:0 10px; color:#bfa993; }
.rc-upgrades { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; }
.rc-upgrades button { min-height:64px; line-height:1.3; }
.rc-upgrades small { display:block; font-size:11px; }
.rc-modules { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.rc-module { display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid #6d8990;border-radius:11px;background:#183341; }
.rc-module strong { color:#ffdc9a; }
.rc-module small { flex:1;color:#d4e9eb; }
.rc-module button { min-height:42px;padding:5px; }
.rc-evolution { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.rc-evolution>div { display:grid; place-items:center; gap:3px; min-width:0; padding:8px; border:1px solid #8d795d; border-radius:14px; background:linear-gradient(#3b3432,#202e37); font-weight:bold; text-align:center; }
.rc-evolution small { color:#f8cf8a; }
.rc-mini { display:block; width:100px; max-width:90%; aspect-ratio:1; background:url('assets/reclaim-robot-1.png') center/contain no-repeat; filter:drop-shadow(0 5px 5px #0009); }
.rc-mini[data-rank="2"] { background-image:url('assets/reclaim-robot-2.png'); }.rc-mini[data-rank="3"] { background-image:url('assets/reclaim-robot-3.png'); }
.rc-robot-preview { position:relative; min-height:210px; border:2px solid #52768a; border-radius:15px; background: radial-gradient(circle at 50% 75%,#426879,#152d3a 70%); display:grid;place-items:center; }
.rc-robot-preview .rc-sprite { width:min(95%,280px); aspect-ratio:1; background:url('assets/reclaim-robot-1.png') center/contain no-repeat;filter:drop-shadow(0 8px 5px #0008); }
.rc-robot-preview[data-tier="2"] .rc-sprite,.rc-robot-preview[data-armor="2"] .rc-sprite,.rc-robot-preview[data-armor="3"] .rc-sprite { background-image:url('assets/reclaim-robot-2.png'); }
.rc-robot-preview[data-tier="3"] .rc-sprite,.rc-robot-preview[data-armor="4"] .rc-sprite,.rc-robot-preview[data-armor="5"] .rc-sprite { background-image:url('assets/reclaim-robot-3.png'); }
.rc-robot-preview .rc-gun { position:absolute; bottom:29%;left:53%;width:20%;height:9px;background:#323b41;border:2px solid #ffbc47;border-radius:4px;transform:rotate(-10deg); }
.rc-robot-preview[data-tier="2"] .rc-gun { width:27%;height:15px; }.rc-robot-preview[data-tier="3"] .rc-gun { width:32%;height:20px;box-shadow:0 -9px #323b41,0 9px #323b41; }
.rc-stage { display:flex; flex-direction:column; min-height:0; gap:6px; }
.rc-hud { display:grid; grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;font-size:clamp(11px,2.7vw,16px);font-weight:bold; }
.rc-hud span { padding:4px 6px; border-radius:7px; background:#204458; text-align:center; }
.rc-hud progress { display:block;width:100%;height:8px;accent-color:#67cbff; }
.rc-arena { position:relative; border:3px solid #7696a1; border-radius:12px; overflow:hidden; background:#29455b; }
.rc-arena canvas { width:100%;height:auto;aspect-ratio:16/9;display:block; }
.rc-banner { position:absolute;left:50%;top:8%;transform:translateX(-50%);width:max-content;max-width:92%;padding:6px 12px;border:2px solid #ffe09a;border-radius:10px;background:#163147e8;color:#fff3cb;text-align:center;font-weight:bold;pointer-events:none;font-size:clamp(11px,2.8vw,18px); }
.rc-magnet-status { position:absolute;left:8px;bottom:8px;padding:4px 8px;border:1px solid #8eeaff;border-radius:8px;background:#123d54e8;color:#e1faff;font-size:clamp(11px,2vw,14px);font-weight:bold;pointer-events:none;box-shadow:0 0 12px #57dfff88; }
.rc-combo-status { position:absolute;right:8px;bottom:8px;padding:4px 8px;border:1px solid #ffe09a;border-radius:8px;background:#554021e8;color:#fff1c8;font-size:clamp(11px,2vw,14px);font-weight:bold;pointer-events:none;box-shadow:0 0 12px #ffca6788; }
.rc-controls { display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:112px; }
.rc-pad { display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,50px);gap:3px; }
.rc-pad button { min-width:48px;min-height:48px;padding:0;border-radius:12px;background:#2e687e;color:white;border:2px solid #83c8dc;font-size:23px;touch-action:none; }
.rc-pad [data-dir="up"] { grid-column:2; }.rc-pad [data-dir="left"] {grid-column:1;grid-row:2}.rc-pad [data-dir="down"] {grid-column:2;grid-row:2}.rc-pad [data-dir="right"] {grid-column:3;grid-row:2}
.rc-fire { width:112px;height:112px;border-radius:50%;border:5px solid #ffdfaa;background:radial-gradient(circle at 35% 25%,#ffb868,#bc3c31);color:#fff;font-size:19px;text-shadow:0 2px #642823;box-shadow:0 6px 0 #682b2e;touch-action:none; }
.rc-fire[data-active="true"] { border-color:#b0f3ff;background:radial-gradient(circle at 35% 25%,#5edfff,#176e9a);text-shadow:0 2px #17435c;box-shadow:0 0 22px #5ce5ff,0 5px 0 #17465b; }
.rc-special { width:88px;min-height:72px;border:3px solid #a9f0ff;border-radius:18px;background:linear-gradient(#277f9d,#173d6c);color:white;font-size:15px;font-weight:bold;box-shadow:0 4px 0 #143449;touch-action:manipulation; }
.rc-special small { display:block;font-size:11px; }
.rc-special:disabled { opacity:.55;filter:saturate(.55); }
.rc-pad[data-hint="true"] button,.rc-fire[data-hint="true"] { outline:4px solid #ffed83; outline-offset:3px; box-shadow:0 0 20px #fff08f; }
.rc-help { color:#c4e5ef;font-size:12px;text-align:center; }
.rc-pause { position:fixed;z-index:40;inset:0;background:#071724e8;display:grid;place-items:center;padding:18px;overflow:auto; }
.rc-pause .rc-card { max-width:420px;width:100%;max-height:calc(100dvh - 36px);overflow:auto; }
.rc-level { color:#f9e39b; font-weight:bold; }
.rc-puzzle-page { max-width:520px; }
.rc-puzzle-classic { padding:12px; border:1px solid #d3dfdc; border-radius:14px; background:#fff; color:#253633; box-shadow:0 8px 22px #0004; }
.rc-old-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.rc-old-heading h2 { font-size:clamp(19px,4vw,24px); margin:0; }
.rc-old-heading p { font-size:15px; margin:3px 0 0; }
.rc-old-next { min-width:76px; text-align:center; border-radius:8px; background:#f1f5f5; padding:4px; font-size:13px; }
.rc-old-next .rc-old-sprite { display:block; width:42px; height:42px; margin:2px auto; }
.rc-old-sprite { display:inline-block; flex:none; width:44px; height:44px; background-image:url('assets/game-sprites.png'); background-size:300% 300%; background-repeat:no-repeat; }
.rc-old-gear { background-position:0 0; }.rc-old-armor { background-position:50% 0; }.rc-old-battery { background-position:100% 0; }
.rc-puzzle-intro { max-width:760px; }
.rc-puzzle-guide { text-align:center; }
.rc-puzzle-guide h2 { margin-bottom:6px; }
.rc-puzzle-example { display:flex; align-items:center; justify-content:center; gap:8px; margin:8px auto; }
.rc-puzzle-example strong { color:#ffdc8c; margin-left:8px; }
.rc-puzzle-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; padding:0; list-style:none; }
.rc-puzzle-steps li { display:flex; flex-direction:column; gap:5px; padding:12px; border:1px solid #5d8290; border-radius:12px; background:#173543; line-height:1.5; }
.rc-puzzle-steps strong { color:#ffdc8c; }
.rc-puzzle-limit,.rc-puzzle-repair { margin:0; padding:9px 12px; border-radius:10px; background:#263f4c; line-height:1.5; }
.rc-puzzle-repair { border:1px solid #f1b764; color:#ffe1a0; }
.rc-old-obstacle { background:none; }
.rc-old-counts { display:flex; justify-content:space-between; gap:5px; margin:8px 0; font-size:15px; }
.rc-old-counts b { font-size:18px; }
.rc-old-goal { margin:6px 0; padding:7px 9px; border-radius:8px; background:#e4f4ed; color:#214d40; font-weight:bold; font-size:14px; }
.rc-old-meter { margin:8px 0 13px; font-size:14px; }
.rc-old-meter>div:first-child { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:7px; }
.rc-old-meter strong { color:#25605b; }.rc-old-meter[data-level="warning"] strong { color:#875214; }.rc-old-meter[data-level="collapse"] strong { color:#a52b23; }
.rc-old-track { position:relative; height:8px; border-radius:6px; background:linear-gradient(to right,#ae4135 0% 10%,#e5b15e 10% 25%,#82b7ad 25% 75%,#e5b15e 75% 90%,#ae4135 90%); }
.rc-old-track::after { content:''; position:absolute; left:50%; top:-3px; height:14px; border-left:1px solid #fff; }
.rc-old-track i { position:absolute; top:-4px; width:10px; height:16px; border:1px solid #fff; border-radius:3px; background:#253633; transform:translateX(-50%); }
.rc-old-board { --piece-step:44px; position:relative; height:350px; overflow:hidden; border:1px solid #99aeb8; border-radius:12px; background:linear-gradient(130deg,#cfdee7,#86a1b3); box-shadow:inset 0 0 20px #425b6c25; }
.rc-old-column { position:absolute; z-index:1; top:18px; bottom:92px; width:14.2857%; min-height:0; padding:0; border:0; border-left:1px dashed #eff6fa72; border-radius:0; background:transparent; }
.rc-old-column.selected { background:#f9dc9340; border:2px dashed #ad762a; border-bottom:0; border-radius:7px 7px 0 0; }
.rc-old-column span { position:absolute; top:4px; left:50%; transform:translateX(-50%); color:#253633; font-size:15px; }
.rc-old-column:disabled { opacity:1; }
.rc-old-beam { position:absolute; z-index:2; bottom:92px; left:4%; width:92%; height:1px; transform-origin:center; transition:transform .28s ease-out; pointer-events:none; }
.rc-old-art { position:absolute; display:block; }
.rc-old-beam-art { top:-15px; left:0; width:100%; height:30px; }
.rc-old-pivot { bottom:9px; left:50%; width:100px; height:100px; transform:translateX(-50%); }
.rc-old-piece { position:absolute; width:14.2857%; max-width:48px; aspect-ratio:1; transform:translateX(-50%); }
.rc-old-piece .rc-old-sprite { display:block; width:100%; height:100%; }
.rc-old-piece.rc-old-motion { z-index:3; animation:rc-piece-roll .44s ease-in-out both; }
.rc-old-piece.rc-old-motion.drop { animation-name:rc-piece-drop; }
.rc-old-piece.rc-old-motion.spill { animation:rc-piece-spill .82s ease-in both; }
.rc-old-piece.tumbling { animation:rc-piece-tumble 1.05s ease-in var(--fall-delay) both; }
@keyframes rc-piece-roll { from { transform:translateX(-50%) rotate(0); } to { left:var(--to-left); bottom:var(--to-bottom); transform:translateX(-50%) rotate(135deg); } }
@keyframes rc-piece-drop { from { opacity:.85; transform:translateX(-50%) rotate(-15deg) scale(.85); } to { left:var(--to-left); bottom:var(--to-bottom); opacity:1; transform:translateX(-50%) rotate(0) scale(1); } }
@keyframes rc-piece-spill { 0% { opacity:1; transform:translateX(-50%) rotate(0); } 65% { opacity:1; } 100% { left:var(--to-left); bottom:var(--to-bottom); opacity:0; transform:translateX(-50%) rotate(300deg); } }
@keyframes rc-piece-tumble { 0% { opacity:1; } 55% { left:var(--fall-left); bottom:20px; transform:translateX(-50%) rotate(70deg); opacity:1; } 100% { left:var(--exit-left); bottom:-180px; transform:translateX(-50%) rotate(150deg); opacity:0; } }
.rc-old-beam.rocking { animation:rc-seesaw-rock .6s ease-out both; }
@keyframes rc-seesaw-rock { 0% { transform:rotate(var(--from-angle)); } 55% { transform:rotate(var(--overshoot-angle)); } 100% { transform:rotate(var(--to-angle)); } }
.rc-old-floor { position:absolute; bottom:14px; left:5%; right:5%; height:2px; background:#566d76; }
.rc-old-collapse-label { position:absolute; z-index:4; top:39px; left:50%; transform:translateX(-50%); padding:7px 18px; border:2px solid #ffe8a8; border-radius:10px; background:#872c28ed; color:#fff6d7; font-size:clamp(20px,6vw,30px); white-space:nowrap; box-shadow:0 5px 14px #0008; pointer-events:none; }
.rc-old-failure { position:absolute; z-index:4; top:50%; left:50%; width:min(90%,370px); transform:translate(-50%,-50%); display:grid; gap:6px; padding:14px; border:2px solid #ffe8a8; border-radius:12px; background:#253641f2; color:#fff6d7; text-align:center; box-shadow:0 6px 20px #0009; pointer-events:none; }
.rc-old-failure strong { font-size:clamp(17px,5vw,23px); color:#ffcf95; }
.rc-old-failure span { font-size:14px; line-height:1.4; }
.rc-old-info { min-height:44px; margin:8px 0; text-align:center; font-size:15px; }
.rc-old-info small { display:block; color:#61716d; font-size:13px; }
.rc-old-controls { display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:8px; }
.rc-old-tools { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.rc-old-controls button,.rc-old-tools button { min-height:50px; padding:8px 5px; }
.rc-old-tools button { white-space:nowrap; font-size:clamp(12px,3.5vw,16px); }
.rc-old-help { margin-top:8px; color:#61716d; font-size:14px; }
.rc-old-help summary { cursor:pointer; font-weight:bold; }
.rc-rps-message { padding:12px; min-height:48px; border:1px solid #aebfc0; border-radius:10px; background:#19384a; color:#fff2d0; font-weight:bold; text-align:center; }
.rc-rps-history { margin:0; padding:8px 10px; border-radius:10px; background:#19384a; color:#fff2d0; font-weight:bold; }
.rc-rps-history small { font-weight:normal; color:#d5e4e2; }
.rc-rps-duel { min-height:250px; display:grid; grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr); align-items:center; gap:4px; border:2px solid #7b9ca5; border-radius:14px; background:radial-gradient(circle at 50% 90%,#425a66,#192e40 70%); }
.rc-rps-ally { height:220px; display:flex; flex-direction:column; align-items:center; justify-content:end; overflow:hidden; }
.rc-rps-ally img { width:min(100%,240px); height:185px; object-fit:contain; filter:drop-shadow(0 7px 6px #0009); }
.rc-rps-ally span { font-weight:bold; color:#97e0ff; }
.rc-rps-vs { text-align:center; color:#ffe49b; font-size:clamp(21px,5vw,36px); font-weight:900; }
.rc-rps-boss { position:relative; height:220px; display:flex; flex-direction:column; align-items:center; justify-content:end; overflow:hidden; background:radial-gradient(ellipse at 50% 80%,#d9595655,transparent 65%); }
.rc-rps-boss::after { content:attr(data-pose); position:absolute; top:4px; right:6px; display:grid; place-items:center; width:42px; height:42px; border:2px solid #ffa88e; border-radius:50%; background:#46242ce8; font-size:26px; box-shadow:0 0 14px #ff694c88; }
.rc-rps-boss img { width:min(100%,240px); height:185px; object-fit:contain; filter:drop-shadow(0 0 11px #f45d50a8); }
.rc-rps-boss span { font-weight:bold; color:#ffaca0; }
.rc-rps-forecast { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px; border:2px solid #d99870; border-radius:12px; background:#3b2c35; }
.rc-rps-pose { display:grid; place-items:center; width:42px; height:42px; border-radius:10px; background:#663d40; font-size:26px; }
.rc-rps-forecast small,.rc-rps-forecast strong,.rc-rps-forecast em { display:block; }
.rc-rps-forecast small { color:#ffcdac; font-size:11px; }
.rc-rps-forecast strong { font-size:14px; }
.rc-rps-forecast em { color:#a9ecff; font-size:13px; font-style:normal; font-weight:bold; }
.rc-rps-forecast button { min-height:44px; padding:6px 9px; font-size:13px; }
.rc-rps-forecast button small { display:block; font-size:11px; }
.rc-rps-health { display:flex; flex-wrap:wrap; gap:10px; font-weight:bold; }
.rc-rps-health span { flex:1 1 120px; }
.rc-rps-health progress { display:block; width:100%; height:12px; accent-color:#e87260; }
.rc-rps-reveal { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px; align-items:center; }
.rc-rps-hand { display:grid; justify-items:center; padding:8px; border:2px solid #74c5e4; border-radius:13px; background:#16374a; color:#e6f7ff; }
.rc-rps-hand[data-side="boss"] { border-color:#ec806e; background:#482c35; color:#fff0e4; }
.rc-rps-hand small { font-size:13px; font-weight:bold; }
.rc-rps-hand strong { font-size:clamp(38px,8vw,62px); line-height:1.15; }
.rc-rps-hand b { font-size:clamp(17px,4vw,23px); }
.rc-rps-outcome { min-width:72px; color:#ffe49b; font-size:clamp(15px,3vw,22px); font-weight:900; text-align:center; }
.rc-rps-reveal[data-result="lose"] .rc-rps-outcome { color:#ff9d8d; }
.rc-rps-reveal[data-result="win"] .rc-rps-outcome { color:#9de6ff; }
.rc-rps-hands { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.rc-rps-hands button { min-height:64px; font-size:clamp(17px,3vw,24px); }
.rc-rps-hands-finished { grid-template-columns:1fr; }
.rc-repair { background:linear-gradient(90deg,#111b28ac,#2a202aa8),url('assets/reclaim-workshop.png') center/cover no-repeat; }
.rc-repair-card { display:grid; grid-template-columns:minmax(180px,1fr) 1.4fr; gap:16px; align-items:center; border-color:#c29459; }
.rc-repair-count { padding:10px; border:1px solid #c29459; border-radius:10px; background:#241f21; color:#ffe4ab; }
.rc-repair-count strong { color:#fff; font-size:22px; }
@media (max-width:600px) { .reclaim-shell .rc-page { padding-left:7px;padding-right:7px;gap:7px; }.rc-hero { min-height:260px; }.rc-map {min-height:255px}.rc-workbench{grid-template-columns:1fr}.rc-robot-preview{min-height:180px}.rc-robot-preview .rc-sprite{width:190px}.rc-upgrades{grid-template-columns:1fr}.rc-pad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,46px)}.rc-pad button{min-height:46px;min-width:46px}.rc-fire{width:102px;height:102px}.rc-controls{min-height:104px} }
@media (max-width:600px) { .rc-modules{grid-template-columns:1fr}.rc-special{width:76px;min-height:68px}.rc-controls{gap:6px} }
@media (max-width:600px) and (orientation:portrait) {
  .rc-stage .rc-arena canvas { width:112.5%; max-width:none; }
}
@media (max-width:380px) { .rc-pad{grid-template-columns:repeat(3,42px)}.rc-pad button{min-width:42px}.rc-fire{width:82px;height:82px;font-size:16px}.rc-special{width:66px;font-size:13px} }
@media (max-width:600px) { .rc-repair-card{grid-template-columns:1fr}.rc-repair-card .rc-robot-preview{min-height:130px}.rc-repair-card .rc-sprite{width:135px} }
@media (max-width:600px) { .rc-puzzle-steps{grid-template-columns:1fr}.rc-puzzle-steps li{padding:9px 11px}.rc-puzzle-intro .rc-card{padding:12px} }
@media (max-width:600px) { .rc-old-board{height:clamp(230px,36dvh,350px);--piece-step:clamp(25px,4dvh,40px)}.rc-old-beam,.rc-old-column{bottom:72px}.rc-old-pivot{width:82px;height:82px}.rc-old-piece{max-width:42px}.rc-rps-duel{min-height:190px}.rc-rps-ally,.rc-rps-boss{height:180px}.rc-rps-ally img,.rc-rps-boss img{height:150px}.rc-rps-hands button{min-height:58px;padding:6px} }
@media (max-width:600px) { .rc-rps-forecast{grid-template-columns:36px minmax(0,1fr) 116px;gap:5px;padding:6px}.rc-rps-pose{width:36px;height:36px;font-size:23px}.rc-rps-forecast strong{font-size:12px}.rc-rps-forecast button{padding:5px;font-size:12px} }
@media (max-width:600px) { .rc-rps .rc-card{padding:10px}.rc-rps .rc-card h2{font-size:21px;margin-bottom:4px}.rc-rps .rc-card p{font-size:13px;line-height:1.35;margin:4px 0}.rc-rps-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;font-size:12px}.rc-rps-health span{min-width:0}.rc-rps-duel{min-height:155px}.rc-rps-ally,.rc-rps-boss{height:150px}.rc-rps-ally img,.rc-rps-boss img{height:124px}.rc-rps-hand{padding:4px}.rc-rps-hand strong{font-size:34px}.rc-rps-hand b{font-size:16px}.rc-rps-message{min-height:40px;padding:7px;font-size:13px} }
@media (max-height:620px) and (orientation:landscape) {
  .rc-hero{min-height:215px;padding:12px}
  .rc-hero h2{font-size:clamp(29px,5vw,42px);margin-bottom:4px}
  .rc-hero p{font-size:13px;line-height:1.4;margin-bottom:0}
  .reclaim-shell .rc-stage{padding-top:2px;padding-bottom:2px;gap:2px}
  .rc-stage .rc-top{height:34px}
  .rc-stage .rc-top h1{font-size:16px;margin:0}
  .rc-stage .rc-top button{min-height:32px;padding:4px 9px}
  .rc-stage .rc-hud{height:30px;font-size:11px}
  .rc-stage .rc-hud span{padding:2px 3px}
  .rc-stage .rc-hud progress{height:5px}
  .rc-stage .rc-arena{width:min(calc((100dvh - 78px)*16/9),calc(100vw - 276px));margin:0 auto}
  .rc-stage .rc-controls{position:fixed;left:4px;right:4px;bottom:2px;min-height:0;pointer-events:none}
  .rc-stage .rc-controls button{pointer-events:auto}
  .rc-stage .rc-pad{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:3px}
  .rc-stage .rc-pad button{min-width:40px;min-height:40px;font-size:19px}
  .rc-stage .rc-fire{width:92px;height:92px;font-size:16px}
  .rc-stage .rc-special{position:fixed;right:12px;bottom:100px;width:76px;min-height:64px;font-size:13px}
  .rc-stage .rc-help{display:none}
  .reclaim-shell .rc-rps{gap:4px;padding-top:3px}
  .rc-rps .rc-top{order:0;min-height:30px}
  .rc-rps .rc-top h1{font-size:16px;margin:0}
  .rc-rps .rc-top button{min-height:30px;padding:3px 8px}
  .rc-rps .rc-card{order:1;padding:6px}
  .rc-rps .rc-card h2{font-size:19px;margin:2px 0}
  .rc-rps .rc-card p{font-size:12px;line-height:1.2;margin:2px 0}
  .rc-rps-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;font-size:11px}
  .rc-rps-health span{min-width:0}
  .rc-rps-health progress{height:6px}
  .rc-rps-forecast{order:2;padding:5px}
  .rc-rps-hands{order:3}
  .rc-rps-reveal{order:4}
  .rc-rps-message{order:5}
  .rc-rps-duel{order:6;min-height:180px}
  .rc-rps .rc-help{order:7}
  .rc-rps > .rc-actions{order:8}
}
@media (prefers-reduced-motion:reduce) { .rc-map[data-lit="true"]::after,.rc-old-beam.rocking,.rc-old-piece.tumbling,.rc-old-piece.rc-old-motion{animation:none} .rc-old-piece.rc-old-motion{left:var(--to-left)!important;bottom:var(--to-bottom)!important} }
