:root{--ink: #1f2a24;--muted: #5f7069;--paper: #ffffff;--paper-soft: #f7fbf8;--line: rgba(31, 42, 36, .14);--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;color:#1f2a24;background:#edf7f3;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at top left,rgba(250,204,21,.18),transparent 32rem),linear-gradient(145deg,#edf7f3,#f8faf6 52%,#e7f3fb)}button{border:0;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,opacity .14s ease}button:not(:disabled):hover{transform:translateY(-1px)}button:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.notice-screen{display:grid;min-height:100vh;padding:24px;place-items:center;background:linear-gradient(#0c292047,#0c29201f),url(../assets/board/board.png) center / min(1080px,126vw) no-repeat,#dff2ef}.notice-card{display:grid;gap:14px;width:min(760px,100%);padding:clamp(18px,4vw,30px);border:1px solid rgba(255,255,255,.72);border-top:6px solid var(--cgon-yellow);border-radius:8px;color:#123028;background:#fffffff0;box-shadow:0 28px 70px #0f26203d,inset 0 0 0 1px #2f80c914}.notice-icon{width:54px;height:54px;border:3px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 10px 24px #1f2a243d,inset 0 0 0 2px #facc1552;overflow:hidden}.notice-microbe-icon{background:#fff url(../assets/notice/notice-microbe.jpg) center / cover no-repeat}.notice-card h1{margin:0;font-size:clamp(1.8rem,5vw,3rem);line-height:1}.notice-text{display:grid;gap:9px;color:#344940;font-size:.98rem;line-height:1.45}.notice-text p{margin:0}.notice-age{width:fit-content;padding:4px 10px;border-radius:999px;color:#123028;font-weight:900;background:#fef3c7}.notice-checkbox{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid rgba(15,118,110,.2);border-radius:8px;color:#123028;font-weight:800;background:#eef7f4}.notice-checkbox input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--green)}.notice-checkbox span{min-width:0;overflow-wrap:anywhere}.notice-card .primary-button{justify-self:start}.tutorial-screen{display:grid;min-height:100vh;padding:24px;place-items:center;background:linear-gradient(#0c29204d,#0c29201a),url(../assets/board/board.png) center / min(1080px,126vw) no-repeat,#dff2ef}.tutorial-card{display:grid;gap:18px;width:min(900px,100%);padding:clamp(18px,4vw,30px);border:1px solid rgba(255,255,255,.72);border-top:6px solid var(--cgon-green);border-radius:8px;color:#123028;background:#fffffff5;box-shadow:0 28px 70px #0f26203d,inset 0 0 0 1px #2f80c914}.tutorial-kicker{width:fit-content;margin:0;padding:4px 10px;border-radius:999px;color:#123028;font-weight:900;background:#fef3c7}.tutorial-progress{display:flex;gap:7px;align-items:center}.tutorial-progress span{width:10px;height:10px;border-radius:999px;background:#16653433}.tutorial-progress span.is-active{width:28px;background:var(--green)}.tutorial-content{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:clamp(18px,4vw,34px);align-items:center}.tutorial-content.is-text-only{grid-template-columns:1fr;max-width:780px;min-height:330px;align-content:center;justify-self:center}.tutorial-copy{display:grid;gap:12px}.tutorial-copy h1{margin:0;font-size:clamp(2rem,3.6vw,3.35rem);line-height:1.06;text-wrap:balance}.tutorial-copy p{margin:0;color:#344940;font-size:clamp(1.05rem,1.65vw,1.22rem);font-weight:650;line-height:1.42;text-wrap:pretty}.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{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;min-height:240px;padding:16px;border:1px solid rgba(15,118,110,.14);border-radius:8px;background:#eef7f4}.tutorial-hex-grid{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:12px;min-height:240px;padding:16px;border:1px solid rgba(15,118,110,.14);border-radius:8px;background:#eef7f4}.tutorial-hex{display:grid;place-items:center;min-height:92px;padding:12px 8px;clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);color:#123028;text-align:center;background:#fff;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{display:grid;gap:8px;justify-items:center;color:#123028;font-weight:900;text-align:center}.tutorial-token-card img{width:78px;height:78px;border:3px solid #ffffff;border-radius:50%;object-fit:cover;box-shadow:0 10px 24px #1f2a2438}.tutorial-arrow{color:var(--green);font-size:1.75rem;font-weight:900}.tutorial-answer-flow{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;min-height:240px;padding:16px;border:1px solid rgba(15,118,110,.14);border-radius:8px;background:#eef7f4}.tutorial-question-chip,.tutorial-card-icon,.tutorial-item-icon,.tutorial-result-card{padding:12px 14px;border-radius:8px;color:#123028;font-weight:900;text-align:center;background:#fff;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{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.tutorial-skip-button{min-height:44px;padding:10px 18px;border:1px solid rgba(31,42,36,.14);color:#28443a;background:#eef7f4}.tutorial-skip-button:hover{background:#dff2ed}.start-screen{display:grid;min-height:100vh;max-width:100%;padding:24px;place-items:center;background:linear-gradient(#0c292061,#0c292033),url(../assets/board/board.png) center / min(1120px,128vw) no-repeat,#dff2ef}.start-content{width:min(1280px,calc(100vw - 48px));max-width:100%;min-width:0;padding:24px;border:1px solid rgba(255,255,255,.68);border-radius:8px;color:#fff;background:#112f27c7;box-shadow:0 24px 70px #0f262047}.app-kicker{margin:0 0 8px;color:#facc15;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}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{font-size:clamp(2rem,4.4vw,3.6rem);overflow-wrap:anywhere}.start-text{max-width:560px;margin-bottom:20px;font-size:1.05rem;overflow-wrap:anywhere}.item-selection{display:grid;gap:10px;min-width:0;margin-bottom:16px}.item-selection-header{display:flex;align-items:end;justify-content:space-between;gap:12px}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;width:100%;max-width:100%;min-width:0}.item-button{position:relative;display:block;gap:8px;width:100%;max-width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid rgba(18,48,40,.14);color:#123028;text-align:left;white-space:normal;overflow-wrap:anywhere;background:#fff;box-shadow:0 10px 24px #0f26201f}.item-button.is-selected{color:#fff;border-color:#facc15d9;background:#0f766e;box-shadow:inset 0 0 0 3px #facc15,0 14px 32px #0f766e47}.item-title{display:block;min-width:0;font-size:.92rem;line-height:1.2;overflow-wrap:break-word;word-break:normal}.item-button.is-long-title .item-title{font-size:.86rem;line-height:1.14;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.item-button.is-medium-title .item-title{font-size:.88rem;line-height:1.16;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.item-description{display:none}.item-state{position:absolute;top:6px;right:6px;width:fit-content;padding:2px 7px;border-radius:999px;color:#166534;font-size:.68rem;font-weight:900;background:#dcfce7}.item-button.is-selected .item-state{color:#123028;background:#facc15}.primary-button,.secondary-button,.board-toolbar button{min-height:44px;padding:10px 18px;color:#fff;background:#166534}.secondary-button{color:#123028;background:#facc15}.legal-note{display:grid;gap:2px;width:min(1440px,100%);margin:12px auto 0;color:#527067;font-size:.72rem;line-height:1.42;text-align:left;overflow-wrap:normal;word-break:normal}.legal-note p{display:block;margin:0;max-width:100%}.start-legal-note{padding-top:10px;color:#ffffffc7}button:disabled{cursor:not-allowed;opacity:.58}.mobile-orientation-notice{display:none}.game-screen{min-height:100vh;padding:10px 14px 18px}.game-header{display:flex;align-items:end;justify-content:space-between;gap:16px;width:min(1440px,100%);margin:0 auto 4px}.game-header h1{margin-bottom:0;font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.12}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:10px;align-items:start;width:min(1440px,100%);margin:0 auto}.game-layout.is-board-only{grid-template-columns:1fr}.game-dashboard{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(300px,.85fr) minmax(280px,.65fr);gap:8px;align-items:stretch;width:min(1440px,100%);margin:0 auto 6px}.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{display:grid;grid-template-columns:auto auto minmax(130px,180px) minmax(0,1fr);gap:8px;align-items:center;height:100%;min-width:0;min-height:86px;padding:7px 10px;border:1px solid rgba(47,128,201,.34);border-top:4px solid var(--cgon-blue);border-radius:8px;background:#ffffffe6;box-shadow:0 12px 34px #1f2a241a}.turn-panel>*{min-width:0}.turn-panel>div:first-child{position:relative;display:flex;align-items:center;align-self:center;min-height:42px;padding-top:0}.turn-panel>div:first-child>.panel-label{position:absolute;top:-18px;left:0;line-height:1}.turn-panel button{min-height:34px;padding:7px 12px;color:#fff;background:#166534}.castle-shield-button{color:#123028;background:#facc15}.castle-shield-button.is-active{color:#fff;background:#dc2626}.castle-shield-suggestion{position:fixed;right:18px;bottom:18px;z-index:18;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:min(420px,calc(100vw - 28px));min-width:0;padding:12px;border:2px solid rgba(250,204,21,.78);border-radius:8px;background:#fef9c3db;box-shadow:0 18px 38px #1f2a2447}.castle-shield-suggestion.is-active{border-color:#dc2626b8;background:#fee2e2e6}.castle-shield-suggestion strong{display:block;font-size:1rem;line-height:1.15}.castle-shield-note{margin:4px 0 0;color:#527067;font-size:.78rem;font-weight:800;line-height:1.25}.turn-panel p{margin:0}.state-summary{min-height:38px;padding:4px 10px;border-left:4px solid var(--cgon-yellow);border-radius:8px;background:#f8faf6}.state-summary strong{display:block;color:#123028;font-size:.95rem}.status-message{min-width:0;max-width:100%;color:#1f2a24;font-size:clamp(.82rem,.9vw,.94rem);font-weight:800;line-height:1.3;overflow-wrap:anywhere}.inventory-panel{display:grid;align-content:start;gap:6px;height:100%;min-height:0;padding:8px 10px;border:1px solid rgba(119,184,42,.34);border-top:4px solid var(--cgon-green);border-radius:8px;background:#ffffffe6;box-shadow:0 12px 34px #1f2a241a}.inventory-panel h2{margin:0;font-size:.92rem}.inventory-list{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;list-style:none}.inventory-list li{padding:3px 8px;border-radius:8px;color:#123028;font-weight:800;font-size:.84rem;background:#eef7f4;box-shadow:inset 0 0 0 1px #12302814}.inventory-list li.is-used{color:#6b4e16;text-decoration:line-through;background:#fef3c7;opacity:.74}.panel-label{color:#527067;font-size:.78rem;font-weight:800}.dice-value{display:grid;width:42px;height:42px;place-items:center;border:2px solid #24362f;border-radius:8px;color:#123028;background:#fff;box-shadow:0 4px 10px #1f2a2424,inset 0 -2px #1f2a2414}.dice-button{padding:0;min-height:42px;color:#123028;background:#fff;cursor:pointer;transform:none}.turn-panel .dice-button{min-height:42px;padding:0;color:#123028;background:#fff}.dice-button:disabled{cursor:default;opacity:1}.dice-button:not(:disabled):hover{transform:none;background:#fff;border-color:#0f7a3a;box-shadow:0 6px 14px #1f2a242e,0 0 0 3px #ffcc0052,inset 0 -2px #1f2a2414}.dice-face{display:grid;width:26px;height:26px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;place-items:center}.dice-dot{width:6px;height:6px;border-radius:50%;background:transparent}.dice-dot.is-visible{background:#111827}.game-board-section{min-width:0}@media (min-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{display:flex;width:100%;min-height:0;align-items:center;flex-direction:column;justify-items:center}.board-wrap{width:min(100%,1120px);margin:0 auto}.has-action-panel .board-wrap{width:min(100%,860px)}.side-panel-stack{position:sticky;top:0;max-height:100%;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{display:none;flex-wrap:wrap;gap:10px;margin-bottom:8px}.board-toolbar button[aria-pressed=true]{background:#0f766e}.board-wrap{position:relative;overflow:hidden;width:100%;aspect-ratio:1 / 1;border:2px solid #24362f;border-radius:8px;background:#dff2ef;box-shadow:0 10px 28px #1f2a241f}.board-wrap:after{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;box-shadow:inset 0 0 0 1px #ffffffa6;content:"";pointer-events:none}.board-image{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.cell-layer{position:absolute;top:0;right:0;bottom:0;left:0}.token-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.board-cell{position:absolute;display:grid;place-items:center;color:transparent;background:transparent;clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);transform:translate(-50%,-50%);transition:color 90ms ease}.board-cell:before{position:absolute;top:12%;right:10%;bottom:12%;left:10%;clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);content:"";opacity:0;pointer-events:none;transition:background 90ms ease,box-shadow 90ms ease,opacity 90ms ease}.board-cell:not(:disabled):hover,.board-cell:focus-visible{transform:translate(-50%,-50%)}.board-cell span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:transparent;background:transparent}.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{background:transparent;box-shadow:none}.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;background:transparent;box-shadow:none}.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:transparent}.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:transparent}.token-stack{position:absolute;display:flex;gap:5px;align-items:center;justify-content:center;transform:translate(-50%,-50%)}.game-token{position:relative;display:grid;width:clamp(28px,65%,104px);aspect-ratio:1;place-items:center;border:clamp(2px,.28vw,4px) solid rgba(255,255,255,.9);border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:0 12px 24px #1f2a245c,inset 0 -4px #1f2a2424;overflow:hidden;animation:token-pop .26s ease-out}.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{margin:8px 0 0;color:#527067;font-weight:700}.result-banner{position:fixed;z-index:20;top:50%;left:50%;display:grid;gap:10px;width:min(520px,calc(100vw - 32px));padding:clamp(18px,4vw,30px);border:3px solid #111827;border-radius:8px;color:#123028;text-align:center;background:#fffffff5;box-shadow:0 28px 70px #11182742,inset 0 0 0 6px #facc151f;transform:translate(-50%,-50%)}.result-banner h2{margin:0;font-size:clamp(2rem,8vw,4.4rem);line-height:1}.result-banner p{margin:0;color:#527067;font-weight:800}.result-banner button{justify-self:center;min-height:44px;padding:10px 18px;color:#fff;background:#166534}.result-banner.is-victory{border-color:#166534}.result-banner.is-defeat{border-color:#991b1b}.result-kicker{color:#0f766e;font-size:.84rem;text-transform:uppercase}.info-panel,.test-panel,.question-card,.castle-card{border:1px solid rgba(31,42,36,.12);border-radius:8px;background:#ffffffe6;box-shadow:0 12px 34px #1f2a241f}.info-panel{padding:10px;border-color:#facc1570;border-top:4px solid var(--cgon-yellow);overflow:hidden}.game-dashboard .info-panel{min-width:0;padding:8px 10px}.side-panel-stack{position:sticky;top:8px;display:grid;gap:8px;max-height:calc(100vh - 16px);overflow:auto}@media (min-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{display:grid;gap:6px;margin:0}.info-panel .cell-details{grid-template-columns:repeat(2,minmax(0,1fr))}.game-dashboard .info-panel .cell-details{gap:4px 8px;grid-template-columns:repeat(3,minmax(0,1fr))}.game-dashboard .info-panel .empty-state{margin-bottom:4px;font-size:.9rem;line-height:1.3}.player-hint{margin:0 0 8px;padding:7px 9px;border-left:4px solid var(--cgon-yellow);border-radius:8px;color:#123028;background:#facc1529;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{display:grid;gap:4px}.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{margin-bottom:0;color:#527067}.progress-text{margin-top:8px;font-weight:800}.test-panel{margin-top:14px;padding:16px}.test-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;padding:0;margin:0;list-style:none}.test-list button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:46px;padding:8px 10px;color:#1f2a24;text-align:left;background:#eef7f4}.test-list strong{color:#166534;font-size:.78rem;text-align:right}.question-layout{margin-top:10px}.question-card,.castle-card{padding:12px;animation:panel-in .18s ease-out}.question-category{width:fit-content;margin-bottom:8px;padding:3px 9px;border-radius:999px;color:#0f766e;font-size:.82rem;font-weight:800;background:#dff7ef}.question-cell{margin-bottom:10px;color:#527067;font-weight:700}.question-text{margin-bottom:10px;font-size:1rem;font-weight:800;line-height:1.45}.answer-list{display:grid;gap:8px}.answer-list button,.castle-item-list button{width:100%;min-height:42px;padding:8px 11px;color:#fff;font-size:.95rem;font-weight:800;line-height:1.3;text-align:left;overflow-wrap:anywhere;background:linear-gradient(180deg,#1a7a3f,#166534);box-shadow:0 8px 18px #1665342e}.answer-list button:not(:disabled):hover,.castle-item-list button:not(:disabled):hover{background:linear-gradient(180deg,#218a4a,#166534)}.answer-list button:disabled{opacity:1}.answer-list button.is-correct-answer{color:#fff;background:linear-gradient(180deg,#22a554,#166534);box-shadow:inset 0 0 0 3px #facc15,0 8px 18px #16653438}.answer-list button.is-wrong-answer{color:#fff;background:linear-gradient(180deg,#ef4444,#b91c1c);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{margin-top:10px;padding:9px 11px;border-radius:8px;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{display:grid;gap:12px;margin-top:16px}.castle-card{border-color:#dc262642;background:linear-gradient(180deg,#fffffff5,#fff7edf0)}.castle-card .question-category{color:#991b1b;background:#fee2e2}.castle-item-list{display:grid;grid-template-columns:1fr;gap:8px}.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 (min-width: 700px) and (max-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{position:static;max-height:none;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 (max-width: 699px){.mobile-orientation-notice{position:fixed;right:10px;bottom:10px;left:10px;z-index:30;display:grid;gap:10px;padding:12px;border:2px solid rgba(250,204,21,.86);border-radius:8px;color:#123028;background:#fffbebf5;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{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-orientation-actions button{min-height:42px;padding:8px 10px;color:#fff;background:#166534}.mobile-orientation-actions button+button{color:#123028;background:#facc15}.notice-screen,.tutorial-screen{padding:10px;place-items:start stretch}.notice-card,.tutorial-card{gap:12px;padding:16px}.tutorial-content{grid-template-columns:1fr;gap:14px}.tutorial-content.is-text-only{min-height:0;max-width:none}.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{display:grid;grid-template-columns:1fr}.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%,calc(100vw - 20px));max-width:100%;min-width:0;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{align-items:flex-start;flex-direction:column}.item-selection-header p{max-width:30ch;overflow-wrap:anywhere;line-height:1.25}@media (max-width: 480px){.item-list{grid-template-columns:1fr}}.game-header{align-items:stretch;flex-direction:column;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{display:grid;align-items:stretch;grid-template-columns:auto minmax(0,1fr);min-height:0}.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{position:static;max-height:none;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%,calc(100svw - 20px));margin:0 auto}.info-panel .cell-details,.test-list{grid-template-columns:1fr}.game-token{width:clamp(24px,64%,64px);border-width:2px}.castle-shield-suggestion{right:10px;bottom:10px;grid-template-columns:1fr}.board-cell span{width:24px;height:24px;font-size:.72rem}.result-banner{width:min(420px,calc(100vw - 20px));padding:16px}.legal-note{font-size:.62rem;line-height:1.32}}@media (max-width: 699px) and (orientation: landscape){.mobile-orientation-notice{display:none}}@media (max-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{font-size:.74rem;padding:2px 6px}.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{right:8px;bottom:8px;width:min(360px,calc(100vw - 16px));padding:9px}.result-banner{max-height:calc(100svh - 16px);overflow:auto}.legal-note{margin-top:6px;font-size:.58rem}}
