:root{font:16px/1.4 system-ui,sans-serif;color:#203e4c;background:#fff2d6;color-scheme:light}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}[hidden]{display:none!important}button,select,input{font:inherit;color:inherit}button,select{min-width:44px;min-height:44px;border:2px solid #274d59;border-radius:10px;background:#fff9ec;padding:.45rem .65rem}button{cursor:pointer;overflow-wrap:anywhere;box-shadow:0 3px 0 #274d59}button:active{box-shadow:0 1px 0 #274d59;background:#f0ddba}button:disabled,select:disabled{opacity:.48;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,#stage:focus-visible,#movePad:focus-visible{outline:3px solid #d47828;outline-offset:2px}button.primary,#play,#run,#resume{background:#f9bf59}.topbar{height:auto;min-height:56px;display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:2px solid #274d59;background:#f5e8ca}.topbar strong{flex:1;min-width:0;line-height:1.15;overflow-wrap:anywhere}.topbar button{padding:.25rem;flex:0 0 44px;box-shadow:none}.topbar #home{font-size:1.5rem}main{max-width:1050px;margin:auto;padding:14px}.hero{position:relative;border:2px solid #274d59;border-radius:20px;overflow:hidden;background:#fff9ec}.hero img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}.hero h1{font-size:clamp(1.8rem,6vw,3rem);margin:.4rem .7rem 0;line-height:1.05}.hero p{margin:.6rem .7rem}.portfolio{font-weight:700;padding:10px;border-bottom:2px dashed #a4874f}.menuButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.trials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.trialButton{text-align:left;display:grid;gap:4px;padding:12px}.trialButton b{font-size:1.1rem}.trialButton small{font-size:.85rem;line-height:1.3}label{display:flex;flex-direction:column;gap:5px;min-width:0;margin:12px 0}select{width:100%;max-width:100%}p{overflow-wrap:anywhere}.notice{background:#f3d99d;border:1px solid #947237;border-radius:8px;padding:8px;margin:6px 0}#runView{height:calc(100dvh - 58px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(180px,1fr) auto;gap:6px;padding:6px;overflow:auto}.matchHud{display:flex;gap:5px 12px;flex-wrap:wrap;align-items:center;line-height:1.2;font-size:.9rem;padding:4px 6px;border:1px solid #708789;border-radius:8px;background:#fff9ec}.matchHud #trialTitle{flex-basis:100%;overflow-wrap:anywhere}.matchHud #phase{margin-left:auto}#stage{position:relative;min-height:180px;overflow:hidden;border:0;border-radius:14px;background:#fff2d6;touch-action:none}#stage canvas,#stage svg{position:absolute;inset:0;width:100%;height:100%;display:block}.controlRail{display:grid;grid-template-columns:116px minmax(0,1fr);gap:8px;align-items:stretch;min-width:0}#movePad{touch-action:none;user-select:none;border:2px solid #2b606c;border-radius:20px;background:#d4e4db;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:104px;min-width:90px;text-align:center;padding:4px}#movePad span:first-child{font-size:.85rem}#movePad span:last-child{line-height:1.15}#arrows{display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));gap:6px}.actionButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-content:start}.actionButtons button{min-height:48px;font-size:.9rem;line-height:1.1;padding:.35rem}#fire,#arrows button{touch-action:none}#matchNotice{grid-column:1/-1;font-size:.85rem;max-height:96px;overflow:auto}dialog{width:min(740px,calc(100% - 16px));max-height:calc(100dvh - 20px);padding:12px 16px;border:3px solid #274d59;border-radius:18px;background:#fff2d6;color:inherit;overflow:auto}dialog::backdrop{background:#18374099}.sheetHeader{display:flex;align-items:flex-start;gap:8px;position:sticky;top:-12px;background:#fff2d6;padding:8px 0;z-index:1}.sheetHeader h2{font-size:1.3rem;margin:0;flex:1;overflow-wrap:anywhere}.sheetHeader button{box-shadow:none}.check{flex-direction:row;align-items:center;min-height:44px}.check input{width:28px;height:28px;flex:0 0 28px}.modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.module{border:1px solid #668288;border-radius:10px;background:#fff9ec;padding:6px;overflow-wrap:anywhere}.module img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.module b,.module small{display:block}.module small{font-size:.8rem}.collectionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.collectionGrid button,.collectionGrid article{border:1px solid #668288;border-radius:10px;background:#fff9ec;padding:6px;text-align:center;overflow-wrap:anywhere}.collectionGrid img{display:block;width:100%;height:auto;object-fit:contain}.collectionGrid button[aria-pressed=true]{outline:3px solid #c97f2c}.collectionGrid article[aria-disabled=true] img{filter:grayscale(1);opacity:.35}.danger{border-color:#914831;margin-top:16px}#loading{position:fixed;z-index:10;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:2px solid #274d59;border-radius:12px;background:#fff4da;box-shadow:0 3px 12px #18374055}body.reduced *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(max-width:650px){.menuButtons{grid-template-columns:repeat(2,minmax(0,1fr))}.trials{grid-template-columns:repeat(2,minmax(0,1fr))}.modules{grid-template-columns:repeat(2,minmax(0,1fr))}.collectionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:10px}}@media(max-width:360px){.topbar{gap:4px;padding:4px}.topbar strong{font-size:.95rem}.controlRail{grid-template-columns:96px minmax(0,1fr);gap:5px}.actionButtons{grid-template-columns:repeat(2,minmax(0,1fr))}.actionButtons button{min-height:44px}#runView{gap:4px;padding:4px}.matchHud{font-size:.9rem}.hero h1{font-size:1.7rem}}@media(max-height:580px) and (min-width:600px){#runView{grid-template-columns:minmax(0,1fr) clamp(210px,11.7rem,280px);grid-template-rows:auto minmax(160px,1fr);overflow:hidden}.matchHud{grid-column:1;grid-row:1}.matchHud #trialTitle{flex-basis:auto}.controlRail{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;overflow:auto;padding:3px 3px 6px}#stage{grid-column:1;grid-row:2}.actionButtons{grid-template-columns:repeat(2,minmax(0,1fr))}#movePad{min-height:96px}#arrows{grid-template-columns:repeat(4,minmax(44px,1fr))}.topbar{min-height:50px}#runView{height:calc(100dvh - 52px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body.in-match{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.in-match .topbar{flex:0 0 auto}.in-match #runView{height:auto;flex:1 1 auto;min-height:0}

@media(max-height:580px) and (min-width:600px){.controlRail>*{flex-shrink:0}}

#stage::after{content:"";position:absolute;inset:0;border:2px solid #274d59;border-radius:14px;pointer-events:none}
