:root{--color-bg: #f5ead8;--color-surface: #ebddc5;--color-text: #201e1d;--color-accent: #c67139;--color-accent-2: #7a8a5e;--color-divider: color-mix(in srgb, #201e1d 16%, transparent);--color-neutral-100: #f9f4ed;--color-neutral-200: #eee7db;--color-neutral-300: #dcd3c4;--color-neutral-400: #c0b6a5;--color-neutral-500: #a19786;--color-neutral-600: #82796a;--color-neutral-700: #645c50;--color-neutral-800: #474238;--color-neutral-900: #2e2b25;--color-accent-100: #fff2eb;--color-accent-200: #ffe1d0;--color-accent-300: #ffc6a5;--color-accent-400: #f6a06b;--color-accent-500: #d67f48;--color-accent-600: #b2622d;--color-accent-700: #8c491a;--color-accent-800: #643312;--color-accent-900: #402310;--color-accent-2-100: #f0fae1;--color-accent-2-200: #e1eecc;--color-accent-2-300: #ccdbb2;--color-accent-2-400: #aebf92;--color-accent-2-500: #8fa073;--color-accent-2-600: #728157;--color-accent-2-700: #56633f;--color-accent-2-800: #3d472b;--color-accent-2-900: #272e1b;--font-heading: "Rubik", system-ui, sans-serif;--font-heading-weight: 700;--font-body: "Nunito Sans", system-ui, sans-serif;--radius-md: 16px;--radius-lg: 28px;--shadow-sm: 0 1px 2px color-mix(in srgb, #2e2b25 14%, transparent);--shadow-md: 0 3px 10px color-mix(in srgb, #2e2b25 16%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, #2e2b25 22%, transparent);--side-you: var(--color-accent-2-600);--side-foe: var(--color-accent-600)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.55;background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 8px}button{font-family:var(--font-body);color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input{font-family:var(--font-body)}::-webkit-scrollbar{width:0;height:0}@keyframes wc-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes wc-fade{0%{opacity:0}to{opacity:1}}@keyframes wc-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.screen{min-height:100%;display:flex;flex-direction:column;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));animation:wc-fade .24s ease both;position:relative;overflow-x:hidden}.screen--game{padding:6px 10px;height:100%;overflow:hidden}.blob{position:fixed;border-radius:50%;opacity:.5;pointer-events:none;z-index:-1}.blob--a{top:-120px;right:-90px;width:280px;height:280px;background:var(--color-accent-200)}.blob--b{bottom:-80px;left:-70px;width:210px;height:210px;background:var(--color-accent-2-200)}.row{display:flex;align-items:center;gap:12px}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:10px}.scroll{flex:1;overflow-y:auto;min-height:0}.muted{color:var(--color-neutral-700);font-size:13px}.kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:12px 20px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;background:transparent}.btn--primary{background:var(--color-accent);color:var(--color-bg);box-shadow:var(--shadow-sm)}.btn--primary:active:not(:disabled){background:var(--color-accent-700)}.btn--secondary{border-color:var(--color-divider)}.btn--secondary:active{background:color-mix(in srgb,var(--color-text) 10%,transparent)}.btn--block{width:100%}.icon-btn{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1px solid var(--color-divider);border-radius:50%;background:transparent;padding:0}.input{width:100%;min-height:46px;padding:8px 16px;font:inherit;font-size:15px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:999px;outline:none}.input:focus{border-color:var(--color-accent)}.tag{display:inline-flex;align-items:center;font-size:11px;padding:3px 10px;border-radius:12px;white-space:nowrap}.tag--accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag--green{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag--muted{background:var(--color-neutral-200);color:var(--color-neutral-800)}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:15px 16px;display:flex;flex-direction:column;gap:9px}.card--flat{box-shadow:none}.error{color:var(--color-accent-700);font-size:13px}.menu-btn{display:flex;align-items:center;gap:14px;text-align:left;padding:18px 20px;border:1px solid var(--color-divider);border-radius:30px;background:var(--color-surface);width:100%}.menu-btn--primary{background:var(--color-accent);color:var(--color-bg);border-color:transparent;box-shadow:var(--shadow-md)}.menu-btn__title{display:block;font-family:var(--font-heading);font-size:19px;line-height:1.1}.menu-btn__note{display:block;font-size:12px;opacity:.8;margin-top:2px}.coin{position:relative;border-radius:50%;display:grid;place-items:center;flex:none;border:none;background:transparent;padding:0;box-shadow:var(--shadow-sm)}.coin--selected{box-shadow:0 0 0 3px var(--color-accent-700),var(--shadow-md);transform:translateY(-4px)}.coin__badge{position:absolute;right:-4px;bottom:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-divider);font-size:10px;line-height:16px;color:var(--color-neutral-700);font-family:var(--font-heading)}.game{display:flex;flex-direction:column;height:100%;gap:6px}.game__body{flex:1;display:flex;gap:10px;min-height:0}.game__board{flex:1;display:grid;place-items:center;background:var(--color-neutral-800);border-radius:24px;padding:6px;min-width:0}.rail{width:168px;flex:none;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.hand{width:78px;flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;overflow-y:auto;min-height:74px}.hand__empty{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:1.5px dashed var(--color-neutral-400);color:var(--color-neutral-600);font-size:10px;text-align:center;line-height:1.1;padding:0 4px;flex:none}.hand__note{margin-top:auto;width:100%;padding:8px 4px;font-size:11px;line-height:1.2}.hand__note-cancel{display:block;text-decoration:underline}@media(orientation:portrait){.game__body{flex-direction:column;gap:8px}.game__board{order:0;flex:1 1 auto;min-height:0}.rail{order:1;width:100%;flex:none;flex-direction:row;gap:8px;overflow:visible}.rail>*{flex:1;min-width:0}.hand{order:2;width:100%;flex:none;flex-direction:row;justify-content:center;align-items:center;gap:12px;overflow:visible}.hand>.kicker{display:none}.hand__note{margin-top:0;width:auto;padding:8px 14px}.hand__note-cancel{display:inline;margin-left:6px}}.player-card{border-radius:18px;padding:8px 10px;background:var(--color-surface);border:1px solid transparent;display:flex;flex-direction:column;gap:7px;font-size:12px}.player-card--active{border-color:var(--color-accent-400);background:var(--color-accent-100)}.markers{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-neutral-700);white-space:nowrap}.markers__row{display:flex;gap:2px}.markers__one{width:12px;height:12px;display:block}.markers__one--placed{opacity:.22;filter:grayscale(1)}.hex{cursor:default;transition:fill .14s ease}.hex--legal{cursor:pointer}.hex-decor{pointer-events:none}.turn-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;font-size:12px}.turn-pill--you{background:var(--color-accent-2-200);color:var(--color-accent-2-800)}.turn-pill--foe{background:var(--color-accent-100);color:var(--color-accent-800)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--color-neutral-900) 52%,transparent);animation:wc-fade .16s ease both}.modal{width:min(460px,100%);max-height:82vh;overflow-y:auto;padding:18px 20px;border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-lg);animation:wc-pop .2s ease both}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:22px 20px max(24px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--color-surface);box-shadow:var(--shadow-lg);animation:wc-rise .22s ease both}.sheet__grip{width:42px;height:4px;border-radius:999px;background:var(--color-neutral-400);margin:0 auto 14px}.action-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.action-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:18px;border:1px solid var(--color-divider);background:var(--color-surface);font-size:14px;text-align:left}.action-btn__text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.action-btn:active:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-100)}.action-btn__hint{font-size:10px;color:var(--color-neutral-700)}.log-line{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;padding:3px 0}.log-dot{width:7px;height:7px;flex:none;margin-top:6px;border-radius:50%}.seat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border-radius:26px;border:1px solid transparent;background:var(--color-surface)}.seat--empty{border:1px dashed var(--color-neutral-300);background:transparent;color:var(--color-neutral-600)}.crest-badge{width:56px;height:56px;border-radius:50% 50% 46% 46%;display:grid;place-items:center;font-family:var(--font-heading);font-size:18px;color:var(--color-bg);box-shadow:var(--shadow-sm)}@keyframes thinking-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.thinking-dot{animation:thinking-pulse 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.thinking-dot{animation:none}}
