:root{color:#f1ead7;font-synthesis:none;--paper:#eee4cd;--ink:#1b1a17;--red:#a44332;--gold:#c9ad6a;--bar-height:104px;background:#1b1a17;font-family:system-ui,Hiragino Sans,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none}button{min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;background:#302e27;border:1px solid #95826766;border-radius:6px;padding:8px 12px}button:active,button[aria-pressed=true],button[aria-expanded=true]{border-color:var(--gold);background:#78633c}button:focus-visible{outline-offset:2px;outline:2px solid #efce7d}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}h1,h2,.title-season{font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif JP,serif}.game-layout{width:100%;height:100dvh;position:relative}#map-host{inset:0 0 calc(var(--bar-height) + env(safe-area-inset-bottom)) 0;position:absolute;overflow:hidden}canvas{touch-action:none;display:block}.boot{padding:40px}#hud{pointer-events:none;position:absolute;inset:0}#hud button,.sheet,#debug{pointer-events:auto}.clan-button{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));background:#24221ce8;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute}.clan-dot{background:#b14835;border:2px solid #d6b974;border-radius:50%;width:24px;height:24px}.time-panel{right:calc(10px + env(safe-area-inset-right));top:calc(10px + env(safe-area-inset-top));background:#211f1ae8;border:1px solid #cfbc8e50;border-radius:8px;padding:8px;position:absolute}#date{text-align:center;margin-bottom:6px;font-size:13px}.speeds{gap:4px;display:flex}.speeds button{padding:6px}.bottom-controls{height:calc(var(--bar-height) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#211f1b;border-top:1px solid #a6916060;position:absolute;bottom:0;left:0;right:0}#notice{white-space:nowrap;text-overflow:ellipsis;color:#d9cbaa;height:40px;padding:12px 14px;font-size:12px;overflow:hidden}.tabs{grid-template-columns:repeat(4,1fr);gap:1px;height:64px;display:grid}.tabs button{background:#302c23;border-color:#b9a47130;border-radius:0;font-size:15px}.tabs button[aria-expanded=true]{background:#685737}.sheet{bottom:calc(var(--bar-height) + env(safe-area-inset-bottom));left:env(safe-area-inset-left);right:env(safe-area-inset-right);touch-action:pan-y;background:#25231df5;border:1px solid #a69160;border-radius:14px 14px 0 0;min-height:180px;max-height:65dvh;padding:12px 16px 20px;position:absolute;overflow:auto}.sheet header{justify-content:space-between;align-items:center;gap:16px;display:flex}.sheet h2{margin:4px 0;font-size:21px;font-weight:500}.sheet-content{min-height:100px}.slot{align-items:center;gap:8px;margin:8px 0;display:flex}.slot span{flex:1}.save-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}#debug-toggle{bottom:calc(var(--bar-height) + env(safe-area-inset-bottom));left:env(safe-area-inset-left);background:#1b1a1755;border:0;font-size:24px;position:absolute}#debug-panel{left:calc(8px + env(safe-area-inset-left));top:calc(116px + env(safe-area-inset-top));white-space:pre-wrap;overflow-wrap:anywhere;background:#151711dc;max-width:calc(100% - 16px);margin:0;padding:8px;font-size:11px;line-height:1.6;position:absolute}#title-screen{padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));touch-action:pan-y;background:radial-gradient(at 50% 30%,#51472f 0,#26241c 50%,#1b1a17 100%);place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.title-card{text-align:center;width:min(100%,420px)}.eyebrow{letter-spacing:.25em;color:#bba676;font-size:12px}h1{letter-spacing:.16em;margin:20px 0 6px;font-size:clamp(42px,9vw,64px);font-weight:600}.title-season{color:#b8aa8d;margin:0 0 32px}.title-actions{gap:12px;display:grid}.title-actions button{min-height:52px}.title-actions .primary{background:#904331;border-color:#d29d67}#title-status{color:#bcaf91;min-height:18px;font-size:12px}.error-overlay,.update-banner{z-index:10;bottom:calc(12px + env(safe-area-inset-bottom));left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));overflow-wrap:anywhere;background:#3a251ff5;border:1px solid #d5956d;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px;font-size:12px;display:flex;position:fixed}.error-overlay{z-index:11}.update-banner{bottom:calc(116px + env(safe-area-inset-bottom));background:#302f21f5}@media (orientation:landscape){:root{--bar-width:92px}#map-host{inset:0 calc(var(--bar-width) + env(safe-area-inset-right)) 0 0}.bottom-controls{width:calc(var(--bar-width) + env(safe-area-inset-right));height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) 0;border-top:0;border-left:1px solid #a6916060;top:0;bottom:0;left:auto}.tabs{grid-template-rows:repeat(4,1fr);grid-template-columns:1fr;height:100%;display:grid}#notice{bottom:env(safe-area-inset-bottom);left:env(safe-area-inset-left);right:calc(var(--bar-width) + env(safe-area-inset-right));background:#211f1bcc;position:fixed}.time-panel{right:calc(var(--bar-width) + 10px + env(safe-area-inset-right))}.sheet{top:env(safe-area-inset-top);bottom:env(safe-area-inset-bottom);left:auto;right:calc(var(--bar-width) + env(safe-area-inset-right));border-radius:14px 0 0 14px;width:min(380px,70%);max-height:none}#debug-toggle{bottom:calc(40px + env(safe-area-inset-bottom))}#title-screen{padding-top:16px;padding-bottom:16px}h1{margin-top:0;font-size:40px}.title-season{margin-bottom:12px}.title-actions{gap:6px}.title-actions button{min-height:44px}}.size-tabs{gap:8px;margin:12px 0;display:flex}.building-list{gap:8px;display:grid}.building-list button{text-align:left;font-size:14px}.sheet-content>button{margin:6px 6px 0 0}.stock-list{grid-template-columns:1fr auto 1fr auto;gap:6px 12px;font-size:14px;display:grid}.stock-list dd{font-variant-numeric:tabular-nums;margin:0}.road-sheet{min-height:0;max-height:28dvh;padding:8px 12px}.road-sheet .sheet-content{min-height:0}.road-sheet p{margin:6px 0;font-size:12px}@media (orientation:landscape){.road-sheet{width:min(340px,50%);max-height:55dvh;top:auto}}.economy-row{align-items:center;gap:6px;margin:6px 0;display:flex}.economy-row span{flex:1;font-size:14px}.sheet summary{cursor:pointer;min-height:44px;padding:12px 0}.inventory-tabs{flex-wrap:wrap;gap:4px;margin:12px 0;display:flex}#debug-panel{pointer-events:auto;max-height:45dvh;overflow:auto}#debug{white-space:pre-wrap;margin:0}#debug-actions{flex-wrap:wrap;gap:4px;display:flex}#debug-actions button{padding:6px;font-size:11px}#notice[role=button]{pointer-events:auto;cursor:pointer;text-decoration:underline}.military-slider{gap:8px;margin:14px 0;display:grid}.military-slider input{width:100%;min-height:44px;accent-color:var(--gold);touch-action:pan-x}.match-overlay{z-index:2;touch-action:pan-y;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));background:#211f1af5;place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.match-form,.result-card{width:min(100%,480px);margin:auto}.match-form{gap:16px;display:grid}.match-form h2,.result-card h2{text-align:center;margin:0 0 8px;font-size:28px}.match-form label{gap:8px;display:grid}.match-form select{width:100%;min-height:48px;font:inherit;color:inherit;background:#302e27;border:1px solid #958267;border-radius:6px;padding:8px}.match-form p,.result-card p{margin:0;font-size:14px;line-height:1.7}.match-extensions:empty{display:none}.match-form .primary{background:#904331;border-color:#d29d67}.result-card section{border-bottom:1px solid #95826766;padding:12px 0}.result-card h3{color:#e4c684;margin:0 0 6px;font-size:16px}.result-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.result-actions button{flex:1}#title-screen{background:#c4a252 url(/assets/ui/title_portrait.jpg) 50%/cover no-repeat;align-items:stretch}.title-card{color:#302719;text-shadow:0 1px 5px #f9e4ab;flex-direction:column;width:min(100%,420px);min-height:100%;margin:auto;display:flex}.title-card .eyebrow,.title-season,.title-english{color:#3e3220}.title-card h1{margin-top:2dvh}.title-english{letter-spacing:.14em;margin:0 0 8px;font-family:serif}.title-card .title-actions{margin-top:auto;padding-top:16px}.title-actions button{color:#fff1cf;text-shadow:none;background:#24241bea}#title-status{color:#f5e9c8;text-shadow:0 1px 3px #16130e}.kamon{border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;padding:5px;display:inline-grid}.kamon img{object-fit:contain;width:100%;height:100%}.clan-button{border-color:var(--clan-color,var(--gold));padding:3px}.clan-emblem{display:flex}#hud button[aria-pressed=true],#hud .tabs button[aria-expanded=true]{border-color:var(--clan-color,var(--gold));box-shadow:inset 0 -3px var(--clan-color,var(--gold))}.military-slider input{accent-color:var(--clan-color,var(--gold))}.clan-selection{width:min(100%,800px);margin:auto}.clan-selection>h2{text-align:center}.clan-grid{gap:12px;margin-bottom:16px;display:grid}.clan-card{background:#302d24;border:1px solid;border-radius:8px;overflow:hidden}.clan-choice{text-align:left;border:0;grid-template-columns:48px 1fr;gap:6px 12px;width:100%;display:grid}.clan-choice .portrait{grid-area:2/1/6;width:48px;height:64px}.clan-choice .kamon{grid-area:1/1}.clan-choice>strong,.clan-choice>span:not(.kamon):not(.portrait){grid-column:2}.clan-choice>span:not(.portrait):not(.kamon){font-size:13px}.clan-card details{padding:0 12px 10px;font-size:13px;line-height:1.6}.clan-card summary,.faction-row summary{cursor:pointer;min-height:44px;padding:12px 0}.portrait{background:#c3ae80;border-radius:4px;flex-shrink:0;width:60px;height:76px;display:inline-flex;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.officer-detail{font-size:14px;line-height:1.7}.officer-detail .portrait{width:84px;height:106px}.officer-row{border-bottom:1px solid #95826766;grid-template-columns:60px 1fr auto;gap:8px;padding:12px 0;font-size:13px;display:grid}.officer-row p{margin:5px 0}.officer-row>.portrait,.officer-row>div{grid-row:1/3}.officer-row.unavailable{color:#a29e93}.officer-row.unavailable .portrait{filter:grayscale();opacity:.5}.faction-row{border-bottom:1px solid #95826766;padding:12px 0}.faction-row>p{font-size:13px}.size-tabs{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.size-tabs button{padding:8px 4px}.building-list{gap:4px}.building-list button{align-items:center;gap:10px;min-height:56px;padding:4px 8px;display:flex}.building-list button>span:last-child{gap:2px;display:grid}.building-list small{font-size:11px}.building-thumbnail{flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.building-thumbnail img{object-fit:contain;width:100%;height:100%}.build-band{align-items:center;gap:8px;min-height:0;max-height:none;padding:4px 8px;display:flex}.build-band header{display:contents}.build-band h2{display:none}.build-band .close-sheet{flex-shrink:0;order:2}.build-band .sheet-content{flex:1;min-height:0}.build-band p{margin:0;font-size:12px}@media (width>=650px){.clan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (orientation:landscape){#title-screen{background-image:url(/assets/ui/title_landscape.jpg);background-position:50%}.title-card{width:min(42%,400px);margin-left:4%;margin-right:auto}.title-card .eyebrow,.title-card h1{margin-top:0}.title-season{margin-bottom:4px}.build-band{top:auto;bottom:calc(40px + env(safe-area-inset-bottom));width:min(340px,65%)}}.polish-settings{z-index:3}.settings-content{gap:12px;display:grid}.settings-content>label{gap:8px;display:grid}.settings-content select{min-height:44px;font:inherit;color:inherit;background:#302e27;border:1px solid #958267;padding:8px}.settings-content .settings-toggle{align-items:center;min-height:44px;display:flex}.settings-toggle input{width:24px;height:24px;accent-color:var(--gold)}.tutorial-band{top:calc(120px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));background:#25231de8;border:1px solid #ddbd75;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex;position:absolute}.tutorial-band span{flex:1}.tutorial-band button{flex-shrink:0;padding:6px}.tutorial-question{border:1px solid var(--gold);background:#25231d;border-radius:12px;max-width:400px;padding:24px}.tutorial-question button{min-width:90px;margin:8px}.sortie-card{z-index:4;top:calc(8px + env(safe-area-inset-top));text-align:left;background:#28241af5;border:2px solid #d4b469;align-items:center;gap:12px;width:min(350px,95%);display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 22px #0008}.sortie-card>span:last-child{gap:3px;display:grid}.sortie-card strong{font-family:Hiragino Mincho ProN,Yu Mincho,serif}.sortie-card small{color:#baad91;font-size:10px}.sortie-card .portrait{width:46px;height:58px}.install-hint{color:#fff1cf;text-shadow:none;background:#25231deb;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.install-hint span{flex:1}.install-hint button{padding:4px;font-size:11px}.how-to{gap:10px;display:grid}.how-to figure{border-bottom:1px solid #95826766;margin:0;padding:4px 0 8px}.how-to figure div{color:#e8cc8a;font-size:13px}.how-to figcaption{margin-top:5px;font-size:12px;line-height:1.5}@keyframes tutorial-glow{0%{outline-color:#ffe195;box-shadow:0 0 4px #ffe195}to{outline-color:#b99342;box-shadow:0 0 14px #ffe195}}[data-tutorial="0"] [data-key=道を引く],[data-tutorial="0"] [data-key=✔\ 確定],[data-tutorial="1"] [data-tab=建てる],[data-tutorial="1"] [data-key=基礎],[data-tutorial="1"] [data-key=soma_goya]:not(:disabled),[data-tutorial="1"] [data-key=✔\ 確定],[data-tutorial="3"] [data-tab=建てる],[data-tutorial="3"] [data-key=軍],[data-tutorial="3"] [data-key=fort]:not(:disabled),[data-tutorial="3"] [data-key=✔\ 確定]{outline-offset:1px;outline:2px solid #ffe195;animation:1s ease-in-out infinite alternate tutorial-glow}@media (orientation:landscape){.tutorial-band{top:auto;bottom:calc(44px + env(safe-area-inset-bottom));right:calc(var(--bar-width) + 8px + env(safe-area-inset-right));width:min(450px,100% - 110px)}.sortie-card{left:calc((100% - var(--bar-width))/2)}}@media (prefers-reduced-motion:reduce){[data-tutorial] button{animation:none!important}}
