:root{color-scheme:light;--display-font: "Pirata One", "Cinzel Decorative", "Georgia", "Times New Roman", serif;--captain-table-background: radial-gradient(ellipse at 18% 22%, rgba(255, 255, 255, .42), transparent 28%), radial-gradient(ellipse at 78% 10%, rgba(242, 182, 63, .1), transparent 30%), linear-gradient(90deg, rgba(108, 74, 42, .035) 1px, transparent 1px), repeating-linear-gradient( 96deg, rgba(112, 77, 43, .045) 0 2px, transparent 2px 44px, rgba(255, 255, 255, .12) 44px 46px, transparent 46px 96px ), linear-gradient(135deg, rgba(40, 103, 121, .08), transparent 40%), #f1eadc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f1eadc;color:#19272b;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding:24px;background:var(--captain-table-background);background-size:auto,auto,118px 100%,auto,auto,auto}.splash-shell{min-height:100vh;padding:24px;display:grid;place-items:center;background:var(--captain-table-background);background-size:auto,auto,118px 100%,auto,auto,auto}.setup-card{width:min(640px,100%);border-radius:8px;border:1px solid #d8cdb7;background:#fffaf0;padding:clamp(20px,4vw,34px);display:grid;gap:24px;box-shadow:0 24px 70px #19272b24}.setup-brand{align-items:flex-start}.setup-top-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tutorial-open-button{min-height:42px;border:1px solid #cbbfa9;border-radius:8px;background:#f4ead9;color:#19272b;padding:0 14px;font-weight:800}.player-count-grid{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.player-count-grid legend{grid-column:1 / -1;margin-bottom:10px;color:#48575a;font-weight:800}.count-choice{min-height:64px;border-radius:8px;border:1px solid #d8cdb7;background:#f4ead9;color:#19272b;font-size:1.5rem;font-weight:900}.count-choice.active{color:#fffaf0;background:#1f6d76;border-color:#1f6d76}.name-fields{display:grid;gap:10px}.name-field{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center}.name-field span{color:#526063;font-weight:700}.name-field input{min-height:46px;border:1px solid #cbbfa9;border-radius:8px;background:#fff;color:#19272b;padding:0 12px;font:inherit}.setup-start{width:100%}.tutorial-scrim{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#19272b61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tutorial-card{width:min(520px,100%);border-radius:8px;border:2px solid #c99239;background:linear-gradient(90deg,rgba(255,255,255,.48),transparent 42%),repeating-linear-gradient(98deg,rgba(105,73,42,.045) 0 1px,transparent 1px 18px),#fff3d7;box-shadow:inset 0 0 0 2px #fffaf0a8,0 20px 54px #19272b47;padding:clamp(18px,4vw,26px);display:grid;gap:18px}.tutorial-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.tutorial-header strong{color:#526063;font-size:.86rem}.tutorial-step{min-height:150px;display:grid;gap:10px;align-content:center}.tutorial-step h2{font-family:var(--display-font);font-size:clamp(1.6rem,5vw,2.3rem);line-height:1}.tutorial-step p{color:#48575a;font-size:1rem;line-height:1.55}.tutorial-dots{display:flex;gap:7px;align-items:center}.tutorial-dots span{width:9px;height:9px;border-radius:999px;background:#d0c2a8}.tutorial-dots span.active{width:24px;background:#1f6d76}.tutorial-disable{display:flex;gap:8px;align-items:center;color:#526063;font-size:.9rem;font-weight:700}.tutorial-disable input{width:18px;height:18px;accent-color:#1f6d76}.tutorial-actions{display:grid;grid-template-columns:1fr auto auto;gap:10px}.topbar,.scoreboard,.table-area{width:min(1220px,100%);margin:0 auto}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0 20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:clamp(40px,5vw,58px);height:clamp(40px,5vw,58px);object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 3px 0 rgba(180,87,51,.22))}h1,h2,p{margin:0}.brand h1{font-family:var(--display-font);font-size:clamp(1.8rem,4vw,3.4rem);font-weight:900;line-height:.95;letter-spacing:0}.brand p{margin-top:6px;color:#5a6264}.setup-controls{display:flex;align-items:center;gap:10px}.setup-controls label{font-size:.9rem;color:#48575a}.setup-controls select,.icon-button{min-height:42px;border:1px solid #aeb8b2;background:#fffaf0;border-radius:8px;color:#19272b}.setup-controls select{padding:0 14px}.language-switch{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:3px;border:1px solid #aeb8b2;border-radius:8px;background:#fffaf0e6}.flag-button{display:grid;place-items:center;width:38px;min-height:36px;border:0;border-radius:6px;background:transparent;font-size:1.2rem;line-height:1}.language-switch.compact .flag-button{width:32px;min-height:32px;font-size:1.05rem}.flag-button.active{background:#e4f3f1;box-shadow:inset 0 0 0 1px #1f6d76}.icon-button{width:44px;display:grid;place-items:center}.icon-button.active-audio{border-color:#1f6d76;background:#e4f3f1;color:#1f6d76}.scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.score-tile{position:relative;overflow:hidden;min-height:74px;padding:14px 16px;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.42),transparent 35%),repeating-linear-gradient(98deg,rgba(105,73,42,.05) 0 1px,transparent 1px 18px),#fff3d7;border:2px solid #c99239;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 0 0 2px #fffaf09e,0 4px #b88434,0 10px 18px #19272b1f}.score-tile.active{border-color:#f0b342;box-shadow:inset 0 0 0 2px #fff7becc,0 0 0 3px #f0b34252,0 4px #b88434,0 12px 24px #b457333d}.score-tile span{color:#526063;font-weight:700}.score-tile strong{font-family:var(--display-font);font-size:1.8rem;line-height:1}.turn-log{width:min(1220px,100%);margin:0 auto 16px;border:2px solid #c99239;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.5),transparent 42%),repeating-linear-gradient(98deg,rgba(105,73,42,.045) 0 1px,transparent 1px 18px),#fff3d7;box-shadow:inset 0 0 0 2px #fffaf09e,0 4px #b88434,0 10px 18px #19272b1a;display:grid;grid-template-columns:minmax(260px,.95fr) minmax(320px,2fr);gap:12px;padding:12px}.turn-log-current,.turn-log-history{border-radius:8px;background:#fffaf0b8;border:1px solid rgba(203,191,169,.72)}.turn-log-current{min-height:82px;padding:9px 12px;display:grid;gap:4px;align-content:center;font-size:.88rem}.turn-log-current.result{border-color:#b457335c;background:#fff6e2e6}.turn-log-current.roll{border-color:#1f6d764d}.turn-log-current strong,.turn-log-row strong{color:#19272b;font-size:.86rem}.turn-log-current p,.turn-log-row span{color:#526063;line-height:1.35;font-size:.82rem}.turn-log-history{max-height:96px;overflow-y:auto;display:grid;align-content:start}.turn-log-row{min-height:28px;padding:5px 9px;display:grid;grid-template-columns:minmax(140px,.5fr) 1fr;gap:10px;align-items:baseline;border-bottom:1px solid rgba(203,191,169,.58);font-size:.82rem}.turn-log-row:last-child{border-bottom:0}.turn-log-row.empty{display:block}.table-area{display:grid;grid-template-columns:minmax(220px,280px) 1fr minmax(210px,250px);gap:16px;align-items:stretch}.fortune-panel,.actions-panel{border-radius:8px;border:1px solid #d8cdb7;background:#fffaf0;padding:18px}.fortune-panel{display:flex;flex-direction:column;gap:12px}.card-art{width:100%;aspect-ratio:2 / 3;border-radius:7.5%;background:transparent;box-shadow:none;display:grid;place-items:center;color:#19272b;overflow:hidden;padding:0;perspective:900px}.card-flipper{position:relative;width:100%;height:100%;border-radius:inherit;transform-style:preserve-3d}.card-art.revealing .card-flipper{animation:card-reveal .84s ease both}.card-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;overflow:hidden;backface-visibility:hidden}.card-front{background:url(/assets/cards/card-front.png) center / cover no-repeat;padding:18% 15% 16%}.card-back{background:url(/assets/cards/card-back.png) center / cover no-repeat;transform:rotateY(180deg);padding:0}@keyframes card-reveal{0%,42%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.card-icon{width:100%;height:100%}.card-asset-icon{width:92%;height:92%;object-fit:contain;display:block;opacity:.9;mix-blend-mode:multiply}.asset-card-icon{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:100%}.asset-card-icon .skull-asset{width:min(82%,160px);height:auto;object-fit:contain;opacity:.9;mix-blend-mode:multiply}.card-single-asset{width:min(84%,172px);height:auto;object-fit:contain;opacity:.9;mix-blend-mode:multiply}.card-character-asset{width:min(88%,180px);height:86%;object-fit:contain;object-position:center center;opacity:.92}.monkey-business-asset.card-character-asset{width:min(98%,200px)}.asset-card-icon.icon-count-2 .skull-asset{width:min(42%,96px)}.eyebrow{color:#b45733;font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:0}.fortune-panel h2,.turn-status h2{font-family:var(--display-font);font-weight:900;font-size:1.5rem;line-height:1.1;letter-spacing:0}.fortune-panel p,.turn-status p{color:#526063;line-height:1.45}.debug-card-picker{display:grid;gap:6px;padding-top:12px;border-top:1px solid #e2d8c7}.debug-card-picker span,.debug-toggle span{color:#526063;font-size:.82rem;font-weight:800}.debug-card-picker select{min-height:42px;width:100%;border:1px solid #cbbfa9;border-radius:8px;background:#fff;color:#19272b;padding:0 10px}.deck-status{margin-top:auto;border-top:1px solid #e2d8c7;padding-top:12px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.deck-status span{color:#526063;font-size:.84rem;font-weight:800}.deck-status strong{min-width:34px;border-radius:8px;background:#e7e1d4;color:#19272b;padding:5px 8px;text-align:center}.deck-notice{border-radius:8px;background:#fff1cf;border:1px solid #e1c16f;color:#72511c;padding:10px;font-size:.9rem}.debug-toggle{min-height:42px;border-radius:8px;border:1px dashed #cbbfa9;display:flex;align-items:center;gap:8px;padding:0 12px}.debug-toggle input{width:18px;height:18px;accent-color:#1f6d76}.debug-action{border:1px solid #cbbfa9;background:#f4ead9;color:#8c3f2a}.danger-note,.final-round{color:#b33d2e}.playmat{position:relative;overflow:hidden;min-height:600px;border-radius:8px;border:8px solid #4b2d1f;background:linear-gradient(180deg,#1f7775,#17605f 52%,#104748),#17605f;padding:20px;color:#fffaf0;display:flex;flex-direction:column;justify-content:space-between;gap:18px;box-shadow:inset 0 0 0 2px #dba6525c,inset 0 0 34px #00000052,0 12px #2c1a13,0 20px 34px #19272b3d}.playmat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 34%,rgba(0,0,0,.1));opacity:.75;pointer-events:none;z-index:0}.playmat.skull-island{border-color:#17110f;background:repeating-linear-gradient(92deg,rgba(255,255,255,.016) 0 1px,transparent 1px 22px),linear-gradient(180deg,#0e1011fa,#030405fa),#050607;box-shadow:inset 0 0 0 2px #f3b63f33,inset 0 0 48px #0000007a,0 12px #070504,0 20px 40px #0000004d}.playmat.skull-island .turn-status span{color:#f3b63f}.playmat.skull-island .score-preview{background:#fffaf0e6;border-color:#f3b63f7a}.turn-status{position:relative;z-index:1;display:grid;gap:6px}.turn-status span{color:#f3b63f;font-weight:800;text-transform:uppercase;font-size:.75rem}.turn-status p{color:#fffaf0c7}.dice-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:14px;perspective:900px;overflow:visible}.die{position:relative;overflow:visible;aspect-ratio:1;min-width:0;border:0;border-radius:8px;background:transparent;display:grid;place-items:center;box-shadow:none;transform:rotate(var(--tilt));transform-style:preserve-3d;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.die-canvas{width:132%!important;height:132%!important;pointer-events:none}.die:nth-child(1){--tilt: -3deg;--yaw: 7deg}.die:nth-child(2){--tilt: 2deg;--yaw: -5deg}.die:nth-child(3){--tilt: -1deg;--yaw: 4deg}.die:nth-child(4){--tilt: 3deg;--yaw: -8deg}.die:nth-child(5){--tilt: 2.5deg;--yaw: 5deg}.die:nth-child(6){--tilt: -2deg;--yaw: -4deg}.die:nth-child(7){--tilt: 1deg;--yaw: 8deg}.die:nth-child(8){--tilt: -2.5deg;--yaw: -6deg}.die:not(:disabled){cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M8 12V9a6 6 0 0 1 12 0v3' fill='none' stroke='%2319272b' stroke-width='3' stroke-linecap='round'/%3E%3Crect x='6' y='11' width='16' height='13' rx='3' fill='%23f3b63f' stroke='%2319272b' stroke-width='2'/%3E%3Ccircle cx='14' cy='17' r='2' fill='%2319272b'/%3E%3C/svg%3E") 14 14,pointer}.die:not(:disabled):hover{transform:translateY(-4px) rotate(var(--tilt))}.die svg,.die .skull-asset,.die .coin-asset,.die .diamond-asset,.die .monkey-asset,.die .parrot-asset,.die .saber-asset{width:74%;height:74%}.die .skull-asset,.die .coin-asset,.die .diamond-asset,.die .monkey-asset,.die .parrot-asset,.die .saber-asset{object-fit:contain}.die .monkey-asset,.die .parrot-asset,.die .saber-asset{width:80%;height:80%}.emoji-icon,.emoji-card-icon{display:grid;place-items:center;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;-webkit-user-select:none;user-select:none}.emoji-icon{width:100%;height:100%;font-size:clamp(2.1rem,6vw,4.25rem)}.emoji-card-icon{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.04em;width:100%;height:100%;white-space:nowrap;font-size:clamp(3.4rem,6.4vw,5.8rem);letter-spacing:0}.emoji-card-icon span{display:inline-grid;place-items:center;flex:0 0 auto;min-width:0}.emoji-card-icon.icon-count-3{font-size:clamp(2.7rem,4.8vw,4.25rem)}.emoji-card-icon.icon-count-4{font-size:clamp(2.1rem,3.8vw,3.4rem);gap:0}.die.selected{box-shadow:0 0 0 4px #f3b63f47}.die.selected:after,.die.protected:after{content:"";position:absolute;inset:0;border-radius:8px;pointer-events:none;z-index:1}.die.selected:after{background:#0a12146b}.die.protected:after{background:#19272b1a}.die.locked{background:transparent;box-shadow:none}.die.protected{box-shadow:0 0 0 4px #63d7eb38}.die-badge{position:absolute;left:50%;top:50%;z-index:2;width:24px;height:24px;padding:4px;border-radius:999px;color:#fffaf0;background:#1f6d76b8;box-shadow:0 2px 8px #19272b3d;transform:translate(-50%,-50%)}.die-lock-asset,.die-chest-asset{padding:0;border-radius:0;background:transparent;box-shadow:none;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(25,39,43,.34))}.die-lock-asset{width:44px;height:44px}.die-chest-asset{width:52px;height:52px}.die.selected .die-badge{background:#b45733bd}.die.selected .die-lock-asset,.die.protected .die-chest-asset{background:transparent}.result-banner,.winner-banner,.score-preview{position:relative;z-index:1;min-height:48px;border-radius:8px;padding:12px 14px;display:flex;align-items:center;gap:8px}.result-banner{background:#fffaf024;border:1px solid rgba(255,250,240,.26)}.score-preview{min-height:94px;display:grid;gap:2px;background:#fffaf0eb;color:#19272b;border:1px solid rgba(255,250,240,.58)}.score-preview.empty{opacity:.72}.score-preview span{color:#526063;font-size:.78rem;font-weight:800;text-transform:uppercase}.score-preview strong{color:#1f6d76;font-size:2rem;line-height:1}.score-preview p{color:#526063}.score-preview p:empty{display:none}.coin-burst{position:absolute;left:50%;top:58%;z-index:4;pointer-events:none}.coin-burst span{position:absolute;left:0;top:0;display:block;filter:drop-shadow(0 3px 2px rgba(25,39,43,.28));animation:coin-pop .82s ease-out both;animation-delay:var(--delay)}.coin-burst img{display:block;width:28px;height:28px;object-fit:contain}@keyframes coin-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(0)}18%{opacity:1}78%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y) + 34px)) scale(1.08) rotate(220deg)}}.result-banner.bust{background:#b33d2e38}.winner-banner{background:#f3b63f;color:#19272b}.actions-panel{display:flex;flex-direction:column;gap:10px}.primary-action,.secondary-action{min-height:48px;border-radius:8px;border:0;padding:0 14px;font-weight:800}.primary-action{background:#b45733;color:#fffaf0}.secondary-action{background:#e7e1d4;color:#19272b}.hint-box{margin-top:auto;min-height:88px;border-radius:8px;border:1px dashed #aeb8b2;display:grid;place-items:center;text-align:center;padding:14px;color:#526063}.hint-box strong{display:block;font-size:2rem;color:#1f6d76}.hint-box small{display:block;color:#717a7d}.score-reference{width:min(1220px,100%);margin:18px auto 0;border:2px solid #b88434;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.34),transparent 30%),repeating-linear-gradient(96deg,rgba(105,73,42,.04) 0 1px,transparent 1px 22px),#fff3d7;padding:13px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;box-shadow:inset 0 0 0 2px #fffaf0a8,0 5px #9e6c2e,0 12px 22px #19272b1f}.reference-group{min-width:min(100%,260px);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.reference-title{color:#b45733;font-size:.76rem;font-weight:900;text-transform:uppercase;margin-right:2px}.reference-chip{min-height:30px;border-radius:8px;background:#fffaf0b8;border:1px solid rgba(184,132,52,.22);color:#19272b;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:.9rem;font-weight:800;white-space:nowrap;box-shadow:inset 0 -1px #b8843429}.reference-face{width:22px;height:22px;object-fit:contain}@media(max-width:980px){.turn-log,.table-area{grid-template-columns:1fr}.fortune-panel{display:grid;grid-template-columns:170px 1fr;align-items:center}.card-art{grid-row:span 4}.actions-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hint-box{margin-top:0}}@media(max-width:620px){.app-shell{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.turn-log-row{grid-template-columns:1fr;gap:2px}.fortune-panel{display:flex}.playmat{min-height:520px;padding:16px}.dice-grid{grid-template-columns:repeat(2,minmax(100px,1fr));gap:10px}.actions-panel{grid-template-columns:1fr}.score-reference{align-items:stretch}.reference-group{width:100%}.player-count-grid{grid-template-columns:repeat(2,1fr)}.name-field,.tutorial-actions{grid-template-columns:1fr}}
