@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--paper:#e9eee6;--paper2:#f6f5ef;--ink:#1c302c;--muted:#738079;--line:#dbe2d9;--green:#23584e;--green-dark:#17483f;--green-light:#d8e9dc;--coral:#df704e;--coral-light:#fae4da;--yellow:#e3b459;--yellow-light:#f8edce;--blue:#6d89a4;--blue-light:#e1e9f0;--white:#fffefa;--shadow:0 18px 52px rgba(30,54,45,.09);--sans:'DM Sans',system-ui,sans-serif;--display:'Manrope','DM Sans',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 72% -12%,rgba(255,255,255,.82),transparent 46%),var(--paper);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{max-width:1400px;margin:0 auto;padding:0 34px 36px}.site-header{height:78px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(28,48,44,.09)}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none}.brand-mark{width:34px;height:34px;border:1px solid rgba(35,88,78,.25);border-radius:11px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:6px;transform:rotate(-5deg)}.brand-mark i{display:block;border-radius:2px;background:var(--green)}.brand-mark i:nth-child(2){background:var(--coral)}.brand-mark i:nth-child(3){background:var(--yellow)}.brand-mark i:nth-child(4){background:#90a899}.brand strong{display:block;font:800 15px var(--display);letter-spacing:-.045em}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.header-note{font:500 11px var(--mono);color:#68756e;display:flex;gap:8px;align-items:center}.live-dot{width:7px;height:7px;border-radius:50%;background:#7dab76;box-shadow:0 0 0 3px rgba(125,171,118,.16)}.header-divider{height:13px;border-left:1px solid #cbd3ca;margin:0 2px}
.home-screen{padding-top:26px}.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:34px;align-items:center;min-height:474px}.hero-copy{padding:28px 0 24px 3.5%;z-index:1}.eyebrow{font:500 10px var(--mono);letter-spacing:.15em;color:#718078;display:flex;align-items:center;gap:9px}.eyebrow-line{display:inline-block;width:20px;height:1px;background:var(--coral)}h1,h2,p{margin-top:0}.hero-copy h1{font:800 clamp(48px,6.4vw,86px)/.98 var(--display);letter-spacing:-.075em;margin:25px 0 20px}.hero-copy h1 span{color:var(--green);font-weight:700}.hero-lede{font-size:16px;line-height:1.68;max-width:440px;color:#67756e;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.button{border:0;border-radius:12px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover:not(:disabled){transform:translateY(-2px)}.button-primary{background:var(--green);color:white;box-shadow:0 8px 16px rgba(35,88,78,.16)}.button-primary:hover:not(:disabled){background:var(--green-dark);box-shadow:0 10px 20px rgba(35,88,78,.22)}.button-primary:disabled,.button.is-disabled{opacity:.45;box-shadow:none}.button-large{padding:15px 20px;font-size:14px;display:flex;gap:22px;align-items:center}.button-large span{font-size:19px}.hero-caption{color:#859087;font:11px var(--mono)}.hero-metrics{display:flex;gap:0;margin-top:45px}.hero-metrics div{display:flex;flex-direction:column;gap:3px;min-width:118px;border-right:1px solid var(--line);padding-right:20px;margin-right:20px}.hero-metrics div:last-child{border:0}.hero-metrics strong{font:800 16px var(--display);letter-spacing:-.04em}.hero-metrics span{font:10px var(--mono);color:#869088}.hero-art{min-height:425px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.art-sun{position:absolute;width:350px;height:350px;border-radius:50%;background:#d7e6d9;right:14%;top:7%;opacity:.7}.mini-board{width:min(390px,79%);aspect-ratio:1;position:relative;z-index:1;background:#f5f0df;border:9px solid #fdfbf2;border-radius:24px;box-shadow:0 25px 44px rgba(48,75,61,.17),inset 0 0 0 1px #e0dccd;transform:rotate(7deg);display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);padding:7px;gap:5px}.mini-cell{border-radius:7px;background:#e3e9df;border:1px solid rgba(36,63,50,.07)}.mini-cell:nth-child(1){grid-area:1/1}.mini-cell:nth-child(2){grid-area:1/2}.mini-cell:nth-child(3){grid-area:1/3}.mini-cell:nth-child(4){grid-area:1/4}.mini-cell:nth-child(5){grid-area:1/5}.mini-cell:nth-child(6){grid-area:2/5}.mini-cell:nth-child(7){grid-area:2/1}.mini-cell:nth-child(8){grid-area:3/5}.mini-cell:nth-child(9){grid-area:4/1}.mini-cell:nth-child(10){grid-area:5/1}.mini-cell:nth-child(11){grid-area:5/2}.mini-cell:nth-child(12){grid-area:5/3}.mini-cell:nth-child(13){grid-area:5/4}.mini-cell:nth-child(14){grid-area:5/5}.mini-cell.mini-coral{background:#f2b39e}.mini-cell.mini-green{background:#93b39d}.mini-cell.mini-cream{background:#efd28d}.mini-cell.mini-blue{background:#a7bdce}.mini-cell.mini-yellow{background:#e9c66e}.mini-center{grid-area:2/2/5/5;border-radius:13px;background:#e8ede4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#26574a}.mini-center b{font:800 23px/.98 var(--display);letter-spacing:-.08em;transform:rotate(-7deg)}.mini-center small{font:9px var(--mono);color:#7e8d80;margin-top:9px}.art-sticker{position:absolute;z-index:2;background:var(--white);box-shadow:0 13px 25px rgba(44,59,49,.14);border:1px solid rgba(35,88,78,.08);display:flex;align-items:center;justify-content:center;flex-direction:column}.sticker-dice{width:73px;height:73px;border-radius:19px;right:10%;top:16%;font-size:38px;color:var(--coral);transform:rotate(11deg)}.sticker-dice small,.sticker-rupiah small{font:9px var(--mono);color:#88918a;margin-top:-2px}.sticker-rupiah{width:90px;height:81px;border-radius:18px;left:5%;bottom:14%;font:800 20px var(--display);color:var(--green);transform:rotate(-11deg)}.sticker-rupiah b{color:var(--coral)}.art-scribble{position:absolute;z-index:2;right:7%;bottom:8%;font:700 13px/1.1 var(--display);color:#788779;transform:rotate(6deg)}.art-scribble span{color:var(--coral);font-size:25px}.art-shadow{position:absolute;width:55%;height:20px;border-radius:50%;background:rgba(47,74,58,.14);filter:blur(13px);bottom:13%;left:23%;transform:rotate(7deg)}.how-strip{border-top:1px solid rgba(28,48,44,.1);border-bottom:1px solid rgba(28,48,44,.1);display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:24px;padding:24px 0 25px}.how-heading{display:flex;flex-direction:column;gap:9px}.how-heading strong{font:800 18px/1.12 var(--display);letter-spacing:-.04em}.how-item{display:flex;gap:12px;padding-top:14px}.how-number{font:500 10px var(--mono);color:var(--coral);padding-top:3px}.how-item b{font:700 13px var(--display)}.how-item p{font-size:11px;line-height:1.5;color:#77837a;margin:5px 0 0}.home-footer{display:flex;justify-content:space-between;padding:16px 0;color:#8b948b;font:9px var(--mono);letter-spacing:.03em}
.is-hidden{display:none!important}.setup-screen{max-width:690px;margin:40px auto 0}.back-button{margin-bottom:28px}.text-button{border:0;background:transparent;color:#6a786f;font:600 11px var(--mono);padding:8px 4px}.text-button:hover{color:var(--green)}.back-button span{font-size:16px;margin-right:5px}.setup-heading h1{font:800 42px var(--display);letter-spacing:-.07em;margin:13px 0 7px}.setup-heading p{color:#77837a;font-size:14px;margin-bottom:22px}.setup-card{background:var(--white);border:1px solid #e1e5dc;border-radius:22px;padding:22px;box-shadow:var(--shadow)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:14px;min-height:126px;cursor:pointer;transition:.16s ease}.mode-card:hover{border-color:#9bb8a8}.mode-card.selected{border-color:#588a78;background:#edf4ec;box-shadow:inset 0 0 0 1px #588a78}.mode-card input{position:absolute;opacity:0}.mode-icon{font-size:21px;color:var(--green);margin-bottom:9px}.mode-title{font:800 14px var(--display)}.mode-desc{font-size:11px;color:#758178;line-height:1.4;margin-top:4px;max-width:200px}.radio-dot{position:absolute;right:13px;top:13px;width:16px;height:16px;border:1px solid #bdc8be;border-radius:50%}.mode-card.selected .radio-dot{border:5px solid var(--green)}.setup-fields{margin-top:23px;display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;align-items:start}.field-label{font:700 12px var(--display);grid-column:1/-1;display:flex;justify-content:space-between}.field-label span{font:10px var(--mono);color:#97a098}.select-control,.name-field input{width:100%;height:43px;border:1px solid #dce3db;border-radius:10px;background:#fbfcf8;padding:0 12px;color:var(--ink);font-size:12px;outline:none}.select-control:focus,.name-field input:focus{border-color:#6a9a87;box-shadow:0 0 0 3px rgba(106,154,135,.12)}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.name-field{display:flex;flex-direction:column;gap:6px}.name-field span{font:600 10px var(--mono);color:#758178}.setup-summary{margin-top:18px;padding:12px 13px;background:#f5f6f0;border-radius:10px;display:flex;align-items:center;gap:9px;font:600 11px var(--mono)}.summary-dot{width:7px;height:7px;background:#77a276;border-radius:50%}.summary-meta{margin-left:auto;color:#8d968d;font-size:9px}.button-start{width:100%;padding:14px 16px;margin-top:13px;font-size:13px;display:flex;justify-content:space-between;align-items:center}.button-start span{font-size:17px}.setup-footnote{font:10px/1.5 var(--mono);color:#929b92;text-align:center;margin:13px 0 0}
.game-topbar{display:flex;justify-content:space-between;align-items:flex-end;margin:27px 0 19px}.game-topbar h1{font:800 29px var(--display);letter-spacing:-.065em;margin:7px 0 0}.game-top-actions{display:flex;gap:16px;align-items:center}.round-pill{display:flex;align-items:center;gap:7px;border-radius:999px;border:1px solid #d5ddd3;background:rgba(255,255,255,.54);padding:8px 12px;font:10px var(--mono);color:#6e7b72}.round-pill i{width:6px;height:6px;border-radius:50%;background:var(--coral)}.round-pill b{color:var(--ink)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.board-card{border-radius:22px;background:#e3e9df;border:1px solid #d7dfd5;padding:13px;box-shadow:0 16px 35px rgba(39,66,53,.07)}.game-board{width:100%;max-width:690px;aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:4px;background:#ccd7ca;border-radius:15px;padding:5px;position:relative}.board-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:8px;background:#f7f6ee;border:1px solid rgba(29,53,43,.08);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:3px 2px 4px;box-shadow:0 1px 1px rgba(43,64,48,.05)}.board-tile::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:#d5ded4}.tile-venture{background:#edf3e9}.tile-venture::after{background:#73a17e}.tile-bill{background:#faece4}.tile-bill::after{background:#df7d5e}.tile-deck{background:#f7f0d9}.tile-deck::after{background:#d4a842}.tile-support{background:#e9eef1}.tile-support::after{background:#7d9ab0}.tile-gig{background:#eee9f4}.tile-gig::after{background:#9b83b0}.tile-start{background:#dce9d9;border-color:#9db9a0}.tile-start::after{background:var(--green)}.tile-topline{position:absolute;left:4px;right:4px;top:3px;display:flex;justify-content:space-between;align-items:center}.tile-num{font:400 clamp(5px,.6vw,8px) var(--mono);color:#8d978b}.owner-dot{width:6px;height:6px;border-radius:50%;background:var(--owner);box-shadow:0 0 0 2px #fff}.tile-icon{display:block;font:700 clamp(9px,1.2vw,15px) var(--sans);line-height:1;color:#667d6c;margin:6px 0 3px}.tile-bill .tile-icon{color:#c76b4d}.tile-deck .tile-icon{color:#af8430}.tile-label{font:700 clamp(5.5px,.72vw,9px)/1.08 var(--display);color:#394941;overflow-wrap:normal;word-break:normal;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-start .tile-label{color:#214f43}.token-stack{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);display:flex;gap:1px;max-width:94%;justify-content:center}.token{width:clamp(11px,1.2vw,16px);height:clamp(11px,1.2vw,16px);border-radius:50%;border:1px solid rgba(255,255,255,.9);background:var(--token);color:#fff;font:800 6px var(--sans);display:grid;place-items:center;box-shadow:0 1px 3px rgba(0,0,0,.2)}.center-panel{border:1px solid rgba(43,78,62,.13);border-radius:14px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.86),rgba(248,248,239,.78) 60%,rgba(237,241,229,.9));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;overflow:hidden;position:relative}.center-panel::before,.center-panel::after{content:"";position:absolute;width:65%;height:1px;background:#d9e2d6;left:17.5%}.center-panel::before{top:16%}.center-panel::after{bottom:14%}.center-topline{font:500 clamp(5px,.65vw,8px) var(--mono);letter-spacing:.08em;color:#8a968a;display:flex;gap:6px;align-items:center}.center-spark{color:var(--coral);font-size:11px}.center-wordmark{font:800 clamp(20px,3.6vw,42px)/.85 var(--display);letter-spacing:-.09em;color:var(--green);margin:10px 0 4px}.center-wordmark em{font-style:normal;color:#c86d50}.center-caption{font:500 clamp(6px,.72vw,9px) var(--mono);color:#839087}.center-current{margin:8px 0;display:flex;align-items:center;gap:6px;text-align:left}.center-avatar,.player-avatar{width:26px;height:26px;border-radius:9px;background:var(--player);color:white;display:grid;place-items:center;font:800 12px var(--display);box-shadow:0 2px 5px rgba(28,48,44,.12)}.center-current small{display:block;font:500 6px var(--mono);color:#8c968c;letter-spacing:.1em}.center-current b{font:800 clamp(8px,.85vw,11px) var(--display);display:block;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-die-button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:1px;color:#7d8d80;font:500 clamp(6px,.72vw,9px) var(--mono);padding:0}.center-die-button:disabled{opacity:.82}.center-die{width:clamp(30px,5.3vw,57px);height:clamp(30px,5.3vw,57px);display:grid;place-items:center;border-radius:14px;background:#fffdf7;box-shadow:0 6px 15px rgba(37,65,47,.15);font-size:clamp(23px,3vw,34px);color:var(--coral);border:1px solid #efe8db}.center-die.is-rolling{animation:dice-roll .6s ease-in-out infinite}.center-tip{margin-top:8px;color:#929a8e;font:500 clamp(5px,.65vw,8px)/1.5 var(--mono)}.center-tip b{color:var(--green)}@keyframes dice-roll{0%{transform:rotate(0) scale(1)}35%{transform:rotate(110deg) scale(1.09)}70%{transform:rotate(250deg) scale(.95)}100%{transform:rotate(360deg) scale(1)}}.board-legend{display:flex;justify-content:center;gap:17px;padding:12px 2px 0;color:#7b877e;font:9px var(--mono)}.board-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:2px;display:inline-block}.legend-venture{background:#73a17e}.legend-bill{background:#df7d5e}.legend-card{background:#d4a842}.legend-support{background:#7d9ab0}
.game-sidebar{display:flex;flex-direction:column;gap:12px}.turn-card,.players-card,.activity-card{background:var(--white);border:1px solid #dfe5dc;border-radius:16px;padding:15px;box-shadow:0 7px 18px rgba(34,54,44,.04)}.turn-card{padding:16px}.turn-card-top,.section-title-row{display:flex;align-items:center;justify-content:space-between}.mini-label{font:500 9px var(--mono);letter-spacing:.11em;color:#839087}.turn-status{font:500 8px var(--mono);letter-spacing:.08em;color:#648a65;background:#e9f0e6;padding:5px 7px;border-radius:999px}.turn-status.is-rolling{color:#a67428;background:#f6eddb}.active-player-line{display:flex;gap:9px;align-items:center;margin-top:13px}.active-avatar{width:34px;height:34px;border-radius:12px}.active-player-line strong{font:800 14px var(--display);letter-spacing:-.03em}.active-player-line small{display:block;color:#859087;font:10px var(--mono);margin-top:2px}.balance-line{display:flex;align-items:baseline;justify-content:space-between;padding:13px 0 11px;border-bottom:1px solid #edf0e9;margin-top:11px}.balance-line span{font-size:11px;color:#78857c}.balance-line strong{font:800 17px var(--display);letter-spacing:-.05em}.turn-stats{display:flex;justify-content:space-between;gap:8px;padding:10px 0 13px}.turn-stats span{font:9px var(--mono);color:#8a948a}.turn-stats b{display:block;color:#526c5e;font-size:10px;margin-top:4px}.roll-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 13px;font-size:12px}.button-die{font-size:18px;color:#f3d08e}.roll-arrow{margin-left:auto;font-size:16px}.button-quiet{background:#eef2eb;color:#4a6a59}.button-quiet:hover:not(:disabled){background:#e3ebe0}.sell-toggle{width:100%;padding:9px 10px;margin-top:8px;font-size:10px}.sale-list{border-top:1px solid #e8ede6;margin-top:10px;padding-top:6px}.sale-empty{font:10px/1.5 var(--mono);color:#909a90;margin:8px 2px}.sale-row{display:flex;justify-content:space-between;align-items:center;padding:8px 1px;border-bottom:1px solid #eef0ec;gap:8px}.sale-row span b{font:700 10px var(--display);display:block}.sale-row span small{display:block;font:9px var(--mono);color:#929b92;margin-top:3px}.sale-button{border:1px solid #d6dfd4;background:white;border-radius:7px;padding:5px 8px;color:#55745e;font:600 9px var(--mono)}.sale-button:disabled{opacity:.4}.players-card h2,.activity-card h2{font:800 13px var(--display);margin:0;letter-spacing:-.03em}.muted-count{color:#939b93;font:9px var(--mono)}.player-list{margin-top:9px}.player-row{display:flex;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #f0f2ed}.player-row:first-child{border-top:0}.player-row.is-active{background:#f3f7f1;margin:0 -8px;padding:8px;border-radius:9px}.player-avatar.small{width:27px;height:27px;border-radius:9px;font-size:10px;flex:0 0 auto}.player-main{min-width:0;flex:1}.player-main b{display:block;font:700 10px var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-main small{display:block;font:8px var(--mono);color:#919b91;margin-top:2px}.player-money{font:500 9px var(--mono);white-space:nowrap;color:#526a59}.player-row.is-out{opacity:.46}.player-row.is-out .player-main b{text-decoration:line-through}.activity-mark{font:500 8px var(--mono);color:#81a07d;letter-spacing:.06em}.activity-card{padding-bottom:10px}.activity-feed{margin-top:8px}.feed-item{display:flex;gap:7px;align-items:flex-start;padding:7px 0;border-top:1px solid #f0f2ed;font:9px/1.45 var(--mono);color:#79857b}.feed-item:first-child{border-top:0}.feed-item i{width:5px;height:5px;border-radius:50%;background:#aab8a6;margin-top:4px;flex:0 0 auto}.feed-item.good i{background:#6b9e6c}.feed-item.cost i,.feed-item.bad i{background:#da8064}.feed-item span{overflow-wrap:anywhere}.feed-item.bad{color:#ac654f}.empty-feed{font:10px var(--mono);color:#9aa198}.prototype-note{text-align:center;font:9px var(--mono);line-height:1.5;color:#8f998e;margin:0 15px}
.modal-root{display:none}.modal-root.is-open{display:block}.modal-backdrop{position:fixed;z-index:20;inset:0;background:rgba(22,38,32,.36);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;animation:fade-in .15s ease}.action-modal{width:min(100%,440px);border-radius:21px;border:1px solid #dfe6dc;background:#fffefa;padding:24px;box-shadow:0 25px 80px rgba(23,46,35,.25);animation:rise-in .2s ease}.modal-kicker{font:500 9px var(--mono);letter-spacing:.12em;color:#859186;display:flex;align-items:center;gap:7px}.modal-mark{color:var(--coral);font-size:15px}.action-modal h2{font:800 26px var(--display);letter-spacing:-.06em;margin:17px 0 7px}.modal-body{font-size:13px;line-height:1.6;color:#707c73;margin:0}.modal-body b{color:#284e42}.modal-actions{display:flex;gap:8px;margin-top:22px}.modal-actions button{flex:1;padding:12px;font-size:11px}.modal-opportunity{background:#fffcf3}.modal-opportunity .modal-mark{color:#c29737}.modal-community .modal-mark{color:#668a70}.modal-winner{text-align:center}.modal-winner .modal-kicker{justify-content:center}.modal-winner .modal-actions{flex-direction:column}.pass-overlay{position:fixed;z-index:15;inset:0;background:rgba(25,43,35,.55);backdrop-filter:blur(9px);display:grid;place-items:center;padding:20px}.pass-card{width:min(100%,370px);border-radius:22px;background:var(--white);border:1px solid #e1e7dd;padding:28px;text-align:center;box-shadow:0 20px 70px rgba(15,35,26,.24)}.pass-icon{width:47px;height:47px;border-radius:15px;background:#e5eee2;color:var(--green);display:grid;place-items:center;font-size:24px;margin:0 auto 17px}.pass-card .eyebrow{justify-content:center}.pass-card h2{font:800 24px var(--display);letter-spacing:-.06em;margin:12px 0 5px}.pass-card p{color:#78847b;font-size:12px;line-height:1.5;margin-bottom:18px}.pass-card button{padding:12px 17px;font-size:11px}
@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes rise-in{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1060px){.app-shell{padding-left:22px;padding-right:22px}.play-layout{grid-template-columns:minmax(0,1fr) 292px;gap:14px}.board-card{padding:9px}.game-board{gap:3px;padding:4px}.tile-label{font-size:clamp(5px,.65vw,8px)}.hero-grid{gap:10px}.hero-copy{padding-left:1%}}
@media(max-width:800px){.app-shell{padding:0 16px 28px}.site-header{height:66px}.header-note{font-size:9px}.hero-grid{grid-template-columns:1fr .8fr;min-height:405px}.hero-copy h1{font-size:clamp(46px,8vw,68px)}.hero-lede{font-size:14px}.hero-metrics{margin-top:32px}.hero-metrics div{min-width:auto;padding-right:12px;margin-right:12px}.hero-metrics strong{font-size:14px}.hero-metrics span{font-size:8px}.hero-art{min-height:360px}.mini-board{width:88%}.how-strip{gap:14px}.how-item{gap:8px}.play-layout{grid-template-columns:1fr}.board-card{width:100%;max-width:660px;margin:0 auto;padding:11px}.game-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.turn-card{grid-column:1/-1}.activity-card{grid-column:1/-1}.prototype-note{grid-column:1/-1}.turn-card{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.turn-card-top{grid-column:1/-1}.active-player-line{grid-column:1/-1}.balance-line{grid-column:1/-1}.turn-stats{grid-column:1/-1}.roll-button{grid-column:1}.sell-toggle{grid-column:2;align-self:center;margin-top:0}.sale-list{grid-column:1/-1}.center-wordmark{font-size:clamp(25px,5vw,39px)}.tile-label{font-size:clamp(6px,1.1vw,9px)}.tile-icon{font-size:clamp(10px,1.6vw,15px)}}
@media(max-width:560px){.app-shell{padding:0 10px 20px}.site-header{height:59px}.brand-mark{width:30px;height:30px;padding:5px}.brand strong{font-size:13px}.brand small{font-size:8px}.header-note{gap:6px;font-size:8px}.header-divider{height:10px}.home-screen{padding-top:8px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0}.hero-copy{padding:35px 5px 0}.hero-copy h1{font-size:58px;margin:18px 0 12px}.hero-lede{max-width:380px;font-size:13px;margin-bottom:17px}.button-large{padding:12px 16px;font-size:12px}.hero-caption{font-size:9px}.hero-metrics{margin:23px 0 0;justify-content:space-between}.hero-metrics div{flex:1;padding-right:7px;margin-right:7px}.hero-metrics strong{font-size:13px}.hero-metrics span{font-size:8px}.hero-art{min-height:275px;margin-top:1px}.art-sun{width:260px;height:260px;right:18%;top:3%}.mini-board{width:min(310px,75%);border-width:7px;border-radius:20px;padding:5px;gap:4px}.mini-center b{font-size:19px}.sticker-dice{width:57px;height:57px;font-size:30px;right:8%;top:13%}.sticker-rupiah{width:68px;height:64px;font-size:17px;left:5%;bottom:10%}.art-scribble{font-size:10px;right:5%;bottom:6%}.how-strip{grid-template-columns:1fr 1fr;gap:14px 12px;padding:17px 3px}.how-heading strong{font-size:15px}.how-item{padding-top:2px}.how-item b{font-size:11px}.how-item p{font-size:9px}.home-footer{font-size:8px;gap:12px}.setup-screen{margin-top:22px}.back-button{margin-bottom:19px}.setup-heading h1{font-size:34px;margin-top:10px}.setup-heading p{font-size:12px;line-height:1.5}.setup-card{padding:15px;border-radius:17px}.mode-card{padding:12px;min-height:118px}.mode-title{font-size:12px}.mode-desc{font-size:9px}.mode-icon{font-size:18px}.setup-fields{grid-template-columns:1fr;gap:8px;margin-top:18px}.field-label{grid-column:auto}.select-control{height:40px}.name-fields{grid-template-columns:1fr 1fr}.name-field input{height:39px;padding:0 8px;font-size:11px}.name-field span{font-size:9px}.setup-summary{font-size:10px}.summary-meta{font-size:8px}.setup-footnote{font-size:9px}.game-topbar{margin:19px 0 12px;align-items:center}.game-topbar h1{font-size:24px}.game-top-actions{gap:8px}.round-pill{padding:7px 9px;font-size:8px}.game-top-actions .text-button{font-size:9px}.play-layout{gap:11px}.board-card{padding:7px;border-radius:17px}.game-board{gap:2px;padding:3px;border-radius:11px}.board-tile{border-radius:6px;padding:2px 1px 3px}.tile-topline{left:2px;right:2px;top:2px}.tile-num{font-size:5px}.owner-dot{width:5px;height:5px}.tile-icon{font-size:clamp(8px,2.1vw,11px);margin:5px 0 2px}.tile-label{font-size:clamp(6px,1.6vw,7px);line-height:1.05}.token-stack{bottom:2px}.token{width:clamp(9px,2.3vw,13px);height:clamp(9px,2.3vw,13px);font-size:5px}.center-panel{border-radius:10px;padding:4px}.center-panel::before{top:12%}.center-panel::after{bottom:11%}.center-topline{font-size:5px;gap:3px}.center-spark{font-size:8px}.center-wordmark{font-size:clamp(20px,7vw,29px);margin:7px 0 3px}.center-caption{font-size:5px}.center-current{margin:6px 0;gap:4px}.center-avatar{width:19px;height:19px;border-radius:6px;font-size:9px}.center-current small{font-size:5px}.center-current b{font-size:8px;max-width:55px}.center-die{width:clamp(27px,9vw,38px);height:clamp(27px,9vw,38px);font-size:21px;border-radius:10px}.center-die-button{font-size:5px}.center-tip{font-size:5px;margin-top:5px}.board-legend{gap:9px;font-size:7px;padding-top:8px}.legend-dot{width:6px;height:6px}.game-sidebar{grid-template-columns:1fr;gap:9px}.turn-card{grid-column:auto;padding:13px;column-gap:12px}.turn-card-top,.active-player-line,.balance-line,.turn-stats,.sale-list{grid-column:1/-1}.roll-button{grid-column:1;padding:10px;font-size:11px}.sell-toggle{grid-column:2;margin-top:0;padding:9px;font-size:9px}.players-card,.activity-card{padding:13px}.activity-card{grid-column:auto}.prototype-note{grid-column:auto;font-size:8px;margin:0 6px}.modal-backdrop{padding:12px}.action-modal{padding:20px;border-radius:18px}.action-modal h2{font-size:22px}.modal-body{font-size:12px}.modal-actions button{padding:11px 8px;font-size:10px}.pass-card{padding:24px}.pass-card h2{font-size:22px}}
@media(max-width:360px){.app-shell{padding-left:7px;padding-right:7px}.hero-copy h1{font-size:52px}.hero-caption{max-width:130px;line-height:1.4}.game-top-actions{gap:4px}.game-top-actions .text-button{padding:7px 1px}.tile-label{font-size:5px}.center-wordmark{font-size:19px}.board-legend{gap:6px;font-size:6px}}

/* Character selection and skill panel */
.character-fields{display:grid;gap:10px;margin-top:18px}.character-fields-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.character-fields-heading b{font:800 12px var(--display)}.character-fields-heading span{font:9px var(--mono);color:#89948a}.character-pick-card{border:1px solid #e0e7dd;background:#f9faf5;border-radius:13px;padding:11px;display:grid;grid-template-columns:minmax(120px,.9fr) minmax(180px,1.4fr);gap:7px 12px;align-items:center}.character-pick-label{font:700 10px var(--mono);color:#6e7e72}.character-select{width:100%;height:36px;border:1px solid #dce3db;border-radius:9px;background:#fffefa;padding:0 10px;color:var(--ink);font:600 10px var(--sans);outline:none}.character-select:focus{border-color:#6a9a87;box-shadow:0 0 0 3px rgba(106,154,135,.12)}.character-preview{grid-column:1/-1;display:flex;gap:9px;align-items:center;border-top:1px solid #edf0ea;padding-top:8px}.character-preview-icon{flex:0 0 auto;width:28px;height:28px;border-radius:9px;background:var(--character-color);color:#fff;display:grid;place-items:center;font:700 15px var(--sans)}.character-preview-copy{display:grid;gap:3px;font:9px/1.4 var(--mono);color:#768379}.character-preview-copy b{color:#3b5e4d}.character-panel{border:1px solid #e2e9df;border-radius:12px;background:linear-gradient(135deg,#f3f7ef,#fbfbf5);padding:10px;margin-top:12px}.character-panel-head{display:flex;align-items:center;gap:8px}.character-icon{width:29px;height:29px;border-radius:9px;background:var(--character-color);color:#fff;display:grid;place-items:center;font:700 15px var(--sans);flex:0 0 auto}.character-panel-head>div{min-width:0;flex:1}.character-panel-head strong{display:block;font:800 11px var(--display)}.character-panel-head small{display:block;font:8px var(--mono);color:#859087;margin-top:2px}.character-chip{font:500 7px var(--mono);letter-spacing:.08em;color:#7b8b7c;background:#e8eee4;padding:4px 6px;border-radius:99px}.character-ability{display:grid;grid-template-columns:38px 1fr;gap:6px;align-items:start;margin-top:9px}.ability-tag{font:500 7px var(--mono);letter-spacing:.08em;color:#5c835d;background:#e5eee2;border-radius:5px;padding:4px 5px;text-align:center}.ability-tag.active{color:#a77528;background:#f5edda}.character-ability p{font:9px/1.4 var(--mono);color:#66756b;margin:0}.button-skill{width:100%;display:flex;justify-content:center;align-items:center;gap:7px;padding:8px 9px;margin-top:10px;border:1px solid #eadcb5;background:#f8f0db;color:#765c25;font:700 9px var(--sans)}.button-skill:hover:not(:disabled){background:#f3e7c4;transform:translateY(-1px)}.button-skill:disabled{opacity:.52}.skill-state{font:8px/1.4 var(--mono);color:#899489;text-align:center;margin:6px 0 0}.player-main small .character-mini{color:#718675}.character-fields .character-preview-copy span{overflow-wrap:anywhere}
@media(max-width:800px){.character-panel{grid-column:1/-1}.character-pick-card{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.character-fields{margin-top:14px}.character-fields-heading{align-items:flex-start;flex-direction:column;gap:3px}.character-pick-card{grid-template-columns:1fr;gap:6px;padding:10px}.character-preview{grid-column:auto;align-items:flex-start}.character-preview-icon{width:25px;height:25px;font-size:13px}.character-preview-copy{font-size:8px}.character-panel{margin-top:9px;padding:9px}.character-ability p{font-size:8px}.button-skill{font-size:9px;padding:9px}.character-chip{font-size:6px}}
