/* ピクトウォリアー v0.2.0 | 2026-10-22 */
:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP',sans-serif;color:#282d2d;background:#f4f1e9;--orange:#d55936;--ink:#273535;--app-height:100dvh}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(circle at 5% 0,#ebe7d7 0,transparent 40%),#f4f1e9}button,select{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #d5d3c9;border-radius:9px;padding:12px;background:#fffdf6;color:var(--ink);font-weight:600}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}h1:focus{outline:none}.app{width:100%;max-width:480px;margin:auto}#home,#result{padding:max(16px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.topline{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1px;color:#7d8076}.languages{display:flex;gap:2px;background:#e6e4da;border:1px solid #d4d4c7;padding:2px;border-radius:7px}.languages button{font-size:10px;padding:5px 8px;border:0;min-height:29px;background:transparent;white-space:nowrap}.languages button[aria-pressed=true]{background:#fffdf6;box-shadow:0 1px 3px #28353515}header{text-align:center;padding:23px 0 10px}.eyebrow{font-size:9px;letter-spacing:2px;color:#947251;font-weight:700}h1{font-size:clamp(25px,7vw,34px);letter-spacing:-.03em;margin:9px 0;color:#263a36}#tagline{font-size:12px;color:#737a6c;margin:12px 0}.build-preview{display:grid;grid-template-columns:44% 56%;align-items:center;background:#eeede2;border:1px solid #dcdfd2;border-radius:14px;overflow:hidden;min-height:164px;margin:6px 0 18px}#portrait{display:block;width:100%;height:auto}.build-stats{padding:14px 12px 14px 0}.small-label{font-size:8px;letter-spacing:1.8px;color:#7f8272}.build-stats h2{font-size:16px;margin:8px 0}.build-stats #stats{font-size:10px;line-height:1.9;color:#657366;font-variant-numeric:tabular-nums}#specialName{font-size:11px;line-height:1.5;color:var(--orange);margin:7px 0 0;font-weight:600}.word-pickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.word-pickers label span{display:block;font-size:10px;color:#6c776c;margin:0 0 7px 2px}.word-pickers select{display:block;width:100%;padding:11px 6px;font-size:16px;border:1px solid #cdd2c2;border-radius:8px;background:#fffdf6;color:#2f453c}.build-hint{font-size:11px;line-height:1.8;color:#727969;min-height:40px;margin:12px 1px 14px}.primary{width:100%;background:var(--orange);color:white;border-color:var(--orange);padding:15px 12px;box-shadow:0 4px 0 #ae452722;font-size:14px}.resume{display:block;width:100%;margin-top:10px;font-size:12px}.howto{padding-top:22px;margin-top:5px;border-bottom:1px solid #dddccf;padding-bottom:17px}.howto h2{font-size:13px;margin:0 0 10px}.howto p{font-size:11px;line-height:1.9;color:#667366;margin:0}.item-guide{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;margin-top:12px}.item-guide span:first-child{color:#b85554}.item-guide span:last-child{color:#708f35}details{margin-top:17px;font-size:11px;color:#697661}summary{cursor:pointer;font-weight:600}details p{line-height:1.9}footer{font-size:8px;letter-spacing:2px;text-align:center;margin:26px 0 0;color:#92937f}body[data-screen=game]{height:var(--app-height);overflow:hidden;overscroll-behavior:none}body[data-screen=game] .app{height:100%}#game{height:100%;padding:max(9px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:7px;overflow:hidden}.game-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}.game-top button{font-size:10px;padding:7px 10px}.game-top strong{font-size:12px;letter-spacing:-.02em}.game-top>span{font-size:9px;color:#8a8b79}.hud{display:flex;gap:10px;align-items:center;min-height:70px;flex-shrink:0}.vitals{flex:1;min-width:0}.hp-caption{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:7px}.hp-caption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-caption span{white-space:nowrap;font-size:10px}.hp-track{height:8px;border-radius:5px;background:#dfdfd1;overflow:hidden}.hp-track>div{height:100%;background:#d66453;width:100%;transition:width .1s}.run-stats{display:flex;justify-content:space-between;font-size:9px;color:#6b7864;margin-top:7px;gap:5px}#runClock{font-variant-numeric:tabular-nums}#miniMap{width:80px;height:69px;flex-shrink:0}.battlefield{position:relative;flex:1;min-height:160px;background:#bac5a0;border-radius:12px;border:1px solid #a4b28a;overflow:hidden;box-shadow:inset 0 0 18px #586f5320}#battle{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#toast{position:absolute;top:12px;left:8px;right:8px;pointer-events:none;text-align:center;font-size:11px;line-height:1.6;color:#fffef6;text-shadow:0 1px 4px #1c3e25;background:#294934db;padding:8px 10px;border-radius:7px;opacity:0;transition:opacity .15s}#toast.show{opacity:1}#roomBanner{position:absolute;inset:43% 0 auto;background:#fff8e6df;padding:14px 10px;text-align:center;font-size:17px;font-weight:800;color:#425d3c;pointer-events:none;letter-spacing:1px}.bottom-controls{flex-shrink:0}.bottom-controls p{text-align:center;color:#62735f;font-size:10px;margin:0 0 7px}#special{position:relative;display:flex;width:100%;justify-content:space-between;align-items:center;gap:6px;min-height:52px;overflow:hidden;background:#e3e4d6;border:1px solid #ced0b9;color:#617455;font-size:12px;padding:12px 15px}#special>span:not(#energyFill){position:relative;z-index:1}#special:not(:disabled){background:#344b31;color:#fff4c5;border-color:#526b38;box-shadow:0 0 0 2px #ebcd7470}#energyFill{position:absolute;inset:0 auto 0 0;width:0;background:#aabb7880;pointer-events:none}#special:not(:disabled) #energyFill{background:#768b3b}#energyText{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}#result{text-align:center}#result .eyebrow{margin-top:36px}#resultArt{display:block;width:min(100%,300px);height:auto;margin:12px auto}#resultBuild{font-size:17px}#resultCopy{font-size:12px;line-height:1.8;color:#748068}#resultNumbers{display:grid;grid-template-columns:repeat(3,1fr);background:#eaeadd;border-radius:10px;padding:18px 5px;margin:24px 0;gap:5px}.result-numbers strong{display:block;font-size:22px}.result-numbers span{font-size:10px;color:#7b856d}.text-button{border:0;background:transparent;font-size:12px;color:#6e7a63;margin:12px auto}#shareNote{font-size:11px;line-height:1.7;color:#7a806e}dialog{border:1px solid #bbbfa9;border-radius:12px;background:#f8f7ed;width:min(90vw,420px);color:#2b4238}dialog::backdrop{background:#1a2b2199}dialog h2{font-size:15px}textarea{display:block;width:100%;height:190px;border:1px solid #c6ceb6;border-radius:8px;padding:10px;background:white;color:#344a3b;font:inherit;font-size:16px}dialog button{margin-top:12px;width:100%}html[lang=en] h1{font-size:31px;letter-spacing:-.055em}html[lang=en] .build-stats h2{font-size:15px}html[lang=en] .word-pickers select{font-size:16px;padding-left:4px}html[lang=en] .topline{letter-spacing:.2px}html[lang=en] #howText{font-size:11px}@media(max-height:700px){#game{gap:4px}.hud{min-height:59px}#miniMap{height:56px;width:65px}.bottom-controls p{margin-bottom:4px}#special{min-height:46px}.game-top button{padding:5px 8px}}

