:root{--ink:#1f2a24;--muted:#5f7069;--paper:#fff;--paper-soft:#f7fbf8;--line:#1f2a2424;--green:#166534;--green-deep:#124f2b;--teal:#0f766e;--yellow:#facc15;--yellow-deep:#b7791f;--red:#dc2626;--red-deep:#991b1b;--blue:#2563eb;--cgon-blue:#2f80c9;--cgon-green:#77b82a;--cgon-yellow:#facc15;--game-field-background:#fff9e7;color:#1f2a24;font-synthesis:none;text-rendering:optimizelegibility;background:#edf7f3;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#facc152e,#0000 32rem),linear-gradient(145deg,#edf7f3 0%,#f8faf6 52%,#e7f3fb 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button{font:inherit;cursor:pointer;border:0;border-radius:8px;font-weight:700;transition:transform .14s,box-shadow .14s,background .14s,opacity .14s}button:not(:disabled):hover{transform:translateY(-1px)}button:focus-visible{outline-offset:3px;outline:3px solid #2563eb}.notice-screen{background:url(../assets/board/board.png) center calc(50% - 106px) / min(1080px, 126vw) no-repeat, var(--game-field-background);place-items:center;min-height:100vh;padding:24px;display:grid}.notice-card{border:1px solid #ffffffb8;border-top:6px solid var(--cgon-yellow);color:#123028;background:#fffffff0;border-radius:8px;gap:6px;width:min(1000px,100%);padding:12px clamp(18px,4vw,30px);display:grid;box-shadow:0 28px 70px #0f26203d,inset 0 0 0 1px #2f80c914}.notice-icon{border:3px solid #ffffffe6;border-radius:50%;width:54px;height:54px;overflow:hidden;box-shadow:0 10px 24px #1f2a243d,inset 0 0 0 2px #facc1552}.notice-microbe-icon{background:#fff url(../assets/notice/notice-microbe.jpg) 50%/cover no-repeat}.notice-card h1{margin:0;font-size:clamp(1.8rem,5vw,3rem);line-height:1}.notice-text{color:#344940;gap:5px;font-size:.98rem;line-height:1.35;display:grid}.notice-text p{margin:0}.notice-age{color:#123028;background:#fef3c7;border-radius:999px;width:fit-content;padding:4px 10px;font-weight:900}.notice-checkbox{color:#123028;background:#eef7f4;border:1px solid #0f766e33;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;font-weight:800;display:grid}.notice-checkbox input{width:22px;height:22px;accent-color:var(--green);margin:0}.notice-checkbox span{overflow-wrap:anywhere;min-width:0}.notice-card .primary-button{justify-self:start}@media (width>=1100px){.notice-card{transform:translateY(-60px)}}.tutorial-screen{background:url(../assets/board/board.png) center / min(1080px, 126vw) no-repeat, var(--game-field-background);place-items:center;min-height:100vh;padding:24px;display:grid}.tutorial-card{border:1px solid #ffffffb8;border-top:6px solid var(--cgon-green);color:#123028;background:#fffffff5;border-radius:8px;gap:18px;width:min(900px,100%);padding:clamp(18px,4vw,30px);display:grid;box-shadow:0 28px 70px #0f26203d,inset 0 0 0 1px #2f80c914}.tutorial-kicker{color:#123028;background:#fef3c7;border-radius:999px;width:fit-content;margin:0;padding:4px 10px;font-weight:900}.tutorial-progress{align-items:center;gap:7px;display:flex}.tutorial-progress span{background:#16653433;border-radius:999px;width:10px;height:10px}.tutorial-progress span.is-active{background:var(--green);width:28px}.tutorial-content{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(18px,4vw,34px);display:grid}.tutorial-content.is-text-only{grid-template-columns:1fr;align-content:center;justify-self:center;max-width:780px;min-height:330px}.tutorial-copy{gap:12px;display:grid}.tutorial-copy h1{text-wrap:balance;margin:0;font-size:clamp(2rem,3.6vw,3.35rem);line-height:1.06}.tutorial-copy p{color:#344940;text-wrap:pretty;margin:0;font-size:clamp(1.05rem,1.65vw,1.22rem);font-weight:650;line-height:1.42}.tutorial-content.is-text-only .tutorial-copy{max-width:720px}.tutorial-content.is-text-only .tutorial-copy h1{font-size:clamp(2.25rem,4.3vw,3.65rem)}.tutorial-content.is-text-only .tutorial-copy p{font-size:clamp(1.08rem,1.9vw,1.28rem);line-height:1.46}.tutorial-goal-scene,.tutorial-token-row,.tutorial-path,.tutorial-castle-scene,.tutorial-result-row{background:#eef7f4;border:1px solid #0f766e24;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;min-height:240px;padding:16px;display:flex}.tutorial-hex-grid{background:#eef7f4;border:1px solid #0f766e24;border-radius:8px;grid-template-columns:repeat(3,minmax(72px,1fr));gap:12px;min-height:240px;padding:16px;display:grid}.tutorial-hex{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);color:#123028;text-align:center;background:#fff;place-items:center;min-height:92px;padding:12px 8px;display:grid;box-shadow:inset 0 0 0 3px #1f2a2429}.tutorial-hex span{font-size:1.35rem;font-weight:900}.tutorial-hex small{max-width:10ch;font-size:.72rem;font-weight:900;line-height:1.1}.tutorial-hex.is-home{background:#dff4e6}.tutorial-hex.is-nature{background:#e5f8ce}.tutorial-hex.is-transport{background:#e1f0ff}.tutorial-hex.is-public{background:#fff4c7}.tutorial-hex.is-microbes{background:#ffe8a8}.tutorial-hex.is-castle{background:#ffd966}.tutorial-token-card{color:#123028;text-align:center;justify-items:center;gap:8px;font-weight:900;display:grid}.tutorial-token-card img{object-fit:cover;border:3px solid #fff;border-radius:50%;width:78px;height:78px;box-shadow:0 10px 24px #1f2a2438}.tutorial-arrow{color:var(--green);font-size:1.75rem;font-weight:900}.tutorial-answer-flow{background:#eef7f4;border:1px solid #0f766e24;border-radius:8px;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;min-height:240px;padding:16px;display:grid}.tutorial-question-chip,.tutorial-card-icon,.tutorial-item-icon,.tutorial-result-card{color:#123028;text-align:center;background:#fff;border-radius:8px;padding:12px 14px;font-weight:900;box-shadow:inset 0 0 0 2px #1f2a2414}.tutorial-card-icon{border-top:5px solid var(--cgon-yellow)}.tutorial-item-icon{background:#e1f0ff}.tutorial-result-card.is-win{color:#fff;background:var(--green)}.tutorial-result-card.is-loss{color:#fff;background:var(--red)}.tutorial-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.tutorial-skip-button{color:#28443a;background:#eef7f4;border:1px solid #1f2a2424;min-height:44px;padding:10px 18px}.tutorial-skip-button:hover{background:#dff2ed}.start-screen{background:linear-gradient(#0c292061,#0c292033),url(../assets/board/board.png) 50%/min(1120px,128vw) no-repeat,#dff2ef;place-items:center;max-width:100%;min-height:100vh;padding:24px;display:grid}.start-content{color:#fff;background:#112f27c7;border:1px solid #ffffffad;border-radius:8px;width:min(1280px,100vw - 48px);min-width:0;max-width:100%;padding:24px;box-shadow:0 24px 70px #0f262047}.app-kicker{color:#facc15;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}.start-content h1,.game-header h1{margin-bottom:12px;font-size:clamp(2rem,6vw,4.8rem);line-height:1}.start-content h1{overflow-wrap:anywhere;font-size:clamp(2rem,4.4vw,3.6rem)}.start-text{overflow-wrap:anywhere;max-width:560px;margin-bottom:20px;font-size:1.05rem}.item-selection{gap:10px;min-width:0;margin-bottom:16px;display:grid}.item-selection-header{justify-content:space-between;align-items:end;gap:12px;display:flex}.item-selection-header h2,.item-selection-header p{margin:0}.item-selection-header h2{font-size:1.25rem}.item-selection-header p{color:#d9f99d;font-weight:800}.item-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;width:100%;min-width:0;max-width:100%;display:grid}.item-button{color:#123028;text-align:left;white-space:normal;overflow-wrap:anywhere;background:#fff;border:1px solid #12302824;gap:8px;width:100%;min-width:0;max-width:100%;min-height:46px;padding:10px 12px;display:block;position:relative;box-shadow:0 10px 24px #0f26201f}.item-button.is-selected{color:#fff;background:#0f766e;border-color:#facc15d9;box-shadow:inset 0 0 0 3px #facc15,0 14px 32px #0f766e47}.item-title{overflow-wrap:break-word;word-break:normal;min-width:0;font-size:.92rem;line-height:1.2;display:block}.item-button.is-long-title .item-title{overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;font-size:.86rem;line-height:1.14}.item-button.is-medium-title .item-title{overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;font-size:.88rem;line-height:1.16}.item-description{display:none}.item-state{color:#166534;background:#dcfce7;border-radius:999px;width:fit-content;padding:2px 7px;font-size:.68rem;font-weight:900;position:absolute;top:6px;right:6px}.item-button.is-selected .item-state{color:#123028;background:#facc15}.primary-button,.secondary-button,.board-toolbar button{color:#fff;background:#166534;min-height:44px;padding:10px 18px}.secondary-button{color:#123028;background:#facc15}.legal-note{color:#527067;text-align:left;overflow-wrap:normal;word-break:normal;gap:2px;width:min(1440px,100%);margin:12px auto 0;font-size:.72rem;line-height:1.42;display:grid}.legal-note p{max-width:100%;margin:0;display:block}.start-legal-note{color:#ffffffc7;padding-top:10px}button:disabled{cursor:not-allowed;opacity:.58}.mobile-orientation-notice{display:none}.game-screen{min-height:100vh;padding:10px 14px 18px}.game-header{justify-content:space-between;align-items:end;gap:16px;width:min(1440px,100%);margin:0 auto 4px;display:flex}.game-header h1{margin-bottom:0;font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.12}.game-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:10px;width:min(1440px,100%);margin:0 auto;display:grid}.game-layout.is-board-only{grid-template-columns:1fr}.game-dashboard{grid-template-columns:minmax(520px,1.2fr) minmax(300px,.85fr) minmax(280px,.65fr);align-items:stretch;gap:8px;width:min(1440px,100%);margin:0 auto 6px;display:grid}.game-dashboard.has-action-panel{grid-template-columns:minmax(420px,1.2fr) minmax(260px,.8fr)}.turn-panel,.inventory-panel,.question-layout{width:min(1440px,100%);margin:0 auto}.game-dashboard .turn-panel,.game-dashboard .inventory-panel,.game-dashboard .info-panel{box-shadow:0 12px 30px #1f2a241a,inset 0 1px #ffffffbf}.turn-panel{border:1px solid #2f80c957;border-top:4px solid var(--cgon-blue);background:#ffffffe6;border-radius:8px;grid-template-columns:auto auto minmax(130px,180px) minmax(0,1fr);align-items:center;gap:8px;min-width:0;height:100%;min-height:86px;padding:7px 10px;display:grid;position:relative;box-shadow:0 12px 34px #1f2a241a}.turn-panel>*{min-width:0}.turn-panel>div:first-child{align-self:center;align-items:center;min-height:42px;padding-top:0;display:flex}.turn-panel>div:first-child>.panel-label{color:var(--ink);font-size:.92rem;font-weight:700;line-height:1.5;position:absolute;top:7px;left:10px}.turn-panel button{color:#fff;background:#166534;min-height:34px;padding:7px 12px}.castle-shield-button{color:#123028;background:#facc15}.castle-shield-button.is-active{color:#fff;background:#dc2626}.castle-shield-suggestion{z-index:18;background:#fef9c3db;border:2px solid #facc15c7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:min(420px,100vw - 28px);min-width:0;padding:12px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 38px #1f2a2447}.castle-shield-suggestion.is-active{background:#fee2e2e6;border-color:#dc2626b8}.castle-shield-suggestion strong{font-size:1rem;line-height:1.15;display:block}.castle-shield-note{color:#527067;margin:4px 0 0;font-size:.78rem;font-weight:800;line-height:1.25}.turn-panel p{margin:0}.state-summary{border-left:4px solid var(--cgon-yellow);background:#f8faf6;border-radius:8px;min-height:38px;padding:4px 10px}.state-summary strong{color:#123028;font-size:.95rem;display:block}.status-message{color:#1f2a24;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:clamp(.82rem,.9vw,.94rem);font-weight:800;line-height:1.3}.inventory-panel{border:1px solid #77b82a57;border-top:4px solid var(--cgon-green);background:#ffffffe6;border-radius:8px;align-content:start;gap:6px;height:100%;min-height:0;padding:8px 10px;display:grid;box-shadow:0 12px 34px #1f2a241a}.inventory-panel h2{margin:0;font-size:.92rem}.inventory-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.inventory-list li{color:#123028;background:#eef7f4;border-radius:8px;padding:3px 8px;font-size:.84rem;font-weight:800;box-shadow:inset 0 0 0 1px #12302814}.inventory-list li.is-used{color:#6b4e16;opacity:.74;background:#fef3c7;text-decoration:line-through}.panel-label{color:#527067;font-size:.78rem;font-weight:800}.dice-value{color:#123028;background:#fff;border:2px solid #24362f;border-radius:8px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 4px 10px #1f2a2424,inset 0 -2px #1f2a2414}.dice-button{color:#123028;cursor:pointer;background:#fff;min-height:42px;padding:0;transform:none}.turn-panel .dice-button{color:#123028;background:#fff;min-height:42px;padding:0}.dice-button:disabled{cursor:default;opacity:1}.dice-button:not(:disabled):hover{background:#fff;border-color:#0f7a3a;transform:none;box-shadow:0 6px 14px #1f2a242e,0 0 0 3px #ffcc0052,inset 0 -2px #1f2a2414}.dice-face{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;gap:3px;width:26px;height:26px;display:grid}.dice-dot{background:0 0;border-radius:50%;width:6px;height:6px}.dice-dot.is-visible{background:#111827}.game-board-section{min-width:0}@media (width>=1100px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(330px,390px);align-items:start}.game-layout.is-board-only{grid-template-columns:minmax(0,1fr)}.game-board-section{flex-direction:column;place-items:center;width:100%;min-height:0;display:flex}.board-wrap{width:min(100%,1120px);margin:0 auto}.has-action-panel .board-wrap{width:min(100%,860px)}.side-panel-stack{max-height:100%;position:sticky;top:0;overflow:auto}.question-card,.castle-card{max-height:100%;overflow:auto}.game-dashboard.has-action-panel .inventory-list{max-height:52px;overflow:hidden}.board-hint{margin-top:4px;font-size:.84rem}}.board-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:none}.board-toolbar button[aria-pressed=true]{background:#0f766e}.board-wrap{aspect-ratio:1;background:var(--game-field-background);border:2px solid #24362f;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 10px 28px #1f2a241f}.board-wrap:after{content:"";pointer-events:none;border-radius:6px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffffa6}.board-image{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.cell-layer{position:absolute;inset:0}.token-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.board-cell{color:#0000;clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);background:0 0;place-items:center;transition:color 90ms;display:grid;position:absolute;transform:translate(-50%,-50%)}.board-cell:before{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);content:"";opacity:0;pointer-events:none;transition:background 90ms,box-shadow 90ms,opacity 90ms;position:absolute;inset:12% 10%}.board-cell:not(:disabled):hover,.board-cell:focus-visible{transform:translate(-50%,-50%)}.board-cell span{color:#0000;background:0 0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.board-cell.is-selectable{z-index:4;cursor:pointer}.board-cell.is-castle-shield-target{cursor:crosshair}.board-cell.is-selectable:before{opacity:1;background:#1665341f;box-shadow:inset 0 0 0 3px #166534b8,inset 0 0 24px #22c55e24}.board-cell.is-selectable:hover,.board-cell.is-selectable:focus-visible{color:#123028}.board-cell.is-selectable:hover:before,.board-cell.is-selectable:focus-visible:before{opacity:1;background:#facc1533;box-shadow:inset 0 0 0 4px #facc15f2,inset 0 0 0 8px #ffffff61,inset 0 0 28px #facc1547}.board-cell.is-selectable:hover span,.board-cell.is-selectable:focus-visible span,.board-cell.is-selected span{color:#123028;background:#ffffffeb}.board-cell.is-visited:before{opacity:1;box-shadow:inset 0 0 0 2px #16653480}.board-cell.is-selected{color:#123028}.board-cell.is-selected:before{opacity:1;background:#2563eb24;box-shadow:inset 0 0 0 4px #2563ebeb,inset 0 0 0 8px #ffffff5c}.board-cell.has-microbe,.board-cell.has-protection,.board-cell.has-microbe.is-selected,.board-cell.has-protection.is-selected,.board-cell.has-microbe.is-visited,.board-cell.has-protection.is-visited{box-shadow:none;background:0 0}.board-cell.has-microbe:before,.board-cell.has-protection:before,.board-cell.has-microbe:hover:before,.board-cell.has-protection:hover:before,.board-cell.has-microbe:focus-visible:before,.board-cell.has-protection:focus-visible:before{opacity:0;box-shadow:none;background:0 0}.board-cell.is-castle-shield-target:before,.board-cell.is-castle-shield-target.has-microbe:before,.board-cell.is-castle-shield-target.has-microbe:hover:before,.board-cell.is-castle-shield-target.has-microbe:focus-visible:before{opacity:1;background:#facc152e;box-shadow:inset 0 0 0 4px #dc2626eb,inset 0 0 0 8px #ffffff61,inset 0 0 26px #facc153d}.board-cell.is-unavailable{cursor:not-allowed}.board-cell.is-unavailable:not(.has-microbe):not(.has-protection){opacity:.42}.board-cell.is-start-cell{background:0 0}.board-cell.is-start-cell.is-selectable:before{opacity:1;background:#0f766e24;box-shadow:inset 0 0 0 3px #0f766ecc,inset 0 0 26px #facc1529}.board-cell.is-start-cell span{color:#6b4e16c7;background:#fef3c7b8}.board-cell.is-start-cell.is-selectable span{color:#123028;background:#ffffffdb}.board-cell.is-castle-cell{background:0 0}.token-stack{justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;transform:translate(-50%,-50%)}.game-token{aspect-ratio:1;background-position:50%;background-repeat:no-repeat;background-size:cover;border:clamp(2px,.28vw,4px) solid #ffffffe6;border-radius:50%;place-items:center;width:clamp(28px,65%,104px);animation:.26s ease-out token-pop;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 24px #1f2a245c,inset 0 -4px #1f2a2424}.microbe-token{background-image:url(../assets/tokens/microbe-token.jpg)}.microbe-token:before{content:none}.protection-token{background-image:url(../assets/tokens/protection-token.jpg)}.protection-token:before{content:none}@keyframes token-pop{0%{opacity:0;transform:scale(.72)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.board-hint{color:#527067;margin:8px 0 0;font-weight:700}.result-banner{z-index:20;color:#123028;text-align:center;background:#fffffff5;border:3px solid #111827;border-radius:8px;gap:10px;width:min(520px,100vw - 32px);padding:clamp(18px,4vw,30px);display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 70px #11182742,inset 0 0 0 6px #facc151f}.result-banner h2{margin:0;font-size:clamp(2rem,8vw,4.4rem);line-height:1}.result-banner p{color:#527067;margin:0;font-weight:800}.result-banner button{color:#fff;background:#166534;justify-self:center;min-height:44px;padding:10px 18px}.result-banner.is-victory{border-color:#166534}.result-banner.is-defeat{border-color:#991b1b}.result-kicker{color:#0f766e;text-transform:uppercase;font-size:.84rem}.info-panel,.test-panel,.question-card,.castle-card{background:#ffffffe6;border:1px solid #1f2a241f;border-radius:8px;box-shadow:0 12px 34px #1f2a241f}.info-panel{border-color:#facc1570;border-top:4px solid var(--cgon-yellow);padding:10px;overflow:hidden}.game-dashboard .info-panel{min-width:0;padding:8px 10px}.side-panel-stack{gap:8px;max-height:calc(100vh - 16px);display:grid;position:sticky;top:8px;overflow:auto}@media (width>=1100px){.board-wrap{width:min(100%,1120px)}.has-action-panel .board-wrap{width:min(100%,860px)}.side-panel-stack{max-height:100%}}.info-panel h2,.test-panel h2,.question-card h2,.castle-card h2{margin-bottom:8px;font-size:1rem}.game-dashboard .info-panel h2{margin-bottom:6px;font-size:.92rem}.cell-details{gap:6px;margin:0;display:grid}.info-panel .cell-details{grid-template-columns:repeat(2,minmax(0,1fr))}.game-dashboard .info-panel .cell-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}.game-dashboard .info-panel .empty-state{margin-bottom:4px;font-size:.9rem;line-height:1.3}.player-hint{border-left:4px solid var(--cgon-yellow);color:#123028;background:#facc1529;border-radius:8px;margin:0 0 8px;padding:7px 9px;font-size:.84rem;font-weight:800;line-height:1.25}.game-dashboard .info-panel .progress-text{margin-top:4px;font-size:.9rem}.cell-details div{gap:4px;display:grid}.cell-details dt{color:#527067;font-size:.75rem;font-weight:800}.cell-details dd{margin:0;font-size:.9rem;font-weight:700}.empty-state,.progress-text{color:#527067;margin-bottom:0}.progress-text{margin-top:8px;font-weight:800}.test-panel{margin-top:14px;padding:16px}.test-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.test-list button{color:#1f2a24;text-align:left;background:#eef7f4;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:46px;padding:8px 10px;display:flex}.test-list strong{color:#166534;text-align:right;font-size:.78rem}.question-layout{margin-top:10px}.question-card,.castle-card{padding:12px;animation:.18s ease-out panel-in}.question-category{color:#0f766e;background:#dff7ef;border-radius:999px;width:fit-content;margin-bottom:8px;padding:3px 9px;font-size:.82rem;font-weight:800}.question-cell{color:#527067;margin-bottom:10px;font-weight:700}.question-text{margin-bottom:10px;font-size:1rem;font-weight:800;line-height:1.45}.answer-list{gap:8px;display:grid}.answer-list button,.castle-item-list button{color:#fff;text-align:left;overflow-wrap:anywhere;background:linear-gradient(#1a7a3f 0%,#166534 100%);width:100%;min-height:42px;padding:8px 11px;font-size:.95rem;font-weight:800;line-height:1.3;box-shadow:0 8px 18px #1665342e}.answer-list button:not(:disabled):hover,.castle-item-list button:not(:disabled):hover{background:linear-gradient(#218a4a 0%,#166534 100%)}.answer-list button:disabled{opacity:1}.answer-list button.is-correct-answer{color:#fff;background:linear-gradient(#22a554 0%,#166534 100%);box-shadow:inset 0 0 0 3px #facc15,0 8px 18px #16653438}.answer-list button.is-wrong-answer{color:#fff;background:linear-gradient(#ef4444 0%,#b91c1c 100%);box-shadow:inset 0 0 0 3px #ffffffd1,0 8px 18px #b91c1c33}.answer-list button.is-selected-answer:not(.is-wrong-answer):not(.is-correct-answer){box-shadow:inset 0 0 0 3px #facc15}.answer-feedback{border-radius:8px;margin-top:10px;padding:9px 11px;font-weight:800}.answer-feedback.is-correct{color:#14532d;background:#dcfce7}.answer-feedback.is-wrong{color:#7f1d1d;background:#fee2e2}.question-continue-button{width:100%;margin-top:10px}.castle-item-choice{gap:12px;margin-top:16px;display:grid}.castle-card{background:linear-gradient(#fffffff5,#fff7edf0);border-color:#dc262642}.castle-card .question-category{color:#991b1b;background:#fee2e2}.castle-item-list{grid-template-columns:1fr;gap:8px;display:grid}.castle-item-list button:disabled{color:#6b4e16;background:#fef3c7}.castle-continue-button{width:100%}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width>=700px) and (width<=1099px){.game-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.game-dashboard .turn-panel{grid-column:1/-1}.game-dashboard.has-action-panel{grid-template-columns:1fr}.game-layout{grid-template-columns:1fr;gap:10px}.side-panel-stack{max-height:none;position:static;overflow:visible}.turn-panel{grid-template-columns:auto auto minmax(0,1fr)}.turn-panel p,.status-message{grid-column:1/-1}.info-panel{position:static}.inventory-panel{align-content:start}.game-dashboard.has-action-panel .info-panel{display:none}.board-wrap{width:min(100%,860px);margin:0 auto}}@media (width<=699px){.mobile-orientation-notice{z-index:30;color:#123028;background:#fffbebf5;border:2px solid #facc15db;border-radius:8px;gap:10px;padding:12px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 18px 44px #1f2a2447}.mobile-orientation-notice p{margin:0;font-size:.88rem;font-weight:800;line-height:1.3}.mobile-orientation-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mobile-orientation-actions button{color:#fff;background:#166534;min-height:42px;padding:8px 10px}.mobile-orientation-actions button+button{color:#123028;background:#facc15}.notice-screen,.tutorial-screen{place-items:start stretch;padding:10px}.notice-card,.tutorial-card{gap:12px;padding:16px}.tutorial-content{grid-template-columns:1fr;gap:14px}.tutorial-content.is-text-only{max-width:none;min-height:0}.tutorial-copy h1{font-size:2rem}.tutorial-copy p{font-size:.94rem}.tutorial-content.is-text-only .tutorial-copy h1{font-size:clamp(2rem,10vw,2.55rem)}.tutorial-content.is-text-only .tutorial-copy p{font-size:1rem}.tutorial-goal-scene,.tutorial-token-row,.tutorial-path,.tutorial-castle-scene,.tutorial-result-row,.tutorial-answer-flow,.tutorial-hex-grid{min-height:0;padding:12px}.tutorial-hex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-hex{min-height:78px}.tutorial-token-card img{width:62px;height:62px}.tutorial-answer-flow{grid-template-columns:1fr;justify-items:stretch}.tutorial-actions{grid-template-columns:1fr;display:grid}.tutorial-actions button{width:100%}.notice-icon{width:46px;height:46px}.notice-text{font-size:.92rem}.notice-checkbox{padding:10px;font-size:.9rem}.notice-card .primary-button{width:100%}.start-screen,.game-screen{padding:10px}.start-screen{justify-items:stretch}.start-content{width:min(100%,100vw - 20px);min-width:0;max-width:100%;padding:16px;overflow:hidden}.start-content h1{font-size:2rem}.start-text{max-width:30ch}.item-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px}.item-button{min-height:56px;padding:10px}.item-state{font-size:.64rem}.item-selection-header{flex-direction:column;align-items:flex-start}.item-selection-header p{overflow-wrap:anywhere;max-width:30ch;line-height:1.25}@media (width<=480px){.item-list{grid-template-columns:1fr}}.game-header{flex-direction:column;align-items:stretch;gap:8px}.game-header h1{font-size:clamp(1.1rem,7vw,1.6rem)}.secondary-button,.turn-panel button,.board-toolbar button{width:100%}.game-dashboard,.game-dashboard.has-action-panel,.game-layout,.game-layout.has-side-panel,.game-layout.is-board-only{grid-template-columns:1fr}.game-dashboard .info-panel{display:none}.turn-panel{grid-template-columns:auto minmax(0,1fr);align-items:stretch;min-height:0;display:grid}.status-message{grid-column:1/-1}.state-summary{min-height:0}.turn-panel,.inventory-panel{padding:8px}.dice-value{width:44px;height:44px}.inventory-list{max-height:none;overflow:visible}.side-panel-stack{max-height:none;position:static;overflow:visible}.question-card,.castle-card{padding:12px}.answer-list button,.castle-item-list button{min-height:52px;font-size:.95rem}.board-wrap{width:min(100%,100svw - 20px);margin:0 auto}.info-panel .cell-details,.test-list{grid-template-columns:1fr}.game-token{border-width:2px;width:clamp(24px,64%,64px)}.castle-shield-suggestion{grid-template-columns:1fr;bottom:10px;right:10px}.board-cell span{width:24px;height:24px;font-size:.72rem}.result-banner{width:min(420px,100vw - 20px);padding:16px}.legal-note{font-size:.62rem;line-height:1.32}}@media (width<=699px) and (orientation:landscape){.mobile-orientation-notice{display:none}}@media (height<=520px) and (orientation:landscape){.notice-screen,.tutorial-screen,.start-screen,.game-screen{padding:8px}.game-header{flex-direction:row;align-items:center;margin-bottom:4px}.game-header h1{font-size:clamp(1rem,3vw,1.28rem)}.game-dashboard{grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr);gap:6px}.game-dashboard.has-action-panel{grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr)}.game-dashboard .info-panel{display:none}.turn-panel{grid-template-columns:auto auto minmax(120px,160px) minmax(0,1fr);min-height:56px;padding:6px 8px}.turn-panel button{width:auto}.status-message{grid-column:auto;font-size:.78rem}.inventory-panel{padding:6px 8px}.inventory-list{max-height:54px;overflow:auto}.inventory-list li{padding:2px 6px;font-size:.74rem}.game-layout,.game-layout.is-board-only{grid-template-columns:minmax(0,1fr)}.game-layout.has-side-panel{grid-template-columns:minmax(0,min(56svh,50vw)) minmax(260px,1fr);align-items:start}.board-wrap{width:min(100%,78svh,620px)}.has-side-panel .board-wrap{width:100%}.side-panel-stack{max-height:calc(100svh - 128px);overflow:auto}.question-card,.castle-card{padding:10px}.question-text{font-size:.9rem;line-height:1.32}.answer-list button,.castle-item-list button{min-height:38px;padding:7px 9px;font-size:.82rem}.board-hint{font-size:.74rem}.castle-shield-suggestion{width:min(360px,100vw - 16px);padding:9px;bottom:8px;right:8px}.result-banner{max-height:calc(100svh - 16px);overflow:auto}.legal-note{margin-top:6px;font-size:.58rem}}
