:root{font-family:'Nunito Sans','Noto Sans KR',system-ui,-apple-system,sans-serif;color:#eff8ff;background:#0a1830;font-synthesis:none;--ink:#e9f4ff;--muted:#9bb0d1;--surface:rgba(18,39,75,.78);--line:rgba(191,216,252,.14);--gold:#ffe2a1}
*{box-sizing:border-box}html{min-width:330px;min-height:100%;}body{min-height:100vh;margin:0;background:radial-gradient(ellipse at 17% 9%,#193f67 0,transparent 38%),radial-gradient(ellipse at 85% 92%,#152b60 0,transparent 36%),#0a1630;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #9ceafb;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}#app{min-height:100vh}.app-frame{max-width:1550px;margin:0 auto;padding:13px 18px 6px}.topbar{height:65px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(100deg,rgba(13,30,58,.87),rgba(21,42,82,.76));padding:8px 17px;box-shadow:0 10px 28px #0002}.brand{display:flex;gap:11px;align-items:center;white-space:nowrap}.brand-mark{display:grid;place-items:center;height:43px;width:43px;border-radius:14px;background:linear-gradient(150deg,#34d5d0,#4985fa);box-shadow:0 4px 18px #1bbedf66;font-size:24px}.brand-text{font-size:23px;font-weight:900;letter-spacing:-1.5px}.brand-text small{color:#7fddfd;font-size:12px;letter-spacing:2px;display:block;line-height:1.1}.topbar-actions{display:flex;align-items:center;gap:8px}.top-pill{border:1px solid var(--line);background:#172f54;color:#d9ebff;padding:10px 12px;border-radius:11px;font-size:12px;font-weight:800;white-space:nowrap}.top-pill:hover{background:#234a77}.top-pill.active{border-color:#5cd1d6;background:#194c65}.main-layout{display:grid;grid-template-columns:minmax(0,1fr) 326px;gap:15px;align-items:start;margin-top:15px}.board-panel{width:100%;max-width:min(100%, calc(100dvh - 122px));margin:0 auto;position:relative;border:1px solid #6380a344;min-width:0;border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at center,#23578230,#15446b15 44%,#08172d91 83%),linear-gradient(135deg,#133850,#121d43 66%,#243a58);box-shadow:0 17px 47px #02091899,inset 0 0 70px #66b9ff13}.board-panel::before{content:'';pointer-events:none;position:absolute;inset:0;opacity:.18;background-image:radial-gradient(#b5e5ff 1px,transparent 1px);background-size:26px 26px}.board-panel::after{content:'';pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at center,transparent 44%,#0614278a 100%)}.board-stage{width:100%;aspect-ratio:1/1;min-height:0;position:relative;isolation:isolate;overflow:hidden}.decor-circle{position:absolute;inset:8%;border:1px dashed #85b8e52b;border-radius:50%;pointer-events:none}.decor-circle.two{inset:16%;transform:rotate(35deg)}.world-backdrop{position:absolute;width:76%;height:76%;top:12%;left:12%;opacity:.22;filter:drop-shadow(0 0 15px #99dbff);pointer-events:none}.board-grid{position:absolute;left:50%;top:50%;width:69.5%;height:69.5%;transform:translate(-50%,-50%) rotate(-45deg);display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));border:4px solid #9cd9c9aa;background:#163d57;border-radius:9px;box-shadow:0 0 0 8px #02142f88,0 0 0 12px #4e89a14d,0 30px 55px #020b18d9,inset 0 0 30px #070f28;z-index:1}.board-grid::before{content:'';position:absolute;inset:11.11%;background:linear-gradient(135deg,#10253c 0%,#193e58 60%,#123a58 100%);border:2px solid #75b4c554;box-shadow:inset 0 0 30px #010b23ad;pointer-events:none}.tile{position:relative;z-index:2;display:block;border:1px solid #eaf6ff4d;color:#fff;text-align:center;padding:0;margin:0;background:linear-gradient(155deg,color-mix(in srgb,var(--tile-color) 90%,white),color-mix(in srgb,var(--tile-color) 65%,#061427));box-shadow:inset 1px 1px 2px #ffffff46,inset -3px -4px 5px #0616296b;transition:filter .18s,background .2s}.tile:hover{filter:brightness(1.23);z-index:5}.tile.owned{background:linear-gradient(145deg,color-mix(in srgb,var(--owner) 78%,white),color-mix(in srgb,var(--owner) 85%,#07172e));box-shadow:inset 1px 2px 3px #ffffffb2,inset -3px -4px 5px #030f224f,0 0 7px var(--owner)}.tile.current-position{outline:3px solid #fff5ab;outline-offset:-3px;z-index:4}.tile.selectable{animation:tile-pulse .9s infinite alternate;cursor:crosshair}.tile.corner{background:linear-gradient(145deg,#284f75,#10254d)}.tile.corner.start{background:linear-gradient(135deg,#20b3bc,#2265ac)}.tile.corner.island{background:linear-gradient(135deg,#d49b64,#754954)}.tile.corner.olympics{background:linear-gradient(135deg,#e1b35d,#a35469)}.tile.corner.travel{background:linear-gradient(135deg,#8f75ec,#425cd1)}@keyframes tile-pulse{from{filter:brightness(1)}to{filter:brightness(1.65)}}.tile-face{position:absolute;top:50%;left:50%;width:137%;height:135%;transform:translate(-50%,-50%) rotate(45deg);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;pointer-events:none;text-shadow:0 1px 3px #071128b3}.tile-icon{font-size:clamp(11px,1.5vw,21px);line-height:1.05}.tile-label{font-size:clamp(7px,.76vw,11px);font-weight:900;line-height:1.21;letter-spacing:-.35px;max-width:94%;word-break:keep-all;white-space:normal}.tile-meta{display:flex;gap:3px;align-items:center;font-size:clamp(5px,.58vw,9px);font-weight:900;line-height:1.1;opacity:.97}.city-class{color:#fff2b4}.tile-badge{border-radius:5px;background:#101a39a9;padding:1px 3px;font-size:clamp(6px,.6vw,9px);line-height:1.2}.mini-landmark{display:block;position:absolute;top:-2%;right:3%;font-size:clamp(11px,1.6vw,21px);filter:drop-shadow(0 1px 1px #0008);z-index:4}.mini-landmark .metal-medal{font-size:10px;position:absolute;right:-5px;bottom:-5px;filter:drop-shadow(0 1px 2px black)}.mini-tokens{display:flex;gap:2px;justify-content:center;flex-wrap:wrap;max-width:100%;margin-top:2px}.mini-token{width:clamp(8px,1vw,13px);height:clamp(8px,1vw,13px);border-radius:50%;border:1.5px solid white;background:var(--token-color);box-shadow:0 1px 4px #0008;display:grid;place-items:center;font-size:7px;font-weight:900;color:white}.mini-token.dead{opacity:.55}.board-core{position:absolute;left:50%;top:50%;width:42%;height:39%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:6;text-align:center;pointer-events:none}.board-core>*{pointer-events:auto}.core-title{font-size:clamp(15px,2.65vw,36px);line-height:1.17;letter-spacing:-1.5px;font-weight:1000;text-shadow:0 2px 14px #09243d}.core-title span{background:linear-gradient(100deg,#fff9db,#86e9fb 75%,#b8b8ff);background-clip:text;-webkit-background-clip:text;color:transparent}.core-sub{font-size:clamp(8px,.84vw,12px);color:#b4dff2;margin:2px 0 5px;font-weight:800}.dice-tray{display:flex;gap:clamp(8px,1.2vw,18px);justify-content:center;perspective:500px;margin:6px 0 9px}.die{width:clamp(37px,4.5vw,67px);height:clamp(37px,4.5vw,67px);border-radius:15%;padding:7px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;background:linear-gradient(138deg,#ffffff,#c4e5fb 80%,#9fc9e8);box-shadow:4px 8px 0 #597e9d,6px 12px 16px #0009,inset 2px 2px 4px white;transform:rotate(var(--dicerotate,0deg));transition:transform .15s}.die.rolling{animation:dice-tumble .36s linear infinite}.pip{border-radius:50%;background:#255382;box-shadow:inset 1px 1px 1px #0c234f}.pip.empty{visibility:hidden}@keyframes dice-tumble{0%{transform:translateY(-5px) rotate(-18deg) rotateX(20deg)}50%{transform:translateY(3px) rotate(20deg) rotateY(25deg)}100%{transform:translateY(-5px) rotate(342deg) rotateX(20deg)}}.dice-total{font-size:clamp(10px,1.05vw,15px);font-weight:900;color:#e8eeff}.turn-name{font-weight:900;color:#fff1ad;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(9px,.9vw,13px)}.core-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-top:6px}.btn{border:0;color:white;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .15s,filter .15s;border-radius:12px;padding:12px 15px;line-height:1.25}.btn:not(:disabled):hover{filter:brightness(1.13);transform:translateY(-2px)}.btn.primary{background:linear-gradient(110deg,#29c6c3,#3981ed);box-shadow:0 5px 14px #1364a95e}.btn.secondary{background:#1a3a61;border:1px solid #87caed56}.btn.danger{background:linear-gradient(115deg,#bd4b62,#8d3055)}.btn.gold{background:linear-gradient(105deg,#ecb957,#e08945);color:#2f2540}.btn.ghost{background:#ffffff10;border:1px solid #a6dfff44}.btn.sm{border-radius:9px;padding:7px 10px;font-size:12px}.btn.wide{width:100%;padding:14px}.board-core .btn{font-size:clamp(9px,.91vw,13px);padding:clamp(7px,.7vw,10px) clamp(8px,.85vw,13px);border-radius:10px}.sidebar{display:flex;flex-direction:column;gap:12px;min-width:0}.panel{background:linear-gradient(155deg,#1b355bdf,#101f3bdb);border:1px solid var(--line);border-radius:19px;box-shadow:0 12px 25px #07152b71;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 17px 11px}.panel-title{font-size:14px;font-weight:900;display:flex;align-items:center;gap:8px}.round-chip{border:1px solid #9cbceb44;border-radius:30px;color:#9ebee6;padding:4px 9px;font-size:11px;font-weight:900}.player-list{padding:0 10px 10px;display:flex;flex-direction:column;gap:7px}.player-card{position:relative;border:1px solid #9bbadd20;background:#0c203cd4;border-radius:12px;padding:10px 10px 9px;overflow:hidden}.player-card.is-current{border-color:var(--p-color);background:linear-gradient(95deg,color-mix(in srgb,var(--p-color) 27%,#122544),#12223ecf)}.player-card.is-dead{opacity:.54;filter:grayscale(.6)}.player-card-top{display:flex;align-items:center;gap:8px}.player-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:var(--p-color);color:#fff;font-size:14px;font-weight:1000;text-shadow:0 1px 2px #0008;flex:none}.player-info{min-width:0;flex:1}.player-name{font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-hearts{font-size:11px;letter-spacing:1px;line-height:1.35;white-space:nowrap}.player-stats{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:6px;font-size:12px;font-weight:900}.player-stats .coin{color:#ffdf92}.player-stats .city-count{font-size:11px;color:#b0c9e8}.player-stats .wealth{font-size:11px;color:#7fe2db}.tiny-tag{font-size:10px;border-radius:6px;background:#ffffff1b;padding:2px 6px}.events-list{margin:0;padding:0 13px 12px;list-style:none;max-height:206px;overflow:auto}.events-list li{position:relative;padding:8px 4px 8px 14px;border-top:1px solid #ffffff12;color:#b5c9e6;font-size:11px;line-height:1.5;word-break:keep-all}.events-list li:before{position:absolute;left:1px;top:16px;content:'';width:5px;height:5px;border-radius:50%;background:#5bcbd5}.events-list li:first-child{color:#fff}.lower-hint{color:#a4c2e7;font-size:10px;text-align:center;margin:4px 8px 0}.footer-note{text-align:center;color:#6483a8;font-size:10px;letter-spacing:.4px;padding:9px 0 0}.footer-note a{color:#80b3cf;text-decoration:none}.modal-layer{position:fixed;inset:0;z-index:30;display:flex;justify-content:center;align-items:center;padding:18px;background:rgba(3,12,27,.76);backdrop-filter:blur(10px);animation:fade-in .16s ease}.modal{position:relative;width:min(100%,560px);max-height:min(92vh,810px);overflow-y:auto;border:1px solid #89c5e66b;border-radius:25px;background:radial-gradient(circle at 80% 0,#31588760,transparent 54%),linear-gradient(135deg,#213e61,#101e39 75%);box-shadow:0 29px 100px #010917e6,inset 0 1px #ffffff2e;padding:26px}.modal.wide{width:min(100%,660px)}.modal-topline{font-size:10px;font-weight:1000;letter-spacing:2.3px;text-transform:uppercase;color:#6bdee8}.modal h2{font-size:clamp(23px,3vw,32px);margin:4px 0 11px;letter-spacing:-1px;line-height:1.3}.modal h3{font-size:17px;margin:8px 0}.modal p{font-size:13px;line-height:1.75;color:#b9cfe7;margin:9px 0}.modal .modal-close{position:absolute;right:16px;top:16px;background:#ffffff16;color:#d6eaff;border:1px solid #ffffff1c;width:32px;height:32px;border-radius:50%;font-size:18px;display:grid;place-items:center}.setup-top{text-align:center;margin-bottom:15px}.setup-logo{font-size:47px;filter:drop-shadow(0 6px 12px #0006)}.setup-top h2{margin:2px 0 4px;font-size:30px}.setup-top p{color:#73dbe2;margin:0;font-weight:800}.form-label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:900;font-size:13px;margin:17px 0 9px}.picker-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.pick{padding:12px 4px;color:#dbe8f8;background:#1a3556;border:1px solid #80b6d240;border-radius:11px;font-weight:1000}.pick.selected{color:#0c2438;background:#96e6df;border-color:#c2fff0;box-shadow:0 4px 12px #66c7da33}.input-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.input-player{display:flex;gap:8px;align-items:center;background:#0c223db9;border:1px solid #a7d9ff38;border-radius:10px;padding:6px 9px}.input-player span{display:block;width:13px;height:13px;background:var(--p-color);border:2px solid white;border-radius:50%;flex:none}.input-player input{background:none;border:none;color:white;font-weight:800;width:100%;min-width:0;outline:none;font-size:13px;padding:6px 0}.segmented{display:flex;gap:7px}.segmented .pick{flex:1;font-size:12px}.setup-start{margin-top:22px;font-size:16px}.fact-strip{margin-top:12px;display:flex;justify-content:center;flex-wrap:wrap;gap:7px}.fact-strip span{padding:5px 9px;border:1px solid #ffffff22;border-radius:20px;font-size:11px;color:#cce1ed;background:#0e274448}.question-city{display:flex;align-items:center;gap:12px;margin:8px 0 16px}.question-icon{width:57px;height:57px;border-radius:16px;display:grid;place-items:center;font-size:31px;background:#ffffff19}.question-title{font-weight:900;font-size:19px}.question-title small{font-size:11px;font-weight:700;color:#94b4d6;display:block;margin-top:5px}.question-text{font-size:20px!important;color:#fff!important;font-weight:900;line-height:1.55!important;margin:12px 0 19px!important}.answers{display:grid;grid-template-columns:1fr;gap:9px}.answer{background:#0d2849;color:#eaf7ff;text-align:left;padding:13px 15px;border:1px solid #9bd4ee3a;border-radius:12px;font-size:14px;font-weight:800;display:flex;gap:12px;align-items:center}.answer:hover{border-color:#80e8e9;background:#1a4671}.answer .number{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:8px;background:#ffffff18;color:#a5eff1}.result-mark{font-size:47px;text-align:center;margin:1px auto 8px}.result-hero{text-align:center}.result-hero h2{font-size:28px}.result-box{border-radius:15px;background:#0b2849b3;padding:15px;margin:14px 0;border:1px solid #76beef36}.result-box strong{color:#eaffbd}.result-box p{margin:5px 0;color:#c2def4}.action-stack{display:grid;gap:8px;margin-top:16px}.offer-top{display:flex;align-items:center;gap:12px;background:#091e39b3;padding:12px;border-radius:14px;border:1px solid #7ec4e52c;margin:14px 0}.offer-icon{font-size:33px}.offer-info h3{margin:0;font-size:17px}.offer-info p{margin:3px 0;font-size:12px}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.price-chip{padding:13px 6px;background:#0c294a;border:1px solid #ffffff17;border-radius:11px;text-align:center}.price-chip small{display:block;font-size:10px;color:#9bb8d4}.price-chip strong{font-size:17px;color:#f7e0a1;word-break:keep-all}.property-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #ffffff1b}.property-name{font-size:12px;font-weight:900}.property-name small{display:block;color:#a8c3de;font-weight:600;margin-top:3px}.property-row .btn{font-size:11px}.asset-section{margin-top:18px}.asset-section h3{color:#cde9fc;font-size:15px}.status-note{background:#183f62;border:1px solid #6eabd35c;border-radius:11px;padding:11px;margin:14px 0;color:#e0f4fe;font-size:12px;line-height:1.6}.stat-rank{display:flex;align-items:center;gap:9px;padding:10px 9px;border-bottom:1px solid #ffffff17}.rank-pos{font-size:20px;font-weight:1000;color:#ffdb8b;width:32px}.rank-name{font-weight:900;flex:1;min-width:0}.rank-wealth{font-weight:900;color:#9cece2}.toast{position:absolute;top:15px;left:50%;transform:translateX(-50%);z-index:13;background:#122f4dee;border:1px solid #70e2e5ae;border-radius:100px;max-width:88%;padding:9px 15px;text-align:center;box-shadow:0 4px 22px #0006;font-size:12px;font-weight:900;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fade-in .25s}.corner-caption{position:absolute;font-size:11px;font-weight:900;color:#96c5e2b5;z-index:1;pointer-events:none}.corner-caption.asia{left:3%;bottom:13%;transform:rotate(-45deg)}.corner-caption.europe{left:8%;top:18%;transform:rotate(45deg)}.corner-caption.africa{right:9%;top:17%;transform:rotate(-45deg)}.corner-caption.americas{right:4%;bottom:13%;transform:rotate(45deg)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@media(max-width:1120px){.main-layout{grid-template-columns:minmax(0,1fr) 275px}.board-core{width:45%;height:42%}.topbar{height:60px}.brand-text{font-size:20px}}@media(max-width:940px){.app-frame{padding:10px}.main-layout{display:flex;flex-direction:column;gap:10px}.board-panel{width:100%;max-width:790px;margin:auto}.sidebar{width:100%;max-width:790px;margin:auto;display:grid;grid-template-columns:1fr 1fr}.topbar{border-radius:14px}.board-core{width:42%;height:39%}.tile-icon{font-size:clamp(13px,2.4vw,22px)}.tile-label{font-size:clamp(8px,1.32vw,12px)}.tile-meta{font-size:clamp(7px,1vw,10px)}.mini-landmark{font-size:clamp(14px,2vw,21px)}.die{width:clamp(42px,6vw,65px);height:clamp(42px,6vw,65px)}}@media(max-width:630px){.top-pill.only-large{display:none}.brand-text{font-size:17px}.brand-mark{height:37px;width:37px;font-size:20px}.top-pill{font-size:11px;padding:8px}.topbar{padding:7px 9px;height:55px}.board-stage{min-height:350px}.sidebar{display:flex;gap:9px}.board-core{width:48%;height:42%}.core-title{font-size:clamp(15px,4.1vw,25px);letter-spacing:-.5px}.core-sub{font-size:9px}.turn-name{font-size:10px}.board-core .btn{font-size:10px;padding:7px 8px}.die{width:clamp(37px,9vw,54px);height:clamp(37px,9vw,54px)}.tile-icon{font-size:clamp(11px,3vw,16px)}.tile-label{font-size:clamp(6.5px,1.8vw,9px)}.tile-meta{font-size:clamp(6px,1.6vw,8px)}.mini-token{width:8px;height:8px;font-size:5px}.mini-landmark{font-size:13px}.corner-caption{display:none}.modal{padding:20px;max-height:94vh;border-radius:18px}.modal h2{font-size:23px}.input-list{gap:6px}.input-player{padding:4px 6px}.input-player input{font-size:12px}.question-text{font-size:18px!important}}@media(max-width:395px){.top-pill{padding:8px 6px}.board-stage{min-height:325px}.board-core{width:48%}.board-core .btn{font-size:8px}.tile-label{font-size:6.5px}.tile-icon{font-size:10px}.tile-meta{font-size:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@supports not (height: 100dvh){.board-panel{max-width:min(100%, calc(100vh - 122px));}}

/* Metallic three-stage architecture markers. Each landmark rises above its owner's city tile. */
.mini-landmark{width:clamp(13px,1.65vw,23px);height:clamp(16px,2vw,29px);display:grid;place-items:center;filter:drop-shadow(0 2px 2px #02152fbb)}
.building-3d{position:relative;display:block;width:65%;height:78%;clip-path:polygon(16% 19%,65% 0%,96% 20%,96% 100%,16% 100%);border-radius:1px 2px 1px 1px;background:linear-gradient(110deg,var(--metal-hi) 0 25%,var(--metal) 26% 72%,var(--metal-dark) 73%);box-shadow:inset -2px 0 2px #0007,0 2px 4px #0009}
.mini-landmark.level-1{--metal:#b97843;--metal-hi:#ffd29c;--metal-dark:#6d3d32}
.mini-landmark.level-2{--metal:#a9c6d8;--metal-hi:#f6ffff;--metal-dark:#6a8b9e}
.mini-landmark.level-3{--metal:#e9b94b;--metal-hi:#fff4ac;--metal-dark:#92601f}
.mini-landmark .metal-medal{font-size:clamp(9px,.9vw,13px);right:-4px;bottom:-3px}
.board-stage{touch-action:manipulation;user-select:none;-webkit-user-select:none}

/* ===== v1.1 bright front-view refresh ===== */
:root{
  --bg-sky:#dff4ff;
  --bg-mint:#eefaf7;
  --panel:#ffffffd6;
  --panel-strong:#ffffffec;
  --panel-line:#8dc7e3;
  --ink-dark:#163758;
  --ink-mid:#537390;
}
html,body,#app{height:100%;overflow:hidden}
body{
  background:
    radial-gradient(circle at 18% 15%, rgba(126,212,255,.7), transparent 22%),
    radial-gradient(circle at 84% 18%, rgba(255,227,170,.65), transparent 20%),
    linear-gradient(180deg,#dff4ff 0%, #edf8ff 55%, #d8ecff 100%);
  color:var(--ink-dark);
}
.app-frame{height:100vh;max-width:none;padding:10px}
.main-layout{height:100%}
.board-panel{
  width:100%;height:calc(100vh - 20px);max-width:none;border-radius:34px;
  border:1px solid #a6d3eb;background:linear-gradient(180deg,#f7fdff,#eaf7ff 60%,#dcf0ff);
  box-shadow:0 18px 60px rgba(87,140,173,.28), inset 0 0 0 1px rgba(255,255,255,.5);
}
.board-panel::before{opacity:.08;background-size:24px 24px}
.board-panel::after{background:linear-gradient(180deg,transparent 45%, rgba(110,165,200,.08) 100%)}
.board-stage{height:100%;aspect-ratio:auto}
.world-backdrop{opacity:.12;filter:none;top:15%;left:14%}
.decor-circle{border-color:#6cb4d328}
.corner-caption{color:#6193afb8;font-size:12px}
.board-tools{
  position:absolute;top:14px;right:16px;z-index:10;display:flex;gap:8px;
}
.top-pill{
  background:var(--panel);color:var(--ink-dark);border:1px solid var(--panel-line);
  box-shadow:0 8px 24px rgba(118,166,201,.18);backdrop-filter:blur(10px)
}
.top-pill:hover{background:#fff}
.top-pill.active{background:#cff8e9;border-color:#78d4c3;color:#13584e}
.board-grid{
  width:min(72vw,860px);height:min(72vw,860px);
  left:50%;top:51%;
  transform:translate(-50%,-50%) perspective(1600px) rotateX(58deg) rotateZ(-45deg);
  border:5px solid #8cc2b1;background:#a6d6c1;border-radius:20px;
  box-shadow:0 10px 0 #8fae99, 0 18px 0 #6e8778, 0 40px 55px rgba(38,77,96,.35);
}
.board-grid::before{
  inset:11.11%;
  background:linear-gradient(180deg,#9dd07f,#b7db87 55%,#b4d17b);
  border:2px solid rgba(255,255,255,.45);
  box-shadow:inset 0 0 0 2px rgba(128,162,91,.22);
}
.tile{
  border:1px solid rgba(255,255,255,.8);
  background:linear-gradient(180deg,color-mix(in srgb,var(--tile-color) 84%, white), color-mix(in srgb,var(--tile-color) 68%, #ebf6ff));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 2px 0 rgba(98,124,139,.18);
}
.tile.owned{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 2px rgba(255,255,255,.2),0 5px 10px color-mix(in srgb,var(--owner) 25%, transparent)}
.tile.corner{background:linear-gradient(180deg,#dcecff,#b6d4f6)}
.tile.corner.start{background:linear-gradient(180deg,#8ce5ff,#53b3f2)}
.tile.corner.island{background:linear-gradient(180deg,#ffd8a6,#f2b56c)}
.tile.corner.olympics{background:linear-gradient(180deg,#ffd2a1,#ff9f7e)}
.tile.corner.travel{background:linear-gradient(180deg,#e2d6ff,#a8aaf7)}
.tile-face{width:136%;height:140%;transform:translate(-50%,-50%) rotate(45deg) rotateX(-58deg) scale(1,1.25);text-shadow:none;color:#17304c}
.tile-icon{font-size:clamp(11px,1.35vw,19px)}
.tile-label{font-size:clamp(6.5px,.72vw,10px);line-height:1.15}
.tile-meta{font-size:clamp(5px,.55vw,8px);color:#274a68}
.mini-token{box-shadow:0 2px 6px rgba(0,0,0,.22);border-color:#fff}
.mini-landmark{
  top:-22%; right:2%; width:clamp(18px,2vw,28px); height:clamp(28px,3vw,42px);
  animation:landmark-rise .45s cubic-bezier(.2,.8,.2,1); filter:drop-shadow(0 8px 6px rgba(0,0,0,.22));
}
.building-3d{
  width:72%;height:100%;
  background:linear-gradient(180deg,var(--metal-hi) 0 20%, var(--metal) 22% 70%, var(--metal-dark) 72%);
  clip-path:polygon(22% 20%, 62% 4%, 96% 21%, 96% 100%, 20% 100%);
  box-shadow:0 3px 6px rgba(0,0,0,.24), inset -3px 0 4px rgba(0,0,0,.22), inset 2px 0 2px rgba(255,255,255,.35);
}
.building-3d::before,.building-3d::after{content:'';position:absolute;display:block}
.building-3d::before{left:9%;right:18%;top:36%;height:10%;background:rgba(255,255,255,.25);box-shadow:0 13px 0 rgba(255,255,255,.15),0 26px 0 rgba(255,255,255,.15)}
.building-3d::after{left:38%;bottom:0;width:16%;height:24%;background:rgba(71,53,28,.2);border-radius:2px 2px 0 0}
@keyframes landmark-rise{from{transform:translateY(12px) scale(.3);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.board-core{
  width:25%;height:auto;top:58%;left:50%;transform:translate(-50%,-50%);
  background:rgba(255,255,255,.58);border:1px solid rgba(151,196,223,.8);backdrop-filter:blur(8px);
  border-radius:22px;padding:14px 14px 12px;box-shadow:0 14px 28px rgba(74,121,154,.16)
}
.turn-name{font-size:clamp(12px,1.15vw,16px);color:#214563}
.dice-tray{gap:10px;margin:6px 0}
.die{width:clamp(30px,2.8vw,44px);height:clamp(30px,2.8vw,44px);padding:6px;box-shadow:2px 4px 0 #88a9c1, 4px 8px 12px rgba(0,0,0,.16), inset 2px 2px 4px white}
.pip{background:#325c84}
.dice-total{font-size:clamp(10px,.9vw,13px);color:#456788}
.core-actions{gap:6px;margin-top:7px}
.board-core .btn{font-size:clamp(9px,.8vw,12px);padding:8px 10px;border-radius:12px}
.btn.primary{background:linear-gradient(110deg,#39d2c9,#4a8ef5)}
.btn.secondary{background:#fff;color:#244866;border:1px solid #9fcfe7}
.btn.gold{background:linear-gradient(110deg,#ffd982,#f3a85f)}
.corner-panel{
  position:absolute;top:16px;z-index:9;width:240px;max-height:calc(100% - 130px);overflow:hidden;
  background:var(--panel);border:1px solid var(--panel-line);border-radius:22px;
  box-shadow:0 14px 35px rgba(118,166,201,.2);backdrop-filter:blur(10px);
}
.corner-panel.left{left:16px}.corner-panel.right{right:16px}
.corner-panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 8px;font-weight:900;color:#274766}
.corner-player-list{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}
.corner-player-card{background:#f7fbff;border:1px solid #d8edf8;border-radius:16px;padding:9px 10px}
.corner-player-card.is-current{background:linear-gradient(90deg,color-mix(in srgb,var(--p-color) 20%, white), #f7fbff);border-color:var(--p-color)}
.corner-player-card.is-dead{opacity:.55;filter:grayscale(.45)}
.corner-player-top{display:flex;gap:8px;align-items:center}
.corner-name-wrap{min-width:0;flex:1}
.player-avatar{width:28px;height:28px;border-radius:10px}
.player-name{font-size:12px;color:#183756}
.player-hearts{font-size:11px;letter-spacing:1px}
.corner-stats{margin-top:6px;display:flex;justify-content:space-between;font-size:11px;font-weight:900;color:#4b6d8c}
.tiny-tag{background:#ffffffb8;color:#355676;border:1px solid #d4e9f7}
.round-chip{background:#edf7ff;color:#4d779b;border:1px solid #c8e4f2}
.log-bar{
  position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:8;width:min(640px,54vw);
  background:var(--panel-strong);border:1px solid var(--panel-line);border-radius:20px;padding:10px 14px 9px;
  box-shadow:0 12px 30px rgba(118,166,201,.18)
}
.log-title{font-size:11px;font-weight:900;color:#567999;margin-bottom:5px}
.log-bar ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.log-bar li{font-size:12px;color:#264a69;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast{top:auto;bottom:88px;background:#ffffffed;color:#214563;border-color:#7dd7d8;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.modal-layer{background:rgba(162,205,233,.34);backdrop-filter:blur(7px)}
.modal{max-height:min(90vh,760px);background:linear-gradient(180deg,#ffffff,#eef7ff);border-color:#a5d3e7;color:#173654;padding:24px 24px 22px}
.modal h2,.modal h3{color:#173654}.modal p{color:#567595}
.setup-top{margin-bottom:10px}.setup-logo{font-size:44px;filter:none}.setup-top h2{font-size:32px;color:#1b4468}.setup-top p{display:none}
.form-label{margin:14px 0 8px;color:#274766}.pick{background:#f7fbff;border-color:#c7e5f4;color:#295070}.pick.selected{background:#ccf4ea;color:#16524d;border-color:#80d2c7;box-shadow:none}
.input-player{background:#f7fbff;border-color:#d5ebf6}.input-player input{color:#173654}
.segmented{gap:8px}.setup-start{margin-top:18px}
.fact-strip{display:none}
.status-note,.answer,.result-box,.offer-top,.price-chip{background:#f7fbff;color:#244866;border-color:#d8ebf7}
.answer .number{background:#e8f4ff;color:#427199}
.footer-note,.sidebar,.topbar{display:none !important}
@media (max-width:1400px){
  .corner-panel{width:220px}
  .board-grid{width:min(68vw,790px);height:min(68vw,790px)}
  .board-core{width:27%}
}
@media (max-width:1180px){
  .corner-panel{width:200px}
  .board-core{width:30%}
  .log-bar{width:min(560px,58vw)}
}
@media (max-width:980px){
  body{overflow:auto}
  html,body,#app{overflow:auto;height:auto}
  .app-frame{height:auto;min-height:100vh}
  .board-panel{height:auto;min-height:980px}
  .corner-panel{position:absolute;width:180px}
  .board-grid{width:min(92vw,760px);height:min(92vw,760px);top:44%}
  .board-core{top:53%;width:42%}
  .log-bar{width:86vw;bottom:10px}
}
@media (max-width:720px){
  .board-tools{top:10px;right:10px;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:45vw}
  .top-pill{padding:8px 10px;font-size:11px}
  .corner-panel{width:160px;border-radius:16px}
  .corner-panel.left{left:10px}.corner-panel.right{right:10px}
  .corner-player-card{padding:7px 8px}
  .player-name{font-size:11px}.corner-stats{font-size:10px}
  .board-grid{top:42%}
  .board-core{width:46%;padding:10px 10px 9px}
}
@media (max-width:560px){
  .board-panel{min-height:820px}
  .corner-panel{position:static;width:calc(50% - 8px);max-height:none}
  .board-panel{padding-top:118px}
}
