:root{color:#162019;font-synthesis:none;text-rendering:optimizelegibility;--felt:#17633f;--felt-dark:#0f4a2e;--cream:#fffdf5;--gold:#d7ad46;--ink:#15241a;--card-width:clamp(58px, 7.4vw, 92px);--field-card-width:calc(var(--card-width) * 1.08);--history-card-width:clamp(34px, 3.8vw, 46px);background:#e8efe9;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#ffffffd9,#0000 34rem),#e8efe9;min-width:0;min-height:100vh;margin:0}button,select,input{font:inherit}button,select{min-height:42px;color:var(--ink);background:#fff;border:1px solid #aab9ae;border-radius:3px}button{cursor:pointer;padding:.55rem .9rem;font-weight:700}button:hover:not(:disabled){background:#f4faf5;border-color:#4a725b}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #ffcc58}button:disabled{cursor:not-allowed;opacity:.52}.primary-button{color:#fff;background:#12633b;border-color:#0c4a2c}.primary-button:hover:not(:disabled){background:#0c4d2d;border-color:#072e1b}.secondary-button{background:#f8fbf8}.danger-button{color:#fff;background:#a93b2e;border-color:#9b3a2e}.eyebrow{color:#41634d;letter-spacing:.12em;margin:0 0 .25rem;font-size:.74rem;font-weight:800}.title-screen{place-items:center;min-height:100vh;padding:clamp(1rem,5vw,4rem);display:grid}.title-card{background:#fffffff0;border:1px solid #bdccc1;border-radius:3px;width:min(680px,100%);padding:clamp(1.4rem,5vw,3.5rem);box-shadow:0 24px 70px #1a3d2729}.title-card h1,.game-toolbar h1{margin:0;font-family:Georgia,Yu Mincho,serif}.title-card h1{font-size:2rem;line-height:1}.game-heading{flex-direction:column;align-items:flex-start;gap:.2rem;margin-left:-4px;display:flex}.breadcrumb{color:#000;align-items:center;gap:.4rem;margin-left:4px;font-size:clamp(.72rem,2.2vw,.86rem);line-height:1.4;display:flex}.breadcrumb a,.breadcrumb span{color:#000}.lead{color:#3f5145;margin:1rem 0 2rem;font-size:clamp(1rem,2vw,1.15rem)}.settings-grid{gap:.8rem;display:grid}.setting-field,.toggle-field{background:#f8fbf8;border:1px solid #d3ded6;border-radius:3px;align-items:center;min-height:54px;padding:.65rem .8rem;display:flex}.setting-field{justify-content:space-between;gap:1rem}.setting-field span,.toggle-field span{font-weight:700}.setting-field select{min-width:9rem;padding:.4rem .6rem}.toggle-field{cursor:pointer;gap:.75rem}.toggle-field input{width:1.25rem;height:1.25rem}.setting-note{color:#56685b;margin:.8rem 0 0;font-size:.85rem}.title-rule-settings,.menu-rule-settings{display:grid}.title-rule-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.rule-setting-row{background:#f8fbf8;border:1px solid #d3ded6;border-radius:3px;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;min-height:42px;padding:.35rem .45rem .35rem .65rem;display:flex;position:relative}.rule-setting-copy{align-items:center;gap:.35rem;min-width:0;display:flex}.rule-setting-name{text-align:left;min-width:0;font-size:.82rem;font-weight:700}.rule-help-wrap{flex:none;display:inline-flex}.rule-help{background:0 0;border:0;border-radius:50%;place-items:center;width:15px;min-width:15px;height:15px;min-height:15px;padding:0;display:grid}.rule-help>img{object-fit:contain;width:100%;height:100%;display:block}.rule-help:hover:not(:disabled){background:0 0;border-color:#0000}.rule-help:hover:not(:disabled)>img{opacity:.72}.rule-help:focus-visible{outline-offset:2px;outline:2px solid #656c68}.rule-tooltip{visibility:hidden;z-index:50;color:#1c2720;opacity:0;pointer-events:none;text-align:left;background:#fff;border:1px solid #b8c1bb;border-radius:3px;padding:.65rem .7rem;font-size:.76rem;font-weight:500;line-height:1.55;transition:opacity .12s;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 20px #0003}.rule-setting-row:nth-last-child(-n+3) .rule-tooltip{top:auto;bottom:calc(100% + 6px)}.rule-help-wrap:hover .rule-tooltip,.rule-help:focus-visible+.rule-tooltip{visibility:visible;opacity:1}.rule-toggle{border-radius:999px;flex:none;width:50px;min-width:50px;height:28px;min-height:28px;padding:2px;transition:border-color .14s,background-color .14s;display:block;position:relative}.toggle-knob{background:#fff;border:1px solid #0000001a;border-radius:50%;width:22px;height:22px;transition:transform .14s;display:block;transform:translate(0);box-shadow:0 1px 3px #00000040}.rule-toggle.is-on{background:#176d44;border-color:#155f3a}.rule-toggle.is-off{background:#dbe2dd;border-color:#bdc7c0}.rule-toggle.is-on .toggle-knob{transform:translate(20px)}.rule-toggle.is-on:hover:not(:disabled){background:#105b36;border-color:#0d4f2e}.rule-toggle.is-off:hover:not(:disabled){background:#ced8d1;border-color:#aab7ae}.title-actions,.toolbar-actions,.play-actions,.dialog-actions{flex-wrap:wrap;gap:.65rem;display:flex}.title-actions{margin-top:1.5rem}.title-actions .primary-button{flex:12rem}.status-line{color:#31533e;min-height:1.5em;margin:1rem 0 0}.game-screen{background:var(--felt);min-height:100vh}.game-toolbar{z-index:3;background:#fff;justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:.75rem clamp(.75rem,2vw,1.5rem);display:flex;position:relative}.game-toolbar h1{font-size:2rem}.toolbar-actions{justify-content:flex-end}.toolbar-actions button{min-height:38px;padding:.4rem .7rem}.table{background:radial-gradient(circle at center, #ffffff0f, transparent 45%), linear-gradient(135deg, var(--felt), var(--felt-dark));grid-template-columns:clamp(170px,16vw,220px) minmax(0,1040px) clamp(170px,16vw,220px);grid-template-areas:"history board menu";justify-content:start;gap:clamp(.5rem,1.3vw,1rem);min-height:calc(100vh - 72px);padding:clamp(.65rem,2vw,1.4rem);display:grid}.game-menu,.play-history,.game-board,.human-area{color:#fff;background:#04291733;border:1px solid #ffffff3d;border-radius:3px}.game-menu{min-width:0;color:var(--ink);background:#fff;border-color:#c7d1ca;grid-area:menu;align-self:stretch;padding:.7rem;overflow:hidden auto}.game-menu h2,.menu-section-title{margin:0;font-size:1rem;font-weight:700}.game-menu h2{border-bottom:1px solid #d4dad6;padding:0 0 .65rem}.menu-item{border-bottom:0;padding:.25rem 0}.menu-item>button{text-align:left;width:100%}.menu-start-item>button,.menu-redeal-item>button{text-align:center}.menu-start-item{padding-top:.25rem}.menu-difficulty-item{gap:.35rem;display:grid}.menu-difficulty-item select{width:100%;min-height:36px;padding:.25rem .4rem}.menu-rules-section{padding-top:.25rem}.menu-rules-button{text-align:center;width:100%;margin-bottom:.6rem}.menu-rules-section>.menu-section-title{border-bottom:1px solid #d4dad6;padding-bottom:.45rem}.menu-rule-settings{grid-template-columns:minmax(0,1fr);width:calc(100% - .55rem)}.game-menu .rule-setting-row{background:0 0;border:0;border-bottom:1px solid #d4dad6;border-radius:3px;min-height:48px;padding:.5rem 0}.game-board{grid-template:".cpu2.""cpu1 field cpu3"minmax(280px,1fr)"human human human"/minmax(125px,.72fr) minmax(260px,1.7fr) minmax(125px,.72fr);grid-area:board;justify-self:stretch;gap:clamp(.35rem,1vw,.8rem);width:100%;min-width:0;min-height:calc(100vh - 116px);padding:clamp(.55rem,1.4vw,1rem);display:grid}.cpu-seat{color:#fff;border:2px solid #0000;border-radius:3px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon cards""info info";align-items:center;gap:.3rem .5rem;width:fit-content;max-width:100%;padding:.4rem;transition:border-color .16s,box-shadow .16s;display:grid}.cpu-seat-1{grid-area:cpu1;place-self:start;transform:translateY(-20px)}.cpu-seat-2{grid-area:cpu2;justify-self:center}.cpu-seat-3{grid-area:cpu3;place-self:start end;transform:translateY(-20px)}.cpu-seat.is-current,.human-area.is-current{border-color:#ffdc76;box-shadow:0 0 0 3px #ffdc764d}.human-heading{justify-content:space-between;align-items:center;gap:.55rem;display:flex}.human-topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.7rem;display:grid}.human-topbar .human-heading{grid-column:1}.human-topbar .play-actions{grid-column:2}.cpu-info{grid-area:info;gap:.35rem;min-width:0;font-size:1rem;display:grid}.cpu-name-row,.cpu-chips{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.cpu-name-row>span{color:#dce9df;font-size:.92rem}.cpu-name-row strong{font-size:1.08rem}.cpu-card-source{grid-area:cards;align-items:center;min-width:54px;padding-right:34px;display:flex}.cpu-card-back{aspect-ratio:89/126;background-color:#214d81;background-image:linear-gradient(45deg,#0000 45%,#ffffff38 46% 54%,#0000 55%),linear-gradient(-45deg,#0000 45%,#ffffff26 46% 54%,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:9px 9px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #f4e7bd;border-radius:4px;width:54px;margin-right:-34px;display:block;box-shadow:inset 0 0 0 2px #2a5b92,0 2px 5px #00000040}.history-icon{color:#fff;background:linear-gradient(145deg,#2f7eaa,#173d67);border:2px solid #ffffffc7;border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid;box-shadow:0 4px 11px #00000040}.cpu-icon{object-fit:contain;filter:drop-shadow(0 4px 5px #00000040);grid-area:icon;width:80px;height:77px;display:block}.pass-chip,.rank-chip,.state-badge{border-radius:3px;align-items:center;min-height:26px;padding:.2rem .5rem;font-size:.78rem;font-weight:800;display:inline-flex}.pass-chip{color:#301912;background:#ffd5c9}.rank-chip{color:#33250b;background:#f4d983}.field-area{text-align:center;grid-area:field;grid-template-rows:auto 1fr;min-width:0;min-height:270px;padding:.35rem;display:grid}.field-status{z-index:2;text-align:center;align-content:start;justify-items:center;gap:.35rem;min-height:76px;margin-bottom:.35rem;padding-top:18px;display:grid;position:relative}.binding-status{font-size:1.15rem}.field-status .state-badge{min-height:30px;font-size:1.02rem}.state-badge{color:#17311f;background:#e5efdf}.field-pile{min-height:calc(var(--field-card-width) * 1.42);position:relative;overflow:visible}.field-play{z-index:var(--pile-layer);padding-right:calc(var(--field-card-width) * .48);transform:translate(calc(-50% + var(--pile-x)), calc(-50% + var(--pile-y)));align-items:center;display:flex;position:absolute;top:44%;left:50%}.field-play-player-0{--pile-x:var(--pile-overlap);--pile-y:calc(16px + var(--pile-overlap))}.field-play-player-1{--pile-x:calc(-36px + var(--pile-overlap));--pile-y:var(--pile-overlap)}.field-play-player-2{--pile-x:var(--pile-overlap);--pile-y:calc(-16px + var(--pile-overlap))}.field-play-player-3{--pile-x:calc(36px + var(--pile-overlap));--pile-y:var(--pile-overlap)}.field-play.is-old{filter:grayscale(.88)brightness(.78);opacity:.72}.field-play.is-latest{filter:none;opacity:1}.play-history{grid-area:history;grid-template-rows:auto 1fr;min-width:0;min-height:0;max-height:calc(100vh - 116px);padding:.7rem;display:grid;overflow:hidden}.play-history h2{text-align:left;margin:0 0 .55rem;font-size:.95rem}.empty-history{color:#dce9df;margin:0;font-size:.78rem}.history-list{scrollbar-gutter:stable;min-height:0;margin:0;padding:0;list-style:none;overflow:hidden auto}.history-entry{z-index:var(--history-layer);border-top:1px solid #ffffff2e;min-height:0;padding:.4rem 0;position:relative}.history-player{align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.76rem;display:flex}.history-icon{width:30px;height:29px;font-size:.7rem}.history-icon.is-human{background:linear-gradient(145deg,#387347,#1d4d2b);height:30px}.history-cpu-icon{box-shadow:none;object-fit:contain;filter:drop-shadow(0 2px 3px #00000040);background:0 0;border:0}.history-cards{grid-template-columns:repeat(var(--history-card-count), minmax(0, 1fr));width:min(100%, calc(var(--history-card-width) * var(--history-width-factor)));min-height:calc(var(--history-card-width) * 1.42);align-items:center;display:grid}.history-card{grid-row:1;justify-self:center;margin:0;box-shadow:0 2px 6px #0000003d}.history-card:first-child{justify-self:start}.history-card:last-child{justify-self:end}.playing-card{width:var(--card-width);aspect-ratio:89/126;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#fff;border-radius:5.5%;max-width:none;display:block;box-shadow:0 5px 13px #00000045}.playing-card.history-card{width:var(--history-card-width)}.playing-card.field-card{width:var(--field-card-width);margin-right:calc(var(--field-card-width) * -.48);transition:opacity 80ms linear}.card-back-face{background-color:#214d81;background-image:linear-gradient(45deg,#0000 45%,#ffffff38 46% 54%,#0000 55%),linear-gradient(-45deg,#0000 45%,#ffffff26 46% 54%,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:9px 9px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #f4e7bd;box-shadow:inset 0 0 0 2px #2a5b92,0 5px 13px #00000045}.field-card.is-arriving{opacity:0}.empty-field{width:var(--field-card-width);aspect-ratio:89/126;border:2px dashed #ffffff8c;border-radius:5.5%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.human-area{grid-area:human;padding:.5rem .75rem .75rem}.human-heading>div{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.human-heading>span{color:#dce9df;font-size:.85rem}.human-hand{grid-template-columns:repeat(var(--hand-card-count), minmax(0, 1fr));width:min(100%, calc(var(--card-width) * var(--hand-card-count)));min-height:calc(var(--card-width) * 1.55);justify-content:start;align-items:flex-end;margin-top:.2rem;padding:18px 0 8px;display:grid;overflow:visible}.hand-card{width:var(--card-width);background:0 0;border:0;border-radius:5.5%;grid-row:1;justify-self:center;min-height:0;margin:0;padding:0;transition:transform .13s}.hand-card:first-child{justify-self:start}.hand-card:last-child{justify-self:end}.hand-card:hover:not(:disabled):not(.is-selected){background:0 0;border:0;transform:translateY(-7px)}.hand-card.is-selected{transform:translateY(-15px)}.hand-card.is-selected .playing-card{box-shadow:0 0 0 4px #ffcf54,0 8px 18px #00000059}.hand-card:disabled{opacity:1}.waiting-hand-card{width:var(--card-width);grid-row:1;justify-self:center;display:block}.waiting-hand-card:first-child{justify-self:start}.waiting-hand-card:last-child{justify-self:end}.waiting-action-button:disabled{color:#646b67;opacity:1;background:#d6dad7;border-color:#aeb5b0}.play-actions{justify-content:center;margin:0}.play-actions button{min-width:8rem}.action-feedback{color:#45180f;background:#ffe0d7;border-radius:3px;width:fit-content;max-width:100%;margin:.4rem auto 0;padding:.35rem .65rem;font-size:.84rem;font-weight:700}.flying-card{z-index:100;object-fit:contain;pointer-events:none;will-change:top, left, width, height, opacity;border-radius:5.5%;margin:0;position:fixed;box-shadow:0 8px 20px #00000061}.dialog-backdrop{z-index:1000;background:#031009b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog-card{background:#fff;border:1px solid #d6dfd8;border-radius:3px;width:min(560px,100%);max-height:calc(100vh - 2rem);padding:clamp(1.2rem,4vw,2rem);overflow-y:auto;box-shadow:0 24px 80px #00000059}.dialog-card h2{margin-top:0}.dialog-actions{justify-content:flex-end;margin-top:1.25rem}.choice-list{gap:.65rem;margin:1rem 0;display:grid}.choice-list button{text-align:left}.difficulty-choice-list button[aria-pressed=true]{background:#fff1bd;border-color:#d49a16;box-shadow:0 0 0 2px #d49a1633}.rules-copy{line-height:1.65}.rules-copy h3{margin-bottom:.2rem}.rules-copy p{margin-top:.2rem}.ranking-list{gap:.55rem;padding:0;list-style:none;display:grid}.ranking-list li{background:#f1f6f2;border-radius:3px;justify-content:space-between;align-items:center;padding:.7rem .85rem;display:flex}.miyako-result{color:#64261e;text-align:center;background:#ffe1d8;border-radius:3px;padding:.7rem;font-weight:800}@media (width<=900px){:root{--card-width:clamp(58px, 12vw, 76px)}.table{grid-template:"menu""history"220px"board"/minmax(0,1fr);min-height:0}.menu-rule-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.play-history{max-height:220px}.game-board{grid-template-rows:auto minmax(250px,1fr) auto;grid-template-columns:minmax(90px,.72fr) minmax(170px,1.65fr) minmax(90px,.72fr);min-height:0}.cpu-seat{gap:.25rem .4rem;padding:.4rem}.cpu-icon{width:64px;height:61px}.cpu-card-source{min-width:46px;padding-right:29px}.cpu-card-back{width:46px;margin-right:-29px}.field-area{min-height:250px}.human-heading{flex-direction:column;align-items:flex-start}}@media (width<=420px){.title-screen{place-items:stretch stretch;padding:0}.title-card{border:0;border-radius:3px;min-height:100vh;padding:1.1rem}.setting-field{flex-direction:column;align-items:stretch}.setting-field select{width:100%}.game-toolbar{padding:.55rem}.table{grid-template:"menu""history"190px"board"/minmax(0,1fr);gap:.4rem;padding:.4rem}.game-menu{padding:.5rem}.game-menu h2{padding-bottom:.5rem}.title-rule-settings,.menu-rule-settings{grid-template-columns:minmax(0,1fr)}.game-board{grid-template-rows:auto minmax(215px,1fr) auto;grid-template-columns:minmax(68px,.65fr) minmax(136px,1.5fr) minmax(68px,.65fr);gap:.2rem;padding:.35rem}.cpu-seat{grid-template-columns:minmax(0,1fr);grid-template-areas:"icon""cards""info";justify-items:center;width:100%;padding:.3rem}.cpu-info{font-size:.78rem}.cpu-name-row{text-align:center;justify-items:center;gap:.05rem;display:grid}.cpu-icon{width:50px;height:48px}.cpu-card-source{min-width:40px;padding-right:34px}.cpu-card-back{border-width:1px;width:40px;margin-right:-34px}.cpu-seat-1,.cpu-seat-3{transform:translateY(-8px)}.cpu-chips{justify-content:center}.play-history{height:190px;padding:.45rem}.history-entry{padding:.35rem 0}.human-area{padding:.4rem .5rem .5rem}.human-topbar{grid-template-columns:auto minmax(0,1fr);gap:.45rem}.human-topbar .play-actions{grid-column:2;gap:.35rem}.human-topbar .play-actions button{flex:1 1 0;min-width:0;padding-left:.45rem;padding-right:.45rem}.field-area{min-height:215px;padding:.2rem}.field-status{min-height:70px;padding-top:12px}.binding-status{font-size:1rem}.field-status .state-badge{font-size:.9rem}.field-play-player-1{--pile-x:calc(-18px + var(--pile-overlap))}.field-play-player-3{--pile-x:calc(18px + var(--pile-overlap))}.vertical-mobile{flex-direction:column-reverse;align-items:stretch}.vertical-mobile button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
