:root{color:#302819;font-synthesis:none;--cream:#fff6dd;--paper:#f4e3b7;--ink:#302819;--green:#1c5d47;--gold:#dcae42;--red:#a83b2f;--line:#74532e;background:#153c33;font-family:Noto Sans JP,Yu Gothic UI,sans-serif}.audio-settings{border:1px solid #b39462;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.audio-settings legend{font-weight:700}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 50% 0,#527f64,#153c33 60%);width:100%;height:100%;margin:0;overflow:hidden}button,select,input{font:inherit}button{color:var(--ink);cursor:pointer;background:linear-gradient(#fff8df,#e8d09b);border:1px solid #70502b;border-radius:8px;padding:7px 12px;font-weight:700;box-shadow:0 2px #70502b}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #ffd75c}button:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.45}.primary{color:#fff8dc;background:linear-gradient(#c4553e,#8f2d25);border-color:#6b1f19;box-shadow:0 3px #5e211c}.ghost{background:#fff8deb3}.big-button{padding:12px 26px;font-size:18px}h1,h2,p{margin-top:0}h1,h2{font-family:Kaisei Decol,Yu Mincho,serif}.eyebrow{color:#ad7331;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}#game-viewport{--game-scale:1;background:radial-gradient(circle,#315e4c 0,#173f35 65%),#173f35;position:fixed;inset:0;overflow:hidden}#game-frame{position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}#app{zoom:var(--game-scale);width:1280px;height:720px;overflow:hidden}#small-screen-warning{z-index:100;color:#fff8dc;pointer-events:none;white-space:nowrap;background:#173f35e8;border:1px solid #dcae42;border-radius:999px;margin:0;padding:7px 14px;font-size:13px;position:fixed;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0008}@supports not (zoom:1){#app{transform:scale(var(--game-scale));transform-origin:0 0}}.screen{width:1280px;min-height:720px;position:relative}.title-screen{text-align:center;color:#fff9dc;background:linear-gradient(#113a2f1a,#112b22d6),radial-gradient(circle at 25% 25%,#84b383 0 5%,#0000 26%),linear-gradient(135deg,#75a975,#2f6950);place-items:center;display:grid}.title-screen:before,.title-screen:after{content:"";clip-path:polygon(0 100%,0 50%,12% 48%,17% 25%,22% 48%,32% 44%,36% 20%,43% 45%,55% 40%,62% 5%,72% 42%,82% 30%,89% 47%,100% 42%,100% 100%);opacity:.75;background:#193b2e;width:42%;height:45%;position:absolute;bottom:0}.title-screen:before{left:0}.title-screen:after{right:0;transform:scaleX(-1)}.title-card{z-index:1;background:linear-gradient(#184637eb,#113027f5);border:4px double #e4bd5c;border-radius:22px;width:650px;padding:50px 70px;box-shadow:0 20px 80px #0e241d,inset 0 0 40px #10392d}.title-card h1{color:#fff0b5;text-shadow:0 4px #6c371b;margin:0;font-size:58px}.title-card .subtitle{color:#f6cf6d;margin:8px 0 28px;font-family:Georgia,serif;font-size:20px}.title-card .subtitle span{letter-spacing:.12em;border:1px solid #dcb75a;border-radius:12px;margin-left:8px;padding:3px 8px;font:10px Noto Sans JP}.title-copy{margin-bottom:28px}.build-label{z-index:1;opacity:.65;letter-spacing:.12em;font-size:10px;position:absolute;bottom:18px}.setup-screen{color:var(--ink);background:linear-gradient(#ece2bee6,#d6c697f2),radial-gradient(circle,#79a973,#32654e);padding:28px 130px}.setup-header{text-align:center}.setup-header h1{color:#234f3f;margin:0;font-size:42px}.steps{justify-content:center;gap:46px;margin:12px 0 20px;display:flex}.steps span{color:#806b44;background:#efe1b9;border:2px solid #977a47;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid;position:relative}.steps span:not(:last-child):after{content:"";background:#aa9163;width:50px;height:2px;position:absolute;left:30px}.steps .done{color:#fff;background:#2c6a50;border-color:#214d3c}.setup-card{background:#fff8dedb;border:2px solid #9a7742;border-radius:14px;grid-template-columns:1fr 1fr;gap:14px 28px;width:720px;margin:0 auto;padding:30px;display:grid;box-shadow:0 12px 30px #5e533d55}.setup-card label{gap:7px;font-weight:700;display:grid}.setup-card input,.setup-card select,.player-setup-card input{min-height:42px;color:var(--ink);background:#fffaf0;border:1px solid #a18657;border-radius:7px;padding:7px 10px}.player-setup-card input{width:100%;min-width:0}.form-note,.error{grid-column:1/-1;margin:0;font-size:13px}.error{color:#a12b25;min-height:20px;font-weight:700}.setup-actions,.result-actions{justify-content:center;gap:18px;margin-top:30px;display:flex}.setup-actions{margin-top:18px}.player-setup-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.player-setup-card{background:#fff4d8;border:3px solid #8d643d;border-radius:14px;place-items:center;gap:12px;min-width:0;padding:28px 16px;display:grid;box-shadow:0 7px #82613b}.pawn-preview,.player-dot{color:#fff;text-shadow:0 1px 2px #222;border:2px solid #fff;border-radius:50%;place-items:center;font-weight:800;display:inline-grid}.pawn-preview{width:62px;height:62px;font-size:18px;box-shadow:0 3px #554}.player-1 .pawn-preview,.dot-red{background:#d74d3e}.player-2 .pawn-preview,.dot-blue{background:#347dbb}.player-3 .pawn-preview,.dot-green{background:#438d50}.player-4 .pawn-preview,.dot-yellow{background:#d6a51c}.board-select-screen{padding:14px 40px}.board-select-screen .steps{margin:6px 0 12px}.map-selection-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,1fr);gap:10px;max-width:1180px;margin:0 auto;display:grid}.map-card{text-align:left;cursor:pointer;background:#fff6de;border:2px solid #a4824d;border-radius:10px;flex-direction:column;align-items:flex-start;padding:10px 12px;transition:transform .15s,border-color .15s,box-shadow .15s,background-color .15s;display:flex;box-shadow:0 3px 8px #49351c22}.map-card:hover:not(:disabled){border-color:#d4a74b;transform:translateY(-2px);box-shadow:0 5px 12px #49351c33}.map-card.selected{background:#fbf9ea;border:3px solid #2d7554;box-shadow:0 0 0 2px #51b585,0 5px 14px #1c4b3544}.map-card-header{justify-content:space-between;width:100%;margin-bottom:2px;font-size:10px;font-weight:800;display:flex}.map-number{color:#a46d29;letter-spacing:.08em}.map-difficulty{color:#ad3b20;font-size:10px}.map-name{color:#2b5c47;margin:0 0 2px;font-size:17px;font-weight:800}.map-tags{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.map-tag{color:#614620;letter-spacing:.04em;background:#ebddbd;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.map-description{color:#55442f;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-grow:1;margin:0 0 6px;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.selection-indicator{color:#7b6238;background:#eddcb7;border-radius:10px;align-self:flex-end;padding:2px 7px;font-size:10px;font-weight:800}.map-card.selected .selection-indicator{color:#fff;background:#2d7554}.current-map-badge{color:#fff9de;letter-spacing:.05em;background:#416853;border:1px solid #e2c575;border-radius:10px;margin-top:2px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.game-screen{color:#352a18;background:#173f35;grid-template-rows:74px minmax(0,1fr) 230px;width:1280px;height:720px;display:grid;position:relative;overflow:hidden}.game-header{color:#fff0bc;background:linear-gradient(#244f3e,#14382f);border-bottom:3px solid #bd8f3b;grid-template-columns:250px 1fr 520px;align-items:center;padding:8px 18px;display:grid}.brand{font:20px Kaisei Decol,serif;display:grid}.brand small{letter-spacing:.2em;opacity:.7;font:9px Noto Sans JP}#turn-banner{text-align:center;background:#4c2f1d;border:2px solid #d6aa4a;border-radius:8px;justify-self:center;min-width:270px;padding:5px 26px;display:grid}#turn-banner strong{font-size:18px}#turn-banner span{font-size:12px}.ranking{justify-content:flex-end;gap:5px;display:flex}.rank{color:#2b2318;text-align:center;background:#fff2d2;border:2px solid #e4cd96;border-radius:7px;min-width:86px;padding:5px;font-size:12px;transition:transform .25s,background .25s;animation:.3s ease-out rank-update;display:grid}.rank[data-tiebreak]:not([data-tiebreak=""]){border-bottom-color:#9b5a22;box-shadow:inset 0 -3px #d7a746}.rank-red{border-top-color:#d84a3a}.rank-blue{border-top-color:#3784c6}.rank-green{border-top-color:#4b9b55}.rank-yellow{border-top-color:#e1ad22}.game-grid{grid-template-columns:215px 1fr 225px;min-width:0;min-height:0;display:grid;overflow:hidden}.left-rail,.right-rail{background:linear-gradient(#285944,#1d4939);min-width:0;min-height:0;padding:8px}.left-rail{grid-template-rows:auto minmax(0,1fr);gap:8px;display:grid;overflow:hidden}.left-rail>.panel{min-height:0;margin-bottom:0}.right-rail{grid-template-rows:auto auto auto;align-content:start;gap:2px;padding:4px;display:grid;overflow:hidden}.right-rail .panel{margin-bottom:0}.right-rail .current-player{padding:6px}.right-rail .current-player h2{margin:-6px -6px 4px;padding:4px 6px}.right-rail .current-player .player-dot{width:26px;height:26px}.panel{background:#f9edca;border:2px solid #b48a42;border-radius:9px;margin-bottom:8px;padding:9px;box-shadow:inset 0 0 12px #be9f6666}.panel h2{color:#fff1bf;text-align:center;background:#285742;border-radius:6px 6px 0 0;margin:-9px -9px 8px;padding:6px 8px;font-size:15px}.goal-card{background:#fff9e8;border:1px solid #b49357;border-radius:6px;margin-bottom:7px;padding:7px}.goal-card strong{justify-content:space-between;font-size:12px;display:flex}.goal-card em{color:#9b5b1f;font-style:normal}.goal-card p,.goal-card small{margin:3px 0 0;font-size:10px;display:block}.goal-card.claimed{color:#214b36;background:#dcebc8;border:2px solid #4f8a59;box-shadow:inset 4px 0 #4f8a59}.public-goals{border-color:#5f8d62;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.public-goals h2{background:#3d7650;margin-bottom:4px;padding-block:4px;font-size:13px}#personal-goal{align-content:start;min-width:0;min-height:0;display:grid;overflow:hidden}.public-goal-card{background:#fff9e8;border:1px solid #b49357;border-radius:5px;grid-template-rows:18px 7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:4px;min-width:0;min-height:26px;margin-bottom:1px;padding:1px 4px;display:grid}.public-goal-card:focus-within{background:#f3f6d9;border-color:#6b8e5a;box-shadow:inset 3px 0 #6b8e5a}.public-goal-card:last-child{margin-bottom:0}.public-goal-summary{align-items:baseline;gap:4px;min-width:0;font-size:8px;font-weight:800;display:flex}.public-goal-summary .public-goal-player,.public-goal-summary strong{min-width:0}.public-goal-summary .public-goal-player{color:#4d6848;white-space:nowrap;flex:0 auto}.public-goal-summary strong{color:#3d3a27;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:9px;overflow:hidden}.public-goal-points{color:#8a5718;white-space:nowrap;flex:none;font-size:8px}.public-goal-detail-button{color:#234f3f;white-space:nowrap;background:#e1efc9;border:1px solid #6e9a68;min-width:40px;min-height:18px;padding:2px 4px;font-size:8px;line-height:1;box-shadow:0 1px #52754d}.public-goal-detail-button:hover:not(:disabled){background:#f4e69d}.public-goal-progress{color:#6d5932;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;font-size:7px;line-height:1;overflow:hidden}.goal-popover-layer{z-index:75;pointer-events:none;position:absolute;inset:0;overflow:visible}.goal-popover{visibility:hidden;color:#352a18;pointer-events:auto;background:#fff8df;border:2px solid #6b8e5a;border-radius:9px;gap:6px;width:248px;max-height:188px;padding:9px;display:grid;position:absolute;overflow-y:auto;box-shadow:0 8px 22px #10251dcc}.goal-popover header{border-bottom:1px solid #c6a35d;justify-content:space-between;align-items:center;gap:8px;padding-bottom:4px;display:flex}.goal-popover header strong{color:#234f3f;min-width:0;font-size:11px}.goal-popover-close{flex:none;min-height:24px;padding:3px 6px;font-size:9px}.goal-popover h3,.goal-popover p{margin:0}.goal-popover h3{color:#70451e;font-size:16px}.goal-popover h3 span{color:#8a5718;font-size:11px}.goal-popover p{font-size:10px;line-height:1.25}.goal-popover p b{color:#6d5932;min-width:40px;display:inline-block}.goal-popover-progress{color:#4d6848}.goal-popover-points{color:#8a5718}.board-panel{background:#76a869;min-width:0;min-height:0;position:relative;overflow:hidden}#board-canvas,#board-canvas canvas{object-fit:fill;min-width:0;min-height:0;width:100%!important;height:100%!important}#board-canvas canvas{display:block}.branch-panel{z-index:20;color:#fff5c9;white-space:nowrap;background:#173d33eb;border:2px solid #ffd65b;border-radius:9px;grid-template-columns:auto 1fr 1fr;align-items:center;gap:8px;padding:8px;display:grid;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.branch-panel:empty{display:none}.branch-panel button{color:#3b2b12;background:#fff0a3;min-width:210px}.branch-panel button small{margin-top:2px;font-size:9px;display:block}.branch-panel button.target-route{box-shadow:0 0 0 3px #fff2a3,0 0 18px #ffe568}.branch-panel .route-b{color:#173a40;background:#c8f6fb;border-color:#38aabd}.toast{z-index:30;color:#fff9d9;opacity:0;pointer-events:none;text-align:left;white-space:pre-line;background:#173d33ed;border:2px solid #e8c76d;border-radius:22px;max-width:min(92%,430px);padding:9px 22px;font-weight:800;line-height:1.35;transition:all .18s;position:absolute;top:20px;left:50%;transform:translate(-50%,-15px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.build{color:#3a2713;background:#ffe18b;animation:.5s ease-out build-pop}.toast.cpu{background:#23546b;border-color:#6ec8e1}.toast.milestone{color:#432d0d;background:#ffd75d;border-color:#fff2a3;box-shadow:0 0 28px #ffe57c}.toast.score{color:#3a2709;background:#f8c85d}.toast.previous{display:none}.turn-history{color:#f8ebc3;background:#173c31;border:1px dashed #c8a76a;border-radius:6px;padding:4px 6px;font-size:9px;line-height:1.3}.turn-history[hidden]{display:none}.turn-history.build{color:#3a2709;background:#f5d884;border-style:solid}.turn-history.milestone{color:#3a2709;background:#ffe66f;border-style:solid}.player-dot{vertical-align:middle;width:30px;height:30px;font-size:10px}.resource{background:#fffaf0;border-left:5px solid;border-radius:5px;justify-content:space-between;align-items:center;margin:2px 0;padding:3px 7px;font-size:13px;display:flex}.resource strong{font-size:16px}.resource>span{align-items:center;gap:5px;display:flex}.game-icon{color:currentColor;vertical-align:-.3em;width:1.4em;height:1.4em;display:inline-block;overflow:visible}.game-icon path,.game-icon circle{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.resource-wood .game-icon{color:#874c25}.resource-stone .game-icon{color:#5f6470}.resource-food .game-icon{color:#4c8534}.resource-parts .game-icon{color:#286f9e}.building-icon{color:#66451f;place-items:center;display:grid}.building-icon .game-icon{width:100%;height:100%}.resource-wood{border-color:#9a5c2e}.resource-stone{border-color:#777}.resource-food{border-color:#4f963f}.resource-parts{border-color:#3b7dac}#score-card{color:#fff0b5;text-align:left;background:#315844;border-radius:7px;grid-template-columns:1fr auto;align-items:center;margin-top:4px;padding:4px;display:grid}.current-player #score-card{margin-top:2px;padding:2px}.current-player #score-card strong{font-size:17px}.current-player .score-breakdown span{padding-block:0}#score-card strong{color:#ffe06f;font-size:20px}#score-card small{text-align:center;grid-column:1/-1}.score-breakdown{grid-template-columns:repeat(3,1fr);gap:3px;margin-top:1px;display:grid}.score-breakdown span{background:#234735;border-radius:4px;padding:1px;font-size:8px}.current-player .resource{height:19px;margin-block:1px;padding:1px 6px;font-size:12px}.current-player .resource strong{font-size:15px}.viewing-context{color:#244c3b;text-align:center;background:#fff8df;border:1px solid #b79557;border-radius:5px;margin:-4px 0 2px;padding:1px 4px;font-size:8px;font-weight:800}.help{padding:4px 7px;font-size:10px}.help summary{cursor:pointer;font-weight:800}.help p{margin:4px 0}.right-rail .help{padding:3px 6px;font-size:9px}.right-rail .help p{margin:2px 0;line-height:1.1}.next-build h2{background:#7f4a25;margin:-7px -7px 4px;padding-block:4px}.next-build{padding:7px}.target-building-card{grid-template-columns:32px 1fr;align-items:start;gap:5px;display:grid}.target-building-card>div{min-width:0}.target-building-card>span{font-size:26px}.target-building-card strong,.target-building-card p,.target-building-card small{margin:0;font-size:10px;line-height:1.15;display:block}.target-building-card p{color:#9a3e24;font-weight:800}.target-shortage{flex-wrap:wrap;gap:2px;margin:1px 0;display:flex}.target-shortage b{color:#7e361f;width:100%;font-size:9px}.target-resource,.target-shortage>span{background:#fff6d5;border-left:3px solid;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:800}.target-shortage .ready{color:#256b43}.target-building-card small+small{margin-top:2px}.target-building-card .target-ability{color:#806a43;font-size:9px}.target-building-card.target-empty{align-items:center}.target-actions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-top:3px;display:grid}.target-action{white-space:nowrap;min-width:0;min-height:20px;padding:2px 3px;font-size:9px;line-height:1.1}.target-action.recommendation{color:#3b2b10;cursor:pointer;background:linear-gradient(#ffe79a,#d6a43e);border:2px solid #94651d;box-shadow:0 2px #76501b}.target-action.recommendation:hover:not(:disabled){filter:brightness(1.1)saturate(1.05)}.target-action.recommendation:disabled{color:#6d6250;box-shadow:none;cursor:not-allowed;opacity:.52;background:#ded4ba;border-color:#b8aa88}.target-action.clear{color:#6b3c2c;background:#f3e5c6;grid-column:1/-1}.command-bar{background:#4f351e;border-top:4px solid #b9863b;grid-template-rows:38px 1fr;grid-template-columns:205px minmax(0,1fr) 300px;display:grid}.action-guide{color:#fff6cc;text-align:center;background:linear-gradient(90deg,#183f33,#2e684e,#183f33);border-bottom:1px solid #a88245;grid-column:1/-1;justify-content:center;align-items:center;gap:18px;font-size:12px;line-height:1.15;display:flex}.action-guide strong{color:#ffe274;white-space:nowrap;min-width:0;font-size:15px;line-height:1.15}.action-guide span{white-space:nowrap;min-width:0;line-height:1.15}.dice-zone{border-right:2px solid #947143;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr);align-content:center;gap:4px;min-width:0;padding:5px 8px 6px;display:grid;position:relative;overflow:hidden}.dice-tray{isolation:isolate;background:radial-gradient(circle at 50% 35%,#f8e8b5 0,#e0bf70 72%),#e0bf70;border:2px solid #8e6a38;border-radius:10px;width:100%;min-width:0;height:86px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff5c8aa,inset 0 -8px 12px #84562044,0 2px #3a2514}.dice-tray-label{z-index:3;color:#70501f;letter-spacing:.12em;font-size:7px;font-weight:900;line-height:1;position:absolute;top:3px;left:7px}.dice-cube-stage{perspective:520px;isolation:isolate;height:59px;margin:12px 5px 0;position:relative;overflow:visible}.dice-cube{z-index:2;color:#2f271e;width:58px;height:58px;box-shadow:none;transform-style:preserve-3d;transform-origin:50%;will-change:transform;background:0 0;border:0;border-radius:0;display:block;position:absolute;top:1px;left:calc(50% - 29px);transform:translate(0,0)rotateX(0)rotateY(0)rotate(0)scale(1)}.dice-cube-face{backface-visibility:hidden;width:58px;height:58px;transform-style:preserve-3d;background:linear-gradient(145deg,#fffdf1,#ead9ab);border:1px solid #6c5030;border-radius:10px;outline:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;padding:7px;display:grid;position:absolute;box-shadow:0 2px #53391f}.dice-cube-face-front{transform:translateZ(29px)}.dice-cube-face-back{background:linear-gradient(145deg,#ead8aa,#c7a66b);transform:rotateY(180deg)translateZ(29px)}.dice-cube-face-right{background:linear-gradient(145deg,#e4cb91,#b98a4f);transform:rotateY(90deg)translateZ(29px)}.dice-cube-face-left{background:linear-gradient(145deg,#e8d09a,#bd9053);transform:rotateY(-90deg)translateZ(29px)}.dice-cube-face-top{background:linear-gradient(145deg,#fff8cf,#d8bc7c);transform:rotateX(90deg)translateZ(29px)}.dice-cube-face-bottom{background:linear-gradient(145deg,#d0ae70,#a9773f);transform:rotateX(-90deg)translateZ(29px)}.dice-cube-face .die-pip{width:8px;height:8px}.dice-cube.rolling-path-a{animation:dice-roll var(--dice-roll-duration,.76s) cubic-bezier(.18, .82, .28, 1) 1 both}.dice-cube.rolling-path-b{animation:dice-roll-b var(--dice-roll-duration,.76s) cubic-bezier(.18, .82, .28, 1) 1 both}.dice-cube.rolling-path-c{animation:dice-roll-c var(--dice-roll-duration,.76s) cubic-bezier(.18, .82, .28, 1) 1 both}.dice-cube.rolling-path-d{animation:dice-roll-d var(--dice-roll-duration,.76s) cubic-bezier(.18, .82, .28, 1) 1 both}.dice-cube.landed{animation:none}.dice-cube.settling{animation:.18s cubic-bezier(.2,.82,.25,1) both dice-settle}.dice-cube[data-state=RESULT]{transform:translate(0,0)rotateX(3deg)rotateY(-3deg)rotate(0)scale(1)}.dice-cube.previous-result{opacity:.58;filter:saturate(.55)}.dice-cube.unrolled .dice-cube-face-front{opacity:.16}.dice-shadow{z-index:1;filter:blur(1px);opacity:.72;background:#49301899;border-radius:50%;width:43px;height:8px;transition:opacity .18s,transform .18s;position:absolute;bottom:1px;left:50%;transform:translate(-50%)scaleX(.86)}.die-pip{opacity:0;background:#4b3925;border-radius:50%;width:9px;height:9px;margin:auto;transition:opacity 60ms,transform 80ms;display:block;transform:scale(.35);box-shadow:inset 0 1px 1px #fff8}.die-pip.is-active{opacity:1;transform:scale(1)}.dice-cube.rolling~.dice-shadow{opacity:.38;transform:translate(-50%)scaleX(1.12)}.dice-cube.settling~.dice-shadow{opacity:.62;transform:translate(-50%)scaleX(.94)}.dice-cube.landed~.dice-shadow{opacity:.86;transform:translate(-50%)scaleX(.76)}.dice-status{color:#674b25;text-align:center;white-space:nowrap;min-height:11px;font-size:8px;font-weight:800;line-height:1}.dice-cube[data-state=PRE_ROLL_WITH_PREVIOUS_RESULT]{opacity:.66;filter:saturate(.58)}.dice-abilities{min-width:0;min-height:0;line-height:1}.dice-ability-list{flex-wrap:wrap;gap:3px;min-width:0;display:flex}.dice-ability-control{color:#f8e4b1;background:#68421f;border:2px solid #d4a74b;border-radius:6px;align-items:center;gap:3px;min-width:0;padding:2px 3px;font-size:8px;line-height:1;display:inline-flex;box-shadow:0 2px #2e1c13}.dice-ability-name{color:#ffe28a;white-space:nowrap;font-weight:900}.dice-ability-list button,.dice-ability-list span{color:#f8e4b1;white-space:nowrap;background:#68421f;border:1px solid #a77d42;border-radius:5px;min-width:0;padding:2px 3px;font-size:8px;line-height:1;box-shadow:0 1px #2e1c13}.dice-ability-list button{cursor:pointer;background:linear-gradient(#9a6330,#72401f);border:1px solid #f0d27a;box-shadow:0 1px #2e1c13}.dice-ability-control button{color:#fff8dc;min-height:22px;padding:2px 5px;font-size:9px}.dice-ability-control small{color:#f3d995;white-space:nowrap}.game-screen[data-phase=POST_ROLL] .dice-zone{grid-template-rows:84px 0 minmax(0,1fr) 30px;align-content:stretch;gap:3px}.game-screen[data-phase=POST_ROLL] .dice-roll-button,.game-screen[data-phase=ROLLING] .dice-roll-button{visibility:hidden;pointer-events:none}.game-screen[data-phase=POST_ROLL] .dice-tray{height:80px}.game-screen[data-phase=POST_ROLL] .dice-ability-control{border-width:1px;gap:2px;padding:1px 2px;font-size:7px}.game-screen[data-phase=POST_ROLL] .dice-ability-control button{min-height:18px;padding:1px 3px;font-size:8px}.game-screen[data-phase=POST_ROLL] .dice-ability-control small{font-size:7px}.dice-ability-list button:hover:not(:disabled){filter:brightness(1.12)}.space-choice-buttons{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.space-choice-btn{cursor:pointer;background:#fdf5df;border:2px solid #b48a42;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;font-size:13px;font-weight:700;transition:transform .1s,background-color .1s;display:flex}.space-choice-btn:hover{background:#fff8e7;border-color:#d4a74b;transform:translateY(-2px)}.space-choice-btn.resource-wood{color:#1e4a16;border-color:#4b8b3b}.space-choice-btn.resource-stone{color:#373b3e;border-color:#7a8288}.space-choice-btn.resource-food{color:#6e3a09;border-color:#d87d2a}.space-choice-btn.resource-parts{color:#153c61;border-color:#3b7bb5}.dice-ability-list small{font-size:8px}.dice-ability-list .dice-ability-available{color:#f0d99e;box-shadow:none;background:0 0;border-style:dashed}.dice-ability-list .dice-ability-used{color:#c8b895;box-shadow:none;background:#3f3023;border-color:#6f5b3d}.dice-ability-list .dice-ability-control{background:#68421f;border:2px solid #d4a74b;box-shadow:0 2px #2e1c13}.confirm-roll{min-height:30px;padding:2px 4px;font-size:10px;line-height:1.05}.game-screen[data-phase=POST_ROLL] .confirm-roll:not(:disabled){color:#fffdf1;opacity:1;background:linear-gradient(#d95b3f,#92291f);border:3px solid #ffe169;min-height:30px;font-size:10px;box-shadow:0 0 0 2px #5b1c17,0 4px #4c1713}.game-screen[data-phase=ROLLING] .confirm-roll,.game-screen[data-phase=ROLLING] .dice-ability-list button{border-style:dashed}.city-zone{color:#3b2d1c;background:#e8d19d;border:2px solid #0000;min-width:0;padding:7px 10px;transition:border-color .25s,box-shadow .25s;position:relative}.city-zone.build-ready{border-color:#ffd84f;animation:1.2s ease-in-out infinite alternate city-ready;box-shadow:inset 0 0 18px #fff19c}.city-heading{justify-content:space-between;align-items:center;display:flex}.city-heading h2{margin:0;font-size:16px}.city-heading span{font-size:11px;font-weight:700}.city-heading #build-availability{color:#fff;background:#9c4c29;border-radius:12px;padding:3px 8px;font:11px Noto Sans JP}.build-ready .city-heading #build-availability{color:#3d2704;background:#ffd34f}.city-buildings{gap:5px;height:84px;margin:5px 0;display:flex}.building-card{background:#fff8df;border:1px solid #9b7844;border-radius:6px;flex:1;place-items:center;min-width:86px;padding:4px;display:grid;position:relative}.building-card span{font-size:24px}.building-card .building-icon{width:32px;height:32px}.building-card strong{font-size:10px}.building-card small{color:#714b26;font-size:9px;font-weight:700}.building-card button{padding:2px 4px;font-size:8px;position:absolute;bottom:2px;right:2px}.building-card.upgrade-ready{border:2px solid #e5a91f;box-shadow:inset 0 0 10px #ffe887,0 0 8px #ffd75a}.building-card.upgrade-ready button{color:#3b2706;background:#ffe27a}.building-card.empty{color:#9f865d;background:#e5d5b3;border-style:dashed;animation:none}.build-toggle{z-index:51;color:#fff8cf;background:linear-gradient(#98602d,#6d3d1e);width:100%;padding:5px;font-size:11px;position:relative}.build-ready .build-toggle{color:#382300;background:linear-gradient(#ffe36d,#efb936)}.building-modal{z-index:80;place-items:center;display:grid;position:absolute;inset:0}.building-modal[hidden]{display:none}.building-backdrop{width:100%;height:100%;box-shadow:none;background:#10251dcc;border:0;border-radius:0;position:absolute;inset:0}.building-backdrop:hover:not(:disabled){filter:none;transform:none}.building-dialog{background:#f7e7bd;border:4px solid #d3a746;border-radius:14px;grid-template-rows:auto minmax(0,1fr);width:1000px;height:620px;max-height:620px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 60px #000a}.building-dialog>header{color:#fff4c7;background:#285742;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.building-dialog-actions{align-items:center;gap:6px;display:flex}.building-dialog header p,.building-dialog header h2{margin:0}.building-dialog header p{font-size:10px}.building-dialog header h2{font-size:24px}.building-dialog-close{color:#34230d;background:#fff0b8;min-width:96px}.building-dialog-clear{color:#fff4c7;background:#704126;border-color:#d7b56a;box-shadow:0 2px #432718}.building-options{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1fr 1fr;gap:8px;min-height:0;padding:10px;display:grid;overflow:hidden}.building-options article{background:#fff9e8;border:1px solid #b7965f;border-radius:5px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:0;padding:6px 8px;display:grid}.building-options article.can-build{background:#fff4bd;border:2px solid #d69c23;box-shadow:0 0 12px #ffd85e99}.building-options article.is-target{outline-offset:-3px;outline:3px solid #7a5a13}.building-options article.is-built{background:#e6dec8}.building-options article.is-built .build-reason{display:none}.building-options article>.building-icon{width:36px;height:36px}.building-options strong,.building-options small,.building-options p{margin:0;font-size:11px;display:block}.building-option-summary{min-width:0}.building-option-title{align-items:baseline;gap:8px;display:flex}.building-option-title strong{font-size:15px}.building-option-title span,.building-cost,.ability-short{color:#654421;font-size:10px;font-weight:700}.building-options details{color:#5e4930;margin-top:1px;font-size:10px}.building-options details p{z-index:2;background:#f2e2bc;border:1px solid #b7965f;max-width:310px;padding:4px 6px;position:absolute}.build-state{color:#8b3825;margin-top:2px;font-size:11px;display:inline-block}.can-build .build-state{color:#236b42}.building-options button{padding:4px 7px;font-size:10px}.build-reason{color:#9b3c25;font-size:10px}.can-build .build-reason{color:#257044}.build-card-actions{gap:3px;width:58px;min-width:58px;display:grid}.building-options .build-card-actions button{white-space:nowrap;width:100%;min-width:0;min-height:24px}.building-options .target-button{color:#5b482c;background:#eee1bf;font-size:8px}.action-zone{color:#fff0c5;grid-template-rows:minmax(0,1fr) auto;gap:2px;min-height:0;padding:6px 10px;display:grid}.action-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.end-turn{width:100%;padding-block:3px}.end-turn.end-turn-skip{color:#f5e7bf;background:#5b513d;border:1px solid #a88758;font-size:10px;box-shadow:0 1px #33291f}.end-turn.end-turn-skip:hover:not(:disabled){color:#fff9e6;background:#716249;border-color:#d1b477}.end-turn.end-turn-skip:focus-visible{outline-offset:1px;outline:2px solid #f8d96a}#utility-actions{align-content:start;gap:3px;min-height:0;display:grid}.utility-action-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;min-width:0;display:grid}.utility-action-tab{color:#fff0c5;text-align:center;background:linear-gradient(#704522,#4e2d1b);border-color:#a77d42;min-width:0;min-height:32px;padding:3px 2px;font-size:9px;line-height:1.1;display:grid;box-shadow:0 2px #2e1c13}.utility-action-tab small{color:#f3d995;white-space:nowrap;font-size:8px}.utility-action-tab[aria-expanded=true]{color:#3b270d;background:linear-gradient(#ffe68c,#d59a2e);border-color:#ffd768;box-shadow:0 2px #80521d}.utility-action-tab[aria-expanded=true] small{color:#5b3b18}.utility-action-details{min-width:0}.mini-action{border:1px solid #9d7942;border-radius:5px;grid-template-columns:minmax(78px,1fr) 10px minmax(96px,1.15fr) 68px;gap:3px;min-width:0;margin:0;padding:0 2px 1px;font-size:8px;display:grid;position:relative}.mini-action legend{color:#ffe174;align-items:baseline;gap:6px;padding-inline:3px;font-size:8px;font-weight:800;display:flex}.mini-action legend small{color:#dbc99a;white-space:nowrap;font-size:7px}.mini-action label{color:#f7e8bd;min-width:0;line-height:1;display:grid}.mini-action label>span{margin-bottom:1px;font-size:8px}.mini-action select{width:100%;min-width:0;height:20px;margin-top:1px;font-size:10px}.mini-action>.action-arrow{text-align:center;align-self:end;padding-bottom:5px}.mini-action button{border-radius:5px;align-self:end;min-width:68px;height:20px;padding:1px 3px;font-size:9px}.workshop-action{grid-template-columns:minmax(82px,1fr) minmax(92px,1fr) 72px}.workshop-action button{min-width:72px}.workshop-source{color:#f7e8bd;white-space:nowrap;align-items:end;gap:3px;padding-bottom:4px;font-size:9px;display:flex}.workshop-source .game-icon{width:16px;height:16px}.utility-summary{color:#dbc99a;text-align:center;margin:4px 0;font-size:9px}.game-screen:not([data-phase=ACTION]) .build-toggle:not(:disabled){color:#eadfbd;filter:saturate(.55);background:linear-gradient(#765b3d,#594129)}.result-screen{text-align:center;color:#352a18;background:linear-gradient(#e9dab0ed,#cdb47aed),radial-gradient(circle,#5b8f66,#173d32);padding:12px 70px}.result-screen header h1{color:#25543f;margin:0;font-size:34px}.result-screen header p{margin-bottom:6px}.result-winner-banner{color:#5c3911;background:#fff1b8;border:2px solid #d6a52e;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:4px 14px;display:inline-flex;box-shadow:0 2px #a77725}.winner-trophy{color:#a86b1e;place-items:center;width:24px;height:24px;display:inline-grid}.winner-trophy .game-icon{width:24px;height:24px}.result-winner-banner b{color:#8c4a16;letter-spacing:.08em}.result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:8px;display:grid}.result-list.players-2{grid-template-columns:minmax(0,1fr)}.result-list.players-2 .result-card{grid-template-columns:72px minmax(0,1fr) 330px;min-height:190px;padding:9px 18px}.result-list.players-2 .result-rank{font-size:44px}.result-list.players-2 .result-card h2{font-size:22px}.result-list.players-2 .result-town>small,.result-list.players-2 .result-town>b,.result-list.players-2 .final-city{font-size:12px}.result-list.players-2 .final-city-section{background:#f6e7ba;border:2px solid #c59a46;padding:6px 8px}.result-list.players-2 .final-building{min-width:92px;padding:5px 8px}.result-list.players-2 .final-building .game-icon{width:28px;height:28px}.result-list.players-2 .result-card dl{grid-area:1/3;grid-template-columns:repeat(2,1fr)}.result-list.players-2 .result-card dt{font-size:10px}.result-list.players-2 .result-card dd{font-size:22px}.result-card{text-align:left;background:#fff5d8;border:2px solid #9c7842;border-radius:10px;grid-template-columns:55px 1fr;align-items:center;gap:8px 10px;min-height:168px;padding:7px 10px;display:grid;box-shadow:0 4px #86643a}.result-card.rank-1{background:#fff8d5;border:4px solid #d6a52e}.result-rank{text-align:center;color:#9a6124;font:36px Kaisei Decol}.result-rank small{font-size:14px}.winner-badge{color:#6b3f0e;letter-spacing:.04em;background:#ffe58a;border:1px solid #b77c1b;border-radius:5px;margin-top:3px;padding:2px 4px;font-size:8px;line-height:1.1;display:block}.result-card h2{margin:0 0 4px;font-size:18px}.result-card p{margin:0;font-size:10px}.result-town{gap:3px;display:grid}.result-town>small,.result-town>b{font-size:9px}.result-town>b{color:#865020}.final-city-section h3{color:#70451e;margin:0 0 4px;font:11px Noto Sans JP}.final-city{flex-wrap:wrap;gap:3px;display:flex}.final-building{background:#ead9ac;border:1px solid #c8a866;border-radius:7px;grid-template-columns:22px auto;align-items:center;gap:1px 4px;padding:2px 5px;display:grid}.final-building.empty{writing-mode:horizontal-tb;min-width:84px;display:block}.final-building .game-icon{grid-row:1/3;width:20px;height:20px}.final-building b,.final-building small{line-height:1.1}.goal-result{align-items:center;gap:6px;display:flex}.goal-badge{border:1px solid;border-radius:999px;padding:2px 6px;font-size:9px}.goal-badge.achieved{color:#215f3b;background:#d8eccd}.goal-badge.not-achieved{color:#7c3c2e;background:#f1d5c9}.result-tiebreak{color:#7c4f1f;font-weight:800}.result-card dl{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:4px;margin:0;display:grid}.result-card dl div{text-align:center;background:#f0dfb3;border-radius:6px;padding:4px}.result-card dt{font-size:9px}.result-card dd{margin:0;font-size:20px;font-weight:800}.result-card .total{color:#9d541f;border-left:2px solid #c6a56b;padding-left:4px}.result-card .total dd{font-size:24px}.result-screen .result-actions{margin-top:8px}@keyframes dice-roll{0%{transform:translate(-18px,4px)rotateX(0)rotateY(0)rotate(0)scale(.94)}16%{transform:translate(-7px,-11px)rotateX(70deg)rotateY(35deg)rotate(55deg)scale(1.02)}38%{transform:translate(21px,-5px)rotateX(150deg)rotateY(125deg)rotate(150deg)scale(1.05)}58%{transform:translate(30px,8px)rotateX(230deg)rotateY(205deg)rotate(230deg)scale(.98)}78%{transform:translate(14px,3px)rotateX(300deg)rotateY(270deg)rotate(300deg)scale(1.02)}92%{transform:translate(2px)rotateX(350deg)rotateY(330deg)rotate(350deg)scale(.98)}to{transform:translateY(-2px)rotateX(6deg)rotateY(-5deg)rotate(2deg)scale(1.02)}}@keyframes dice-roll-b{0%{transform:translate(-16px,5px)rotateX(0)rotateY(0)rotate(0)scale(.95)}20%{transform:translate(-1px,-12px)rotateX(-65deg)rotateY(75deg)rotate(-45deg)scale(1.03)}44%{transform:translate(25px,-2px)rotateX(-145deg)rotateY(165deg)rotate(-140deg)scale(1.04)}64%{transform:translate(28px,10px)rotateX(-225deg)rotateY(245deg)rotate(-220deg)scale(.98)}82%{transform:translate(10px,3px)rotateX(-305deg)rotateY(315deg)rotate(-305deg)scale(1.01)}to{transform:translateY(-2px)rotateX(6deg)rotateY(-5deg)rotate(2deg)scale(1.02)}}@keyframes dice-roll-c{0%{transform:translate(-20px,3px)rotateX(0)rotateY(0)rotate(0)scale(.94)}17%{transform:translate(-8px,-9px)rotateX(55deg)rotateY(-75deg)rotate(70deg)scale(1.02)}40%{transform:translate(18px,-6px)rotateX(145deg)rotateY(-160deg)rotate(185deg)scale(1.06)}60%{transform:translate(32px,9px)rotateX(220deg)rotateY(-240deg)rotate(255deg)scale(.97)}80%{transform:translate(12px,4px)rotateX(305deg)rotateY(-315deg)rotate(330deg)scale(1.02)}to{transform:translateY(-2px)rotateX(6deg)rotateY(-5deg)rotate(2deg)scale(1.02)}}@keyframes dice-roll-d{0%{transform:translate(-17px,4px)rotateX(0)rotateY(0)rotate(0)scale(.95)}18%{transform:translateY(-12px)rotateX(80deg)rotateY(-45deg)rotate(-65deg)scale(1.03)}42%{transform:translate(24px,-3px)rotateX(165deg)rotateY(-130deg)rotate(-165deg)scale(1.05)}62%{transform:translate(29px,9px)rotateX(245deg)rotateY(-215deg)rotate(-250deg)scale(.98)}84%{transform:translate(9px,3px)rotateX(315deg)rotateY(-300deg)rotate(-330deg)scale(1.02)}to{transform:translateY(-2px)rotateX(6deg)rotateY(-5deg)rotate(2deg)scale(1.02)}}@keyframes dice-land{0%{transform:translateY(-4px)rotateX(1deg)rotateY(-1deg)rotate(2deg)scale(1.08)}55%{transform:translateY(2px)rotateX(-1deg)rotateY(1deg)rotate(-1deg)scale(.96)}to{transform:translate(0,0)rotateX(0)rotateY(0)rotate(0)scale(1)}}@keyframes dice-settle{0%{transform:var(--dice-settle-start)}42%{transform:translateY(2px)rotateX(2deg)rotateY(-2deg)rotate(1deg)scale(1.04)}72%{transform:translateY(-1px)rotateX(4deg)rotateY(-4deg)rotate(0)scale(.97)}to{transform:translate(0,0)rotateX(3deg)rotateY(-3deg)rotate(0)scale(1)}}@keyframes build-pop{0%{transform:translate(-50%,10px)scale(.6)}}@keyframes city-ready{to{box-shadow:inset 0 0 24px #fff7bc,0 0 14px #ffd94f}}@keyframes rank-update{0%{background:#ffe67f;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.dice-cube.rolling,.dice-cube.settling,.dice-cube.landed{animation:none!important;transform:none!important}.dice-cube-face,.die-pip{transition:none!important}.dice-shadow{opacity:.7!important;transform:translate(-50%)scaleX(.86)!important}}