/* v0.2.0: circular arena, fixed winding dial and compact portrait layout */
.build-preview{grid-template-columns:48% 52%;min-height:190px;background:#eeece1}.build-stats{padding-right:10px}#portrait{width:100%;aspect-ratio:1}.build-stats h2{font-size:15px}#stats{line-height:1.8}.build-stats #stats{font-size:10px}.battlefield{background:#d5d0bd;min-height:140px;border:1px solid #c5bdab;border-radius:16px;box-shadow:0 4px 16px #554b3210}.hud{min-height:75px}.hp-caption{font-size:9px;margin-bottom:5px}.hp-caption span{font-size:9px}.hp-track{height:5px}.rpm-caption{display:flex;justify-content:space-between;align-items:center;margin:8px 0 4px;gap:5px}.rpm-caption strong{font-size:16px;color:#256b77;font-variant-numeric:tabular-nums}.rpm-caption span{font-size:8px;color:#758575;white-space:nowrap}.rpm-track{position:relative;height:5px;background:#d9dfd3;border-radius:5px;overflow:hidden}.rpm-track>div{height:100%;width:0;background:#47a1b1}.rpm-track i{position:absolute;left:66.666%;top:0;bottom:0;width:2px;background:#7d8375}.run-stats{margin:0 3px;font-size:10px;flex-shrink:0}.bottom-controls{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;align-items:center;min-height:126px}.pump-wrap{display:flex;flex-direction:column;align-items:center}#pump{display:block;width:112px;height:112px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}#pump:focus-visible{outline:2px solid #d55936;outline-offset:0;border-radius:50%}#pumpLabel{font-size:9px;color:#687a6b;line-height:1.3}.battle-actions{min-width:0}.battle-actions p{font-size:10px;line-height:1.6;margin:0 0 8px;text-align:left}.battle-actions #pumpHint{font-size:9px;color:#7c8772;margin:7px 0 0}#special{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:64px;padding:10px 12px}#specialButtonName{font-size:12px}#energyText{font-size:10px}.exits{display:flex;justify-content:center;gap:5px;min-height:28px;flex-shrink:0}.exits button{font-size:9px;padding:5px 8px;min-height:28px;white-space:nowrap;flex:1;max-width:110px}.exits button:disabled{background:#e7e5db;color:#9e9d91;border-color:#dcd9ca;opacity:.85}.exits button:not(:disabled){border-color:#a9b690;color:#486335}.game-top button{padding:6px 9px}.game-top strong{font-size:11px}#game{gap:6px}.result-numbers{grid-template-columns:repeat(3,1fr)}#roomBanner{inset:42% 0 auto;font-size:16px;background:#fff9e8df}html[lang=en] #specialButtonName{font-size:11px}html[lang=en] .build-stats h2{font-size:14px}@media(max-height:740px){#game{gap:4px}.hud{min-height:66px}.bottom-controls{min-height:108px;grid-template-columns:100px minmax(0,1fr);gap:10px}#pump{width:94px;height:94px}.rpm-caption{margin-top:5px}.rpm-caption strong{font-size:14px}.exits{min-height:26px}.exits button{min-height:26px;padding:4px 6px}#special{min-height:54px}#miniMap{width:70px;height:60px}}@media(max-height:620px){.battle-actions #pumpHint{display:none}.bottom-controls{min-height:95px}#pump{width:82px;height:82px}.pump-wrap #pumpLabel{font-size:8px}}
