.lobby{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-md);gap:var(--space-xl)}.lobby-logo{width:min(480px,78vw);height:auto;display:block}.lobby-logo-sm{width:min(280px,60vw)}.lobby-content{opacity:0;transition:opacity .25s ease;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-xl)}.lobby-content.ready{opacity:1}.lobby-actions{display:flex;flex-direction:column;align-items:center;gap:20px}.btn-cta{background:none;border:none;font-family:var(--font-display);font-size:18px;font-weight:400;color:#1a1a1a;cursor:pointer;letter-spacing:.02em;padding:2px 0;position:relative;transition:opacity .15s}.btn-cta:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1.5px;background:#1a1a1a;transform:scaleX(0);transition:transform .2s ease}.btn-cta:hover{opacity:.6}.btn-cta:hover:after{transform:scaleX(1)}.lobby-form{display:flex;flex-direction:column;gap:var(--space-lg);width:100%;max-width:320px}.lobby-form h2{font-family:var(--font-display);font-size:30px;font-weight:400;letter-spacing:.06em;text-align:center}.lobby-form input{border:none;border-bottom:1.5px solid #c0c0c0;border-radius:0;padding:10px 0;font-size:16px;background:transparent;width:100%;outline:none;color:#1a1a1a;transition:border-color .15s}.lobby-form input:focus{border-bottom-color:var(--color-orange)}.lobby-form input::placeholder{color:#aaa}.token-picker{display:flex;flex-direction:column;gap:var(--space-sm)}.token-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#aaa}.token-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.token-btn{display:flex;align-items:center;justify-content:center;padding:14px 8px;border:none;background:transparent;border-radius:var(--radius);position:relative;transition:background .12s,transform .12s}.token-btn:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%) scaleX(0);width:18px;height:2px;background:var(--color-orange);border-radius:1px;transition:transform .15s ease}.token-btn.selected{background:#fff4ed}.token-btn.selected:after{transform:translate(-50%) scaleX(1)}.token-btn:hover:not(.taken):not(.selected){background:#f5f5f5;transform:scale(1.06)}.token-btn .token-icon{font-size:32px;line-height:1}.token-btn.taken{opacity:.28}.bot-count-row{display:flex;flex-direction:column;gap:var(--space-xs)}.bot-count-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#aaa}.bot-count-buttons{display:flex;gap:0}.bot-count-btn{flex:1;padding:8px 4px;border:none;border-bottom:2px solid transparent;background:transparent;border-radius:0;font-family:var(--font-display);font-size:20px;font-weight:400;color:#bbb;transition:color .12s,border-color .12s}.bot-count-btn.selected{color:var(--color-orange);border-bottom-color:var(--color-orange)}.bot-count-btn:hover:not(.selected){color:#888}.form-row{display:flex;gap:var(--space-sm);align-items:center}.form-row button{flex:1}.lobby-form .btn-secondary{background:transparent;color:#aaa;border:none;font-size:14px;padding:12px 8px;text-decoration:underline;text-underline-offset:3px}.lobby-form .btn-secondary:hover{color:#666;opacity:1}.waiting-room{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);width:100%;max-width:380px}.room-code-label{font-family:var(--font-display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#888}.room-code{font-family:var(--font-display);font-size:52px;letter-spacing:.3em;color:var(--color-orange)}.room-hint{font-size:13px;color:#aaa}.player-list{width:100%;display:flex;flex-direction:column;gap:6px}.player-row{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-md);border-left:3px solid #e0e0e0;font-weight:700;font-size:15px}.host-badge{margin-left:auto;font-size:10px;background:var(--color-orange);color:#fff;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.badge-bot{background:var(--color-dark-blue);color:#fff}.token-icon{font-size:22px;line-height:1}.waiting-hint{font-size:13px;color:#aaa;font-style:italic}.board-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.board-svg{width:100%;height:100%;box-shadow:0 8px 40px #0003;border-radius:4px;transition:transform .38s cubic-bezier(.4,0,.2,1);transform-origin:50% 50%}@keyframes tokenArrive{0%{opacity:0;transform:scale(.2)}65%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.player-token{animation:tokenArrive .38s cubic-bezier(.34,1.56,.64,1) both;transform-box:fill-box;transform-origin:center}.board-view{display:flex;flex-direction:column;align-items:center;gap:10px}.board-pan-wrapper{overflow:hidden;border-radius:4px;width:min(calc(100vw - 360px),calc(100vh - 80px));height:min(calc(100vw - 360px),calc(100vh - 80px));max-width:min(90vw,82vh);max-height:min(90vw,82vh)}.board-pan-wrapper.is-zoomed{cursor:grab}.board-pan-wrapper.is-zoomed:active{cursor:grabbing}.board-zoom-inner{width:100%;height:100%}.board-controls{display:flex;gap:10px;align-items:center}.ctrl-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--color-dark-blue);background:#fff;color:var(--color-dark-blue);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .1s;line-height:1;padding:0}.ctrl-btn:hover{background:var(--color-dark-blue);color:#fff;transform:scale(1.08)}.ctrl-btn:active{transform:scale(.95)}.ctrl-reset{opacity:0;pointer-events:none;border-color:var(--color-orange);color:var(--color-orange);font-size:16px;transition:opacity .2s,background .15s,color .15s,transform .1s}.ctrl-reset.visible{opacity:1;pointer-events:auto}.ctrl-reset:hover{background:var(--color-orange);color:#fff;border-color:var(--color-orange)}.ctrl-zoom{font-size:15px;border-color:var(--color-green, #007A4D);color:var(--color-green, #007A4D)}.ctrl-zoom:hover{background:var(--color-green, #007A4D);color:#fff;border-color:var(--color-green, #007A4D)}.player-panel{border-left:3px solid var(--token-color, #ccc);padding:var(--space-sm) var(--space-md);background:transparent;transition:background .2s;border-radius:0 var(--radius) var(--radius) 0}.player-panel.active{background:color-mix(in srgb,var(--token-color, #F57F29) 6%,transparent)}.player-panel.bankrupt{opacity:.4}.panel-header{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.player-name{font-family:var(--font-display);font-weight:400;font-size:15px;letter-spacing:.03em;flex:1}.badge{font-size:10px;padding:2px 6px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-jail{background:#e2231a;color:#fff}.badge-bankrupt{background:#1a1a1a;color:#fff}.badge-dc{background:#aaa;color:#fff}.badge-turn{background:var(--color-orange);color:#fff}.panel-money{font-family:var(--font-display);font-size:18px;color:var(--token-color, #333);margin:2px 0 4px}.jail-cards{font-size:11px;color:#888;margin-top:2px}.property-dots{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.prop-dot{display:inline-block;width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.15);cursor:default}.prop-dot.mortgaged{opacity:.35;outline:1px dashed #bbb}.action-bar{border-top:1px solid #e8e8e8;border-radius:0;padding:var(--space-md) 0;background:transparent;display:flex;flex-direction:column;gap:var(--space-sm)}.action-bar-title{font-family:var(--font-display);font-size:14px;letter-spacing:.06em;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.dice-display{font-family:var(--font-body);font-size:13px;font-weight:700;background:var(--color-dark-blue);color:#fff;padding:2px 10px;border-radius:999px;display:inline-block;transition:background .15s}@keyframes dice-shake{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-8deg)}75%{transform:translateY(-3px) rotate(8deg)}}.dice-display.rolling{background:var(--color-orange);animation:dice-shake .13s ease infinite}.action-group{display:flex;flex-direction:column;gap:var(--space-xs)}.action-group.warning{border-top:1px solid #f0c0c0;padding-top:var(--space-sm)}.action-hint{font-size:12px;color:#666}.action-hint.danger{color:#e2231a;font-weight:700}.btn-action{width:100%;padding:10px;font-size:14px}.btn-danger{background:var(--color-red);color:#fff}.manage-details summary{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:#666;padding:4px 0}.manage-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.manage-row{display:flex;align-items:center;gap:4px;font-size:12px}.manage-name{flex:1;font-weight:700}.manage-confirm-label{font-size:10px;font-weight:700;color:#e2231a;text-transform:uppercase;letter-spacing:.04em}.btn-xs{font-size:10px;padding:2px 6px;border-radius:var(--radius);font-weight:700}.btn-green{background:var(--color-green);color:#fff}.btn-red{background:var(--color-red);color:#fff}.btn-yellow{background:var(--color-yellow);color:#1a1a1a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card-modal{width:min(380px,92vw);background:#fff;border:3px solid #1A1A1A;border-radius:12px;padding:28px var(--space-lg);text-align:center;box-shadow:0 16px 48px #0000004d;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.card-modal.chance{border-color:var(--color-orange)}.card-modal.community{border-color:var(--color-light-blue)}.card-deck-label{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#888;margin-bottom:var(--space-sm)}.card-modal.chance .card-deck-label{color:var(--color-orange)}.card-modal.community .card-deck-label{color:var(--color-light-blue)}.card-title{font-family:var(--font-display);font-size:28px;margin-bottom:var(--space-sm);letter-spacing:.03em}.card-text{font-size:15px;line-height:1.6;color:#333;margin-bottom:var(--space-lg)}.card-btn{min-width:120px}.card-waiting{font-size:13px;color:#999;font-style:italic}.auction-modal{width:min(380px,92vw);background:#fff;border:3px solid var(--color-yellow);border-radius:12px;padding:var(--space-xl) var(--space-lg);text-align:center;box-shadow:0 16px 48px #0000004d;animation:slideUp .25s ease;overflow:hidden;position:relative}.auction-timer-bar-wrap{position:absolute;top:0;left:0;right:0;height:5px;background:#eee}.auction-timer-bar{height:100%;transition:width .25s linear,background .4s}.auction-timer-label{font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:.04em;margin-bottom:2px;transition:color .4s}.auction-title{font-family:var(--font-display);font-size:24px;margin-bottom:var(--space-sm)}.auction-property{font-size:20px;font-weight:700;margin-bottom:var(--space-md)}.current-bid{display:flex;flex-direction:column;gap:2px;background:#fffbe6;border:2px solid var(--color-yellow);border-radius:var(--radius);padding:var(--space-md);margin-bottom:var(--space-md)}.bid-label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.06em}.bid-amount{font-family:var(--font-display);font-size:36px;color:var(--color-orange)}.bid-bidder{font-size:13px;color:#555}.active-bidders{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:center;margin-bottom:var(--space-md)}.bidder-chip{background:var(--color-light-blue);color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px}.bid-controls{display:flex;flex-direction:column;gap:var(--space-sm)}.bid-buttons{display:flex;gap:var(--space-sm)}.bid-buttons button{flex:1}.auction-watching{font-size:13px;color:#999;font-style:italic}.trade-modal{width:min(480px,94vw);background:#fff;border:3px solid var(--color-green);border-radius:12px;padding:var(--space-xl) var(--space-lg);box-shadow:0 16px 48px #0000004d;animation:slideUp .25s ease}.trade-title{font-family:var(--font-display);font-size:24px;text-align:center;margin-bottom:var(--space-xs)}.trade-subtitle{text-align:center;font-size:14px;color:#555;margin-bottom:var(--space-lg)}.trade-columns{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg)}.trade-col{flex:1;display:flex;flex-direction:column;gap:4px}.trade-col-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:4px}.trade-item{font-size:13px;padding:4px 8px;border-radius:var(--radius);font-weight:700}.trade-item.money{background:#e8f5e9;color:var(--color-green)}.trade-item.prop{background:#fff3e0;color:var(--color-orange)}.trade-item.card{background:#e3f2fd;color:var(--color-dark-blue)}.trade-item.empty{color:#ccc;font-style:italic;font-weight:400}.trade-arrow{font-size:24px;padding-top:20px;color:#ccc}.trade-actions{display:flex;gap:var(--space-sm)}.trade-actions button{flex:1}.trade-waiting{text-align:center;font-size:13px;color:#999;font-style:italic}.turn-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;animation:popup-fade-in .2s ease}@keyframes popup-fade-in{0%{opacity:0}to{opacity:1}}.turn-popup{background:var(--bg, #f5f0e8);border:3px solid #1A1A1A;border-radius:12px;padding:32px 40px;width:min(420px,90vw);display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 12px 48px #00000059;animation:popup-slide-up .25s cubic-bezier(.34,1.56,.64,1)}@keyframes popup-slide-up{0%{transform:translateY(24px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.popup-dice-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.popup-die{width:44px;height:44px;background:#1a1a1a;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:400;box-shadow:0 3px #444}.popup-plus,.popup-equals{font-family:var(--font-display);font-size:18px;font-weight:400;color:#555}.popup-equals{font-size:22px;color:#1a1a1a;margin-left:4px}.popup-rolled-label{font-size:14px;color:#666;margin:0}.popup-space-name{font-family:var(--font-display);font-size:clamp(20px,4vw,28px);font-weight:400;color:#1a1a1a;text-align:center;letter-spacing:.03em}.popup-context{font-size:14px;color:#555;margin:0;text-align:center}.popup-context.danger{color:#e2231a;font-weight:700}.popup-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.popup-btn{width:100%;padding:13px 20px;border-radius:6px;font-family:var(--font-body);font-size:15px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:opacity .15s,transform .1s;border:2px solid transparent}.popup-btn:active{transform:scale(.98)}.popup-btn:disabled{opacity:.4;cursor:default}.popup-btn-primary{background:#1a1a1a;color:#fff;border-color:#1a1a1a;margin-top:8px}.popup-btn-primary:hover:not(:disabled){opacity:.82}.popup-btn-secondary{background:transparent;color:#1a1a1a;border-color:#1a1a1a}.popup-btn-secondary:hover{background:#0000000f}.popup-btn-danger{background:#e2231a;color:#fff;border-color:#e2231a;margin-top:8px}.popup-btn-danger:hover{opacity:.85}.popup-subtext{font-size:12px;color:#888;text-align:center;margin:-4px 0 0}.popup-other-label{font-family:var(--font-display);font-size:13px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:#888;margin:0}.popup-events{list-style:none;padding:0;margin:0;width:100%;display:flex;flex-direction:column;gap:4px}.popup-event-item{font-size:13px;color:#444;padding:4px 10px;background:#0000000a;border-radius:4px;text-align:center}.deed-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:250;animation:deedFadeIn .18s ease}@keyframes deedFadeIn{0%{opacity:0}to{opacity:1}}.deed-card{position:relative;width:min(340px,90vw);display:flex;flex-direction:column;align-items:stretch;gap:10px;animation:deedSlideUp .24s cubic-bezier(.34,1.56,.64,1)}@keyframes deedSlideUp{0%{transform:translateY(28px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.deed-close{position:absolute;top:-14px;right:-14px;width:30px;height:30px;border-radius:50%;background:#1a1a1a;color:#fff;border:none;font-size:18px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;transition:background .15s,transform .1s;box-shadow:0 2px 8px #0006}.deed-close:hover{background:#444}.deed-close:active{transform:scale(.92)}.deed-placeholder{width:100%;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #0000008c}.deed-ph-header{padding:24px 20px 22px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center}.deed-ph-name{font-family:var(--font-display);font-size:34px;font-weight:400;color:#fff;text-align:center;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;text-shadow:0 1px 6px rgba(0,0,0,.25)}.deed-ph-body{padding:0 22px 18px;background:#fff;display:flex;flex-direction:column}.deed-ph-base-rent{text-align:center;font-family:var(--font-body);font-size:16px;font-weight:400;color:#111;padding:16px 0 14px}.deed-ph-rows{display:flex;flex-direction:column}.deed-stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0}.deed-stat-label,.deed-stat-value{font-family:var(--font-body);font-size:16px;font-weight:400;color:#111}.deed-centered-row{text-align:center;font-family:var(--font-body);font-size:16px;font-weight:400;color:#111;padding:7px 0}.deed-ph-note{font-family:var(--font-body);font-size:15px;font-weight:400;color:#111;text-align:center;padding:14px 0 6px;line-height:1.55}.deed-ph-footer{font-family:var(--font-body);font-size:10px;color:#666;text-align:center;padding:10px 4px 4px;line-height:1.5;font-style:italic}.deed-ph-mortgaged-body{background:#2d2d2d;padding:40px 16px;display:flex;flex-direction:column;align-items:center;gap:8px}.deed-ph-mortgaged-word{font-family:var(--font-display);font-size:28px;font-weight:400;color:#fff;letter-spacing:.08em;text-align:center}.deed-ph-mortgaged-amount{font-family:var(--font-body);font-size:18px;font-weight:700;color:#aaa;text-align:center}.deed-owner-strip{background:#fff;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 20px #00000059}.deed-owner-icon{font-size:24px;flex-shrink:0}.deed-owner-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.deed-owner-name{font-family:var(--font-display);font-size:14px;font-weight:400;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deed-owner-status{font-size:11px;color:#888;letter-spacing:.02em}.deed-badge{flex-shrink:0;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.deed-badge-available{background:#e8f5e9;color:#2e7d32}.deed-badge-mortgaged{background:#fff3e0;color:#e65100}.game-log{flex:1;overflow:hidden;display:flex;flex-direction:column;border-top:1px solid #e8e8e8;padding-top:var(--space-sm)}.log-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#bbb;margin-bottom:6px;padding-left:8px}.log-list{list-style:none;display:flex;flex-direction:column;gap:3px;overflow-y:auto;max-height:200px}.log-entry{font-size:12px;color:#555;padding:3px 8px;border-left:3px solid #ccc;border-radius:0 var(--radius) var(--radius) 0;line-height:1.4}.game-layout{display:grid;grid-template-columns:1fr 300px;grid-template-rows:1fr;min-height:100vh;gap:0}.game-board-area{display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:var(--color-bg);overflow:hidden}.game-sidebar{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);background:#fff;border-left:1px solid #e4e4e4;overflow-y:auto;max-height:100vh}.players-list{display:flex;flex-direction:column;gap:2px}@media (max-width: 900px){.game-layout{grid-template-columns:1fr;grid-template-rows:auto auto}.game-sidebar{border-left:none;border-top:2px solid #eee;max-height:none}}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.error-toast{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);background:var(--color-red);color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:999px;font-weight:700;font-size:14px;z-index:9999;box-shadow:var(--shadow);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@font-face{font-family:Mostra Nuova;src:url(/fonts/mostra-nuova/MostraNuovaAltBRegular.otf) format("opentype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Mostra Nuova;src:url(/fonts/mostra-nuova/MostraNuovaAltDBold.otf) format("opentype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Univers;src:url(/fonts/univers/UniversLight.ttf) format("truetype");font-weight:300;font-style:normal;font-display:block}@font-face{font-family:Univers;src:url(/fonts/univers/UniversRegular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Univers;src:url(/fonts/univers/UniversBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Univers;src:url(/fonts/univers/UniversCnRg.ttf) format("truetype");font-weight:400;font-stretch:condensed;font-style:normal;font-display:block}@font-face{font-family:Univers;src:url(/fonts/univers/UniversCnBold.ttf) format("truetype");font-weight:700;font-stretch:condensed;font-style:normal;font-display:block}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-brown: #613813;--color-light-blue: #1597AC;--color-pink: #EC337C;--color-orange: #F57F29;--color-red: #E91E24;--color-yellow: #FBBA3E;--color-green: #358C47;--color-dark-blue: #1A4070;--color-bg: #FFFFFF;--color-board-bg: #FFFFFF;--color-border: #1A1A1A;--font-display: "Mostra Nuova", "Georgia", serif;--font-body: "Univers", "Helvetica Neue", sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--radius: 4px;--shadow: 0 2px 12px rgba(0,0,0,.15)}html,body,#root{height:100%;width:100%;font-family:var(--font-body);background:var(--color-bg);color:var(--color-border);overflow-x:hidden}button{cursor:pointer;font-family:var(--font-body);border:none;border-radius:var(--radius);padding:var(--space-sm) var(--space-md);font-size:14px;font-weight:400;transition:opacity .15s,transform .1s}button:hover:not(:disabled){opacity:.88}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed}input{font-family:var(--font-body);border:2px solid var(--color-border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);font-size:14px;outline:none;width:100%}input:focus{border-color:var(--color-orange)}.btn-primary{background:var(--color-orange);color:#fff;font-family:var(--font-display);font-size:15px;font-weight:400;letter-spacing:.04em;padding:12px 20px;border-radius:var(--radius)}.btn-secondary{background:transparent;color:var(--color-border);border:2px solid var(--color-border);font-size:15px;padding:11px 20px;border-radius:var(--radius)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}
