*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 40% 20%,#fbf7ef,#ded3c0);color:#352b24;font:16px/1.5 Arial,sans-serif;padding:22px 12px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid #236a98;outline-offset:3px}.device{position:relative;width:414px;max-width:100%;height: min(860px,calc(100svh - 76px));min-height:600px;overflow:auto;border:7px solid #e6ddcd;border-radius:38px;box-shadow:0 24px 70px #58462e30,0 0 0 1px #cabcaa;background:linear-gradient(118deg,transparent 28%,#b1b8b018 28.2%,transparent 29%,transparent 65%,#baa98c16 65.4%,transparent 66%),radial-gradient(ellipse at top,#fffcf5,#efe5d3);scrollbar-width:thin}.desktop-note{font:11px Georgia,serif;letter-spacing:.15em;color:#7c6b54;margin-top:14px}.desktop-note span{margin:0 8px}.screen{min-height:100%;display:flex;flex-direction:column;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:8px}.brand{font:18px Georgia,serif;letter-spacing:.08em;color:#851c1b}.icon-btn{border:1px solid #c6b596;background:#fff9ee99;border-radius:50%;min-width:40px;height:40px;padding:4px 10px;font-size:20px}.lang{font-size:14px;background:none;border:0;padding:8px;font-weight:bold;color:#841d1b;letter-spacing:.08em}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:bold;color:#87704d}.title{font:normal 43px/.96 Georgia,serif;color:#851c1b;letter-spacing:.05em;margin:14px 0 12px}.subtitle{font:17px/1.4 Georgia,serif;margin:0 auto;max-width:280px}h2{font:29px/1.15 Georgia,serif;margin:22px 0;color:#6e201b}h3{font:20px Georgia,serif;margin:0 0 9px}p{margin:0 0 16px}.home{text-align:center;padding-bottom:25px}.home .topbar{justify-content:flex-end}.hero{height:220px;margin:0 -22px;background:url('rome.png') center 50%/cover;mask-image:linear-gradient(#000 75%,transparent)}.home .title{margin-top:5px}.hero-tokens{display:flex;justify-content:center;gap:18px;margin:-35px 0 25px;z-index:1}.token{display:inline-block;width:72px;height:72px;flex-shrink:0;border-radius:50%;position:relative;border:3px solid #eb9a40;background:radial-gradient(circle at 35% 25%,#d04d36,#8c191b 75%);box-shadow:inset 0 0 0 2px #efb76a,inset 0 0 0 5px #ab3c27,0 4px 0 #622018,0 6px 9px #3e251a30}.token:after{content:'';position:absolute;left:31%;top:45%;height:9%;width:38%;border-radius:2px;background:#ffcd85;box-shadow:0 1px 2px #4d130c}.token.blue{border-color:#2a5779;background:radial-gradient(circle at 35% 25%,#c3e8fb,#78b5da 75%);box-shadow:inset 0 0 0 2px #badff0,inset 0 0 0 5px #477d9e,0 4px 0 #1d405c,0 6px 9px #3e251a30}.token.blue:after{width:19%;height:19%;top:40%;left:40%;border-radius:50%;background:#174568}.actions{display:grid;gap:10px;margin-top:auto;padding-top:14px}.primary,.secondary{border:1px solid #871d1b;border-radius:10px;min-height:49px;padding:12px 16px;font-weight:bold;background:linear-gradient(#b13b2c,#8d1c1b);color:#fff7e8;box-shadow:0 3px 6px #6c34251b}.secondary{border-color:#c9baa1;background:#fffaf0a6;color:#49382a;box-shadow:0 2px 4px #6c342510}.text-btn{border:0;background:none;text-decoration:underline;text-underline-offset:4px;padding:8px;color:#6f4b2d;font-size:14px}.home-links{display:flex;justify-content:center;gap:14px;margin-top:10px}.group{margin:0 0 26px}.label{display:block;font:20px Georgia,serif;margin-bottom:10px}.segments{display:flex;gap:8px}.segments button{flex:1;min-width:0;border:1px solid #c6b89f;background:#fffbf3;padding:12px 4px;border-radius:9px;font-weight:bold}.segments button.active{background:#942520;color:#fff7ed;border-color:#84201c;box-shadow:0 3px 7px #6d291d25}.color-options{display:flex;gap:14px}.color-options button{flex:1;padding:15px 8px;border:1px solid #c8b99e;background:#fff9ed;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:10px;font-size:14px}.color-options button.active{outline:2px solid #962920;outline-offset:2px}.hint{font-size:14px;color:#705e48;margin:10px 0 0}.start-info{text-align:center;padding:14px;border-top:1px solid #d0c0a7;border-bottom:1px solid #d0c0a7;font-size:14px}.start-info b{display:block;color:#82241e}.game{padding:20px 16px}.game .topbar{margin-bottom:18px}.player-strip{display:flex;justify-content:space-between;align-items:center;padding:13px 6px}.player-strip .token{width:30px;height:30px;border-width:2px;box-shadow:inset 0 0 0 2px #efb76a,0 2px 0 #622018}.player-strip .token.blue{box-shadow:inset 0 0 0 2px #b6def1,0 2px 0 #1d405c}.player-name{font-size:15px;font-weight:bold}.player-detail{font-size:12px;color:#806b50}.score{display:flex;align-items:center;gap:10px;font:24px Georgia,serif}.board{display:grid;grid-template-columns:repeat(var(--n),1fr);aspect-ratio:1;border:3px solid #a38b64;padding:3px;background:#d2c2a2;box-shadow:0 5px 15px #57402620;gap:1px;position:relative}.cell{border:0;border-radius:0;background:#f5eddc;position:relative;display:grid;place-items:center;min-width:0;padding:3px;aspect-ratio:1}.cell.shade{background:#e8dcc5}.cell .token{width:91%;height:91%;border-width:2px;box-shadow:inset 0 0 0 1px #eebb78,inset 0 0 0 3px #a23820,0 2px 0 #61221b}.cell .token.blue{box-shadow:inset 0 0 0 1px #b8dced,inset 0 0 0 3px #467ca1,0 2px 0 #1c3c59}.cell.selected{background:#dfbd6c;box-shadow:inset 0 0 0 3px #9c6b23}.cell.legal:after{content:'';width:22%;height:22%;border-radius:50%;background:#88632670;position:absolute}.cell.last{box-shadow:inset 0 0 0 2px #ac843a}.turn{text-align:center;margin:20px 0 8px;font:25px Georgia,serif;color:#6e241d}.game-help{text-align:center;font-size:14px;color:#776349;min-height:42px}.game-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid #c9b99e}.move-number{font-size:12px;color:#78664e}.article{padding-bottom:30px}.article p,.article li{line-height:1.65}.article ul{padding-left:20px}.rule-card{padding:17px 0;border-bottom:1px solid #d3c4ac}.diagram{display:flex;gap:10px;align-items:center;justify-content:center;padding:10px}.diagram .token{width:42px;height:42px}.rule-card p{font-size:15px;margin:10px 0 0}.credit-title{font:24px Georgia,serif;color:#8b251e;margin-top:25px}.article a{color:#852720}.bibliography{font-size:14px}.result{text-align:center;justify-content:center}.laurel{font:80px Georgia,serif;color:#ae8540;margin:20px 0;line-height:1}.result h2{font-size:43px}.result .actions{margin-top:20px}.result-details{border-block:1px solid #cdbc9e;padding:16px;margin:15px 0}.modal-shade{position:absolute;inset:0;background:#2b24188a;z-index:8;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}.modal{background:#f8efdf;border:1px solid #cfba91;padding:25px;border-radius:18px;width:100%;box-shadow:0 15px 40px #30200f44}.modal h2{margin-top:0}.modal .actions{padding:0}.splash{position:absolute;inset:0;z-index:10;background:#f8f1e5;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;flex-direction:column;gap:22px}.splash .text-btn{position:absolute;right:15px;top:18px}.splash .title{font-size:48px;animation:rise .7s .8s both}.splash .hero-tokens{margin:10px;animation:rise .6s .3s both}.splash .subtitle{animation:fade .8s both}.splash .eyebrow{margin-top:20px}.splash small{color:#816d51}.toast{padding:10px;background:#efe1c2;border:1px solid #c6ac75;border-radius:8px;text-align:center;font-size:14px;margin-top:10px}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:480px){body{padding:0;background:#f5edde}.device{width:100%;height:100svh;min-height:0;border:0;border-radius:0;box-shadow:none}.desktop-note{display:none}.hero{height:clamp(150px,25svh,230px)}.screen{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media(max-height:720px){.hero{height:150px}.home .title{font-size:36px}.hero-tokens .token{width:59px;height:59px}.group{margin-bottom:17px}.screen h2{margin:15px 0}.game .topbar{margin-bottom:5px}.turn{margin-top:12px}.player-strip{padding:8px 6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
