:root{--bg: #f6f3ea;--card: #ffffff;--text: #1f2a24;--muted: #6b746e;--primary: #0f7a4f;--primary-text: #ffffff;--border: #d9d4c4;--danger: #b3261e;--turn-glow: rgba(15, 122, 79, .45);--warn: #c77700;--online: #2e9d5b;--offline: #9aa19c;--whatsapp: #25d366;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,PingFang SC,Noto Sans SC,sans-serif;font-size:17px;line-height:1.5;background:var(--bg);color:var(--text)}.page{max-width:480px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.title{text-align:center;font-size:32px;margin:24px 0 8px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;font-size:17px;font-weight:600;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.btn-big{width:100%;min-height:60px;font-size:20px}.btn.active{box-shadow:0 0 0 3px #0f7a4f4d}.btn-whatsapp{background:var(--whatsapp);border-color:var(--whatsapp);color:#fff}.mode-buttons{display:flex;flex-direction:column;gap:12px}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0}.field>span,.field>legend{font-weight:600}.input{min-height:48px;padding:0 12px;font-size:17px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);width:100%}.code-input{font-size:28px;letter-spacing:.3em;text-align:center;font-family:ui-monospace,monospace}.animal-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}.animal-btn{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:88px;padding:8px;font-size:16px;border:2px solid var(--border);border-radius:12px;background:#fff;color:var(--text);cursor:pointer}.animal-btn.selected{border-color:var(--primary);background:#e6f4ec}.animal-btn:disabled{opacity:.35;cursor:not-allowed}.animal-emoji{font-size:32px;line-height:1}.error{color:var(--danger);margin:0}.muted{color:var(--muted);margin:8px 0 0}.code-card{text-align:center}.label{color:var(--muted)}.room-code{font-family:ui-monospace,monospace;font-size:48px;font-weight:700;letter-spacing:.15em;margin:4px 0 12px}.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.row>.btn{flex:1}.player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.player-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 10px;border-radius:10px;font-size:17px;color:var(--text);text-align:left}.player-row .animal-emoji{font-size:28px}.player-row-btn{border:2px dashed var(--primary);background:#f2faf5;cursor:pointer}.nickname{font-weight:600;flex:1}.badge{display:inline-block;font-size:14px;padding:2px 8px;border-radius:999px;background:#efe9d8;margin-right:4px}.badge-you{background:#dcefe4}.dot{width:12px;height:12px;border-radius:50%;flex:none}.dot.on{background:var(--online)}.dot.off{background:var(--offline)}.settings{display:flex;flex-direction:column;gap:14px}.settings-readonly{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}.settings-readonly dt{color:var(--muted)}.settings-readonly dd{margin:0;font-weight:600}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{width:22px;height:22px}.start{display:flex;flex-direction:column;gap:4px}.start .muted{text-align:center}.toast{position:fixed;left:50%;bottom:16px;transform:translate(-50%);max-width:calc(100% - 32px);background:var(--text);color:#fff;padding:10px 16px;border-radius:10px;margin:0}.conn-banner{position:fixed;top:0;left:0;right:0;z-index:10;padding:10px 16px;text-align:center;background:var(--warn);color:#fff;font-weight:600}.conn-banner.offline{background:var(--danger)}.results-placeholder{text-align:center;font-size:22px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.board{position:relative;width:min(100vw - 32px,60vh);aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(11,1fr);background:#e9f1e4;border:2px solid var(--text);border-radius:6px;overflow:hidden;--cell-font: clamp(8px, 1.5vmin, 12px)}@media(min-width:1024px){.board{width:min(60vw,80vh);--cell-font: clamp(8px, 1.1vmin, 14px)}}.board-cell{position:relative;min-width:0;min-height:0;padding:0;margin:0;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-size:var(--cell-font);line-height:1.15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden;word-break:break-all;text-align:center;cursor:pointer}.board-cell:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;z-index:1}.board-cell-band{position:absolute;top:0;left:0;right:0;height:22%;background:var(--group)}.board-cell-property .board-cell-name{margin-top:22%}.board-cell-emoji{font-size:calc(var(--cell-font) * 1.6);line-height:1}.board-cell-name{max-width:100%;max-height:100%;overflow:hidden;padding:0 1px}.board-cell-owner{position:absolute;right:1px;bottom:1px;font-size:calc(var(--cell-font) * 1.2);line-height:1}.board-center{grid-area:2 / 2 / 11 / 11;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:8px;min-width:0;min-height:0;overflow:hidden}.board-card-text{margin:0;max-width:90%;padding:8px 12px;border-radius:10px;background:var(--card);border:1px solid var(--border);text-align:center;font-size:clamp(12px,2.4vmin,18px);animation:board-card-fade 5s ease forwards}@keyframes board-card-fade{0%,80%{opacity:1}to{opacity:0}}.token-pos{position:absolute;top:0;left:0;width:calc(100% / 11);height:calc(100% / 11);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .4s ease;z-index:2}.token{font-size:clamp(14px,3.6vmin,30px);line-height:1;border-radius:50%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.token.highlight{box-shadow:0 0 0 3px var(--primary);background:#ffffffb3}.dice{display:flex;gap:8px}.dice-face{display:inline-grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;width:clamp(36px,9vmin,64px);height:clamp(36px,9vmin,64px);padding:14%;border-radius:12px;background:var(--card);border:1px solid var(--border);box-shadow:0 1px 2px #00000026}.dice-face.dice-blank{display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:clamp(20px,5vmin,36px);color:var(--muted)}.pip{width:70%;aspect-ratio:1;border-radius:50%;background:var(--text)}.dice.rolling .dice-face{animation:dice-shake .6s ease}@keyframes dice-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-15deg) translateY(-3px)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg) translateY(-2px)}80%{transform:rotate(5deg)}}.space-card{display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}.space-card-band{height:12px;margin:-16px -16px 4px}.space-card-title{margin:0;font-size:22px}.space-card-type{margin:0;color:var(--muted)}.space-card-note{margin:0}.space-card-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0}.space-card-facts dt{color:var(--muted)}.space-card-facts dd{margin:0;font-weight:600}.space-card-rents{width:100%;border-collapse:collapse}.space-card-rents caption{text-align:left;font-weight:600;padding-bottom:4px}.space-card-rents th{text-align:left;font-weight:400;color:var(--muted)}.space-card-rents td{text-align:right;font-weight:600}.space-card-rents th,.space-card-rents td{padding:4px 0;border-top:1px solid var(--border)}html.low-motion .token-pos{transition:none}html.low-motion .dice.rolling .dice-face,html.low-motion .board-card-text{animation:none}.board-announce{margin:0;max-width:92%;text-align:center;font-size:max(16px,2.6vmin);font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board-announce>span{animation:board-card-fade 4s ease forwards}html.low-motion .board-announce>span{animation:none}.btn-danger{background:var(--card);color:var(--danger);border-color:var(--danger)}.page.game{max-width:1280px;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.page.game.my-turn{animation:turn-glow 1.6s ease-in-out infinite alternate}@keyframes turn-glow{0%{box-shadow:inset 0 0 0 3px var(--turn-glow)}to{box-shadow:inset 0 0 18px 6px var(--turn-glow)}}.game-layout{display:flex;flex-direction:column;gap:16px}.game-main,.game-side{display:flex;flex-direction:column;gap:12px;min-width:0}.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;gap:10px;justify-content:center;align-items:flex-start;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);box-shadow:0 -2px 8px #00000014}.action-slot{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;max-width:240px}.action-slot .btn{width:100%;padding:0 12px}.action-reason{font-size:14px;color:var(--danger)}.action-wait{margin:0;min-height:48px;display:flex;align-items:center;color:var(--muted);font-weight:600}.game-tabs{display:flex;gap:6px}.game-tab{flex:1;min-height:44px;font:inherit;font-weight:600;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer}.game-tab.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.panel-title{display:none;margin:0 0 8px;font-size:18px}.players-panel{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pp-player{padding:8px 10px;border-radius:10px;border:2px solid transparent}.pp-player.current{border-color:var(--primary);background:#f2faf5}.pp-player.bankrupt{opacity:.45;filter:grayscale(1)}.pp-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pp-row .animal-emoji{font-size:26px}.pp-name{flex:1;min-height:40px;padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--text);text-align:left;cursor:pointer}.pp-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);padding-left:34px}.pp-cash{font-weight:600;color:var(--text)}.pp-props{margin:6px 0 0 34px;padding-left:18px}.badge-turn{background:#dcefe4}.badge-jail{background:#f6e0c4}.assets-cash{margin:0 0 8px}.my-props{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.my-prop{display:flex;justify-content:space-between;width:100%;min-height:44px;padding:0 10px;align-items:center;font:inherit;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);cursor:pointer}.muted-inline{color:var(--muted)}.event-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-size:15px}.event-log li{padding:5px 0;border-bottom:1px solid var(--border)}.event-log li:last-child{border-bottom:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;background:#0006}.modal-backdrop>.card{width:100%;max-width:420px;max-height:100%;overflow:auto}.debt-dialog h2,.debt-dialog p{margin:0 0 8px}.debt-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.page.game .toast{bottom:calc(96px + env(safe-area-inset-bottom));z-index:30}@media(min-width:1024px){.page.game{padding-bottom:16px}.game-layout{flex-direction:row;align-items:flex-start}.game-main{flex:none}.game-side{flex:1;max-height:calc(100vh - 32px);overflow:auto}.action-bar{position:static;padding:12px;border:1px solid var(--border);border-radius:12px;box-shadow:none}.game-tabs{display:none}.game-side .tab-panel[hidden],.panel-title{display:block}.page.game .toast{bottom:16px}}html.low-motion .page.game.my-turn{animation:none;box-shadow:inset 0 0 0 3px var(--turn-glow)}.display-toggles{display:flex;gap:16px;justify-content:flex-end;font-size:13px;color:var(--muted);margin:4px 0}.display-toggles label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.results h1{margin:0 0 4px}.results-table{width:100%;border-collapse:collapse;margin:12px 0}.results-table th,.results-table td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--border)}.results-table tr.winner{background:#ffc10733;font-weight:700}.badge-out{margin-left:8px;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--danger);color:#fff}.highlight-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.highlight-card{display:flex;flex-direction:column;gap:4px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;text-align:center}html.big-text{font-size:120%}html.big-text .btn{min-height:56px}html.low-motion *,html.low-motion *:before,html.low-motion *:after{transition:none!important;animation:none!important}
