:root{--paper:#f5f0e7;--paper-deep:#eae1d4;--ink:#38352e;--muted:#8b8477;--plum:#803f51;--plum-dark:#643042;--gold:#b59a64;--line:#dcd3c5;--serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:350px;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 8% 0%,#f9f5ec 0,transparent 45%),radial-gradient(ellipse at 100% 70%,#e9e4d555 0,transparent 50%),var(--paper)}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #a97a3d;outline-offset:4px}a{color:inherit}button:disabled{opacity:.48}.icon{display:inline-block;flex-shrink:0;width:22px;height:22px;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header,main,.page-signoff{max-width:1280px;margin-inline:auto;padding-inline:48px}.site-header{height:108px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{width:43px;height:43px;border:1px solid #a36d7855;border-radius:50%;display:grid;place-items:center;color:var(--plum)}.brand-mark .icon{width:28px;height:28px;stroke-width:1.1}.brand-title{display:block;font:25px var(--serif);letter-spacing:1px}.brand-subtitle{display:block;font-size:12px;letter-spacing:1.7px;color:var(--muted);margin-top:5px}.header-tools{display:flex;align-items:center;gap:26px}.nav-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#6f685d;font-size:15px;min-height:40px}.nav-button:hover,.icon-button:hover{color:var(--plum)}.nav-button .icon{width:18px;height:18px}.icon-button{width:40px;border-radius:50%}.sound-button{border:1px solid var(--line)}.sound-button .icon{width:17px;height:17px}.intro{display:flex;justify-content:space-between;align-items:center;padding-block:33px 27px}.eyebrow,.dialog-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2px;color:#9b8056;font-weight:600}.tiny-line{display:inline-block;width:34px;height:1px;background:#b39a70;vertical-align:middle;margin-left:9px;opacity:.6}h1{font:35px/1.2 var(--serif);letter-spacing:-.8px;font-weight:400;margin:10px 0 8px}h1 em{font-weight:400;color:#7e514f}.intro p{font-size:15px;color:var(--muted);margin:0}.round-indicator{display:flex;align-items:center;gap:16px;border-left:1px solid var(--line);padding-left:28px;min-width:220px}.round-blossom{color:var(--gold)}.round-blossom .icon{width:38px;height:38px;stroke-width:.7;transform:rotate(-15deg)}.round-indicator .eyebrow{font-size:12px;letter-spacing:1.5px}.round-indicator strong{display:block;font:24px var(--serif);margin-top:6px}.round-turns{display:block;font-size:13px;color:var(--muted);margin-top:4px}.game-table{position:relative}.player-bar{display:flex;align-items:center;gap:20px;min-height:75px}.player-identity{display:flex;align-items:center;gap:11px;flex:1}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.bot-avatar{font:19px var(--serif);background:#e7e0d5;color:#6d6859;border:1px solid #d8cebd}.your-avatar{background:#ecdee0;color:var(--plum);border:1px solid #d9bfc5}.your-avatar .icon{width:19px;height:19px}.player-identity strong{display:block;font-size:15px;font-weight:600}.player-identity>div>span{font-size:13px;display:block;color:var(--muted);margin-top:5px}.presence-dot{display:inline-block;width:5px;height:5px;border-radius:100%;background:#9d9f7e;margin-left:5px;vertical-align:middle}.presence-dot.thinking{animation:breathe 2s infinite}.opponent-details{display:flex;align-items:center;gap:20px}.action-dots{display:flex;gap:6px}.mini-action{width:28px;height:28px;border:1px solid #d7ccba;border-radius:6px;display:grid;place-items:center;color:#9a886c}.mini-action .icon{width:15px;height:15px}.mini-action.used{opacity:.3;background:#ded6ca}.hand-count{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);padding-right:24px;border-right:1px solid var(--line)}.hand-count .icon{width:15px;height:15px}.score-block{display:flex;gap:14px;align-items:center;min-width:160px}.score-stat{display:flex;flex-direction:column;width:60px}.score-stat strong{font:17px var(--serif);font-weight:400}.score-stat strong span{color:#a29b8d;font:14px var(--sans)}.score-stat>span:not(.progress-track){font-size:12px;text-transform:uppercase;letter-spacing:1.1px;margin-top:3px;color:var(--muted)}.score-or{font:italic 14px var(--serif);color:#a69a87;margin-top:-9px}.progress-track{display:block;width:58px;height:2px;background:#e4dbcf;margin-top:6px}.progress-track>span{display:block;height:100%;background:#a69d79;transition:width .7s}.your-bar .progress-track>span{background:var(--plum)}.geisha-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:15px}.geisha-column{min-width:0}.portrait-card{display:block;position:relative;overflow:hidden;width:100%;height:218px;border-radius:72px 72px 9px 9px;isolation:isolate;background:var(--tone);box-shadow:0 3px 5px #58442b0c,0 12px 21px -12px #49332555;border:1px solid #fff8;transition:transform .3s,box-shadow .3s;padding:0}.portrait-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px -9px #49332577}.portrait-art,.item-art,.artist-detail-art{position:absolute;inset:0;background-image:url('../public/art/seven-artists-v2.webp');background-size:700% auto;background-position:var(--portrait) 18%;background-repeat:no-repeat}.portrait-art{transition:transform .8s}.portrait-card:hover .portrait-art{transform:scale(1.035)}.portrait-shade{position:absolute;inset:0;background:linear-gradient(0deg,#1f2524c9 0,transparent 43%,#1f252413 100%)}.charm-badge{position:absolute;left:50%;transform:translateX(-50%);top:12px;display:grid;place-items:center;width:25px;height:25px;background:#f7eedacc;border:1px solid #fff7;border-radius:50%;font:17px var(--serif);color:#463c29;box-shadow:0 2px 8px #0001}.portrait-caption{position:absolute;left:0;right:0;bottom:16px;color:#fff5de;text-align:center}.portrait-name{display:block;font:22px var(--serif);text-shadow:0 1px 5px #0004}.portrait-item{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:5px;color:#f5edddc9}.portrait-item .icon{width:12px;height:12px}.held-favor{position:absolute;bottom:5px;right:6px;line-height:1}.held-favor .icon{width:13px;height:13px;fill:currentColor;stroke-width:.7}.held-favor.yours{color:#ecbcc5}.held-favor.theirs{color:#e5d9b7}.offering-count{height:26px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--tone);font-size:13px}.count-pips{display:flex;gap:2px}.count-pips i{display:block;width:6px;height:9px;border:1px solid currentColor;border-radius:1px;background:color-mix(in srgb,var(--tone) 12%,transparent)}.empty-dash{color:#c8bead;font-size:14px}.favor-line{height:29px;display:flex;align-items:center;justify-content:center;gap:8px;color:#b6a98f}.favor-line>span{height:1px;background:#ded2be;width:24px}.favor-line i{font-style:normal;border:1px solid #d7cbb8;border-radius:100%;width:21px;height:21px;display:grid;place-items:center;transition:background .4s,color .4s,transform .4s}.favor-line .icon{width:12px;height:12px;stroke-width:1.2}.favor-line.leading-you{color:var(--plum)}.favor-line.leading-you i{background:#e9d8dc;border-color:#c39ba6;transform:translateY(3px)}.favor-line.leading-bot{color:#7c7b55}.favor-line.leading-bot i{background:#e5e3d2;border-color:#b4b18c;transform:translateY(-3px)}.your-bar{min-height:69px;padding-top:1px}.board-legend{display:flex;align-items:center;gap:6px;color:#a39781;font-size:12px;margin-right:28px}.legend-flower .icon{width:12px;height:12px}.play-dock{margin-top:9px;border:1px solid #ddd3c4;border-radius:12px;background:#fffdf7a6;box-shadow:0 8px 24px -16px #705b3e33;overflow:hidden}.turn-context{display:flex;gap:14px;align-items:center;padding:20px 24px;border-bottom:1px solid #e5dccf;min-height:99px;background:linear-gradient(100deg,#fffdf788,#f4eee355)}.turn-symbol{width:35px;height:35px;flex-shrink:0;border:1px solid #d4c3a5;border-radius:50%;display:grid;place-items:center;color:#a58c5d}.turn-symbol .icon{width:18px;height:18px;stroke-width:1}.turn-symbol.is-thinking{animation:breathe 2s infinite}.turn-context .eyebrow{font-size:12px;letter-spacing:1.5px}.turn-context h2{font:22px/1.2 var(--serif);font-weight:400;letter-spacing:-.3px;margin:6px 0 4px}.turn-context p{font-size:14px;color:var(--muted);line-height:1.5;margin:0}.cancel-selection{margin-left:auto;align-self:center}.dock-content{display:grid;grid-template-columns:1.35fr 1fr;gap:27px;padding:20px 24px 15px}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#82745e;margin-bottom:15px;min-height:17px}.section-label>span:last-child:not(:first-child){text-transform:none;letter-spacing:0;color:#aaa08f;font-size:12px}.label-count{display:inline-grid;place-items:center;width:17px;height:17px;background:#eee7db;border-radius:50%;font-size:12px;letter-spacing:0;margin-left:4px}.subtle-button{background:transparent;font-size:12px;color:#aaa08f;padding:0;letter-spacing:0;text-transform:none}.subtle-button:hover{color:var(--plum)}.hand-cards{display:flex;gap:8px;min-height:125px;align-items:flex-start;padding-top:4px;position:relative}.item-card{position:relative;isolation:isolate;display:block;flex:1;max-width:88px;min-width:0;aspect-ratio:.69;background:#f5ebd9;border:1px solid #d4c5b3;border-radius:6px;overflow:visible;box-shadow:0 2px 5px #59472d19;text-align:center;padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;opacity:1!important}.item-art{border-radius:5px;opacity:.25}.item-wash{position:absolute;inset:0;border-radius:5px;background:linear-gradient(#fcf7ed22,#fcf7edaa 45%,#f7f0e6 85%)}.item-value{position:absolute;top:7px;left:8px;font:18px var(--serif);color:var(--tone)}.item-emblem{position:absolute;inset:29% 0 auto;color:var(--tone);text-align:center}.item-emblem .icon{width:31px;height:31px;stroke-width:1.1}.item-caption{position:absolute;bottom:10px;left:0;right:0}.item-caption strong{font:17px var(--serif);font-weight:400;display:block}.item-caption>span{font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#918474;display:block;margin-top:4px}.item-card:not(:disabled):is(button):hover{transform:translateY(-6px);border-color:var(--tone);box-shadow:0 6px 14px #59472d22;z-index:1}.item-card.selected{transform:translateY(-8px);border:2px solid var(--plum);box-shadow:0 5px 12px #803f5126}.item-card.selected:not(:disabled):hover{transform:translateY(-8px)}.selected-check{position:absolute;top:-7px;right:-7px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--plum);color:white;border:2px solid #fffaf0;z-index:2}.selected-check .icon{width:12px;height:12px;stroke-width:2}.new-card-label{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);background:#9c865f;border:1px solid #fff7e4;color:white;padding:2px 5px;border-radius:2px;text-transform:uppercase;font-size:12px;letter-spacing:.7px}.hand-note{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:12px;color:#a79c8b;margin-top:17px;min-height:18px}.hand-note>.icon{width:11px;height:11px;margin-right:1px}.hand-note>span:last-child{margin-left:auto;white-space:nowrap}.secret-note{font-size:12px;color:#8a6872;display:flex;align-items:center;gap:5px;background:transparent;padding:0}.secret-note .icon{width:12px;height:12px}.actions-section{border-left:1px solid #e8dfd2;padding-left:26px;min-width:0}.actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.action-tile{display:flex;align-items:center;gap:10px;min-height:61px;padding:11px;border:1px solid #ded2c0;background:#fbf8f0;border-radius:7px;text-align:left;transition:background .2s,border .2s}.action-tile:hover:not(:disabled){background:#f0e7dd;border-color:#c3ad8b}.action-tile.active{background:#f0e1e5;border-color:#b8798c;box-shadow:inset 0 0 0 1px #b8798c33}.action-icon{color:#9a8765}.action-icon .icon{width:21px;height:21px}.action-tile.active .action-icon{color:var(--plum)}.action-copy{flex:1;min-width:0}.action-copy strong{display:block;font:17px var(--serif);font-weight:400;white-space:nowrap}.action-copy>span{display:block;font-size:12px;color:#a19683;margin-top:4px;white-space:nowrap}.action-number{align-self:flex-start;font:14px var(--serif);color:#b5a78f;line-height:1}.action-number .icon{width:12px;height:12px}.action-tile.used{opacity:.48;background:#eee8de}.action-footer{height:35px;display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:#a39682;gap:8px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;color:#fcf6eb;background:var(--plum);border:1px solid var(--plum);padding:12px 19px;border-radius:5px;min-height:42px;font-size:14px;transition:background .2s,transform .2s;white-space:nowrap}.primary-button:hover:not(:disabled){background:var(--plum-dark);transform:translateY(-1px)}.primary-button .icon{width:17px;height:17px}.primary-button:disabled{background:#b99da2;border-color:#b99da2;opacity:.6}.small-button{min-height:31px;padding:7px 11px;font-size:12px;gap:6px}.small-button .icon{width:13px;height:13px}.text-button{display:inline-flex;align-items:center;gap:7px;background:transparent;font-size:13px;color:#9b7d62;padding:8px}.text-button:hover{color:var(--plum)}.text-button .icon{width:16px;height:16px}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:15px}.journal-preview{display:flex;align-items:center;gap:7px;color:#9b907d;font-size:12px;background:transparent;padding:0;text-align:left}.journal-preview>.icon{width:13px;height:13px}.journal-link{color:#9c7c5b;margin-left:15px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.journal-link .icon{width:9px;height:9px}.local-note{display:flex;align-items:center;gap:6px;color:#a59a87;font-size:12px;white-space:nowrap}.local-note i{width:4px;height:4px;background:#a4a480;border-radius:50%}.page-signoff{display:flex;justify-content:space-between;padding-top:17px;padding-bottom:26px;color:#b4a794;font-size:12px;letter-spacing:.5px}.page-signoff>span:first-child{font:italic 15px var(--serif);letter-spacing:0}.offer-zone{padding:22px;text-align:center;min-height:225px}.offer-options{display:flex;align-items:center;justify-content:center;gap:18px}.offer-choice{background:transparent;padding:7px 15px 10px;border:1px solid #dfd2be;border-radius:8px;transition:background .2s,border .2s;opacity:1!important}.offer-choice:hover:not(:disabled){background:#f1e4e5;border-color:#b77789;transform:translateY(-3px)}.offer-card-group{display:flex;gap:10px;justify-content:center}.small-card{width:72px;flex:none;height:104px;aspect-ratio:auto;pointer-events:none}.small-card .item-emblem .icon{width:25px;height:25px}.small-card .item-value{font-size:15px}.small-card .item-caption strong{font-size:15px}.small-card .item-caption>span{font-size:12px}.small-card .item-caption{bottom:8px}.offer-choice-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--plum);margin-top:13px}.offer-choice-label .icon{width:14px;height:14px}.offer-or{font:italic 17px var(--serif);color:#b8a98c}.offer-zone>p{font-size:13px;color:#a29783;margin:18px 0 0}.thinking-dots{display:inline-flex;gap:4px;margin-right:5px}.thinking-dots i{width:3px;height:3px;background:#aa8f68;border-radius:50%;animation:breathe 1.2s infinite}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}.split-zone{padding:20px 24px}.split-options{display:flex;justify-content:center;gap:18px}.split-choice{position:relative;background:transparent;border:1px solid #ddd1be;border-radius:7px;padding:8px 8px 0}.split-choice>span{display:block;font-size:12px;color:#9d8c72;padding:8px}.split-choice.in-pair{background:#eddee3;border-color:#b17486}.split-choice.in-pair>span{color:var(--plum)}.split-footer{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:17px}.round-result{display:flex;align-items:center;justify-content:space-between;padding:30px;gap:30px;min-height:200px}.secret-reveal{display:flex;gap:20px;align-items:center}.secret-reveal>span{font:italic 19px var(--serif);color:#978870}.secret-reveal>div>span:first-child{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#a69a84;margin-bottom:8px}.revealed-secret{display:flex;align-items:center;gap:7px;color:var(--tone);font:17px var(--serif)}.revealed-secret .icon{width:21px;height:21px}.round-numbers{display:flex;flex-direction:column;gap:12px;font-size:13px;color:#a2947c}.round-numbers>span{display:flex;gap:20px;justify-content:space-between}.round-numbers strong{font-size:14px;font-weight:500;color:#70624d}.dialog-open{overflow:hidden}.dialog-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#30261f66;backdrop-filter:blur(6px);animation:fade-in .2s}.dialog{position:relative;outline:none;width:610px;max-width:100%;max-height:90dvh;overflow:auto;border:1px solid #e6dbc5;background:var(--paper);border-radius:14px;padding:39px;box-shadow:0 20px 100px #1b171d44}.dialog-close{position:absolute;top:12px;right:12px;color:#9b8a72}.dialog-close .icon{width:18px;height:18px}.dialog h2{font:32px/1.15 var(--serif);font-weight:400;letter-spacing:-.5px;margin:10px 0 19px}.dialog p{font-size:15px;color:#8a7e6b;line-height:1.8}.dialog p strong{color:#725a54;font-weight:600}.dialog .dialog-lede{font-size:17px;line-height:1.8}.dialog h3{font:17px var(--serif);font-weight:400;margin:0 0 5px}.rules-step{display:flex;gap:18px;margin-top:23px}.rules-step>span{font:19px var(--serif);color:#b8a17a;padding-top:1px}.rules-step p{margin:0;font-size:14px}.rules-actions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:23px 0;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rules-actions>div{display:flex;gap:12px}.rules-actions .icon{color:#a68b61;width:23px;height:23px}.rules-actions h3{font-size:18px}.rules-actions p{font-size:13px;margin:4px 0}.dialog .rules-footnote{font-size:13px;padding-top:15px;border-top:1px solid var(--line);margin-top:24px}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:25px}.dialog-bottom>a{font-size:12px;color:#a18660}.setting-row{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:23px 0;border-bottom:1px solid var(--line)}.setting-row p{font-size:14px;line-height:1.6;margin:5px 0 0;max-width:290px}.setting-choice{display:flex;gap:6px;align-items:center;justify-content:center;background:#ede5d8;border:1px solid #d8cbb7;border-radius:5px;padding:10px 12px;font-size:13px;min-width:105px}.setting-choice .icon{width:14px;height:14px}.setting-choice.chosen{background:#ebdce2;color:var(--plum);border-color:#bb929d}.danger-button{color:#9b6f70}.journal-list{list-style:none;padding:0;margin:25px 0 0}.journal-list li{padding:12px 0 12px 18px;position:relative;font-size:15px;color:#8a7e6b;border-bottom:1px solid #e8dfd2;line-height:1.6}.journal-list li:before{content:'';position:absolute;left:0;top:20px;background:#b2a07e;width:4px;height:4px;border-radius:50%}.journal-list li:last-child{color:var(--plum)}.artist-dialog{width:650px;padding:30px}.artist-details{display:grid;grid-template-columns:190px 1fr;gap:30px;align-items:center}.artist-detail-art{position:relative;height:350px;border-radius:95px 95px 6px 6px;box-shadow:0 8px 15px #0002}.artist-details .dialog-eyebrow{font-size:12px;letter-spacing:1px}.artist-details .dialog-lede{color:var(--tone)}.artist-counts{display:flex;gap:50px;padding-bottom:18px;border-bottom:1px solid var(--line)}.artist-counts span{font-size:13px;color:#a49277}.artist-counts strong{display:block;font:30px var(--serif);color:var(--tone);margin-top:5px}.artist-details p{font-size:14px}.artist-details .muted{font-size:13px}.private-cards{display:grid;grid-template-columns:1fr 1.8fr;gap:25px;margin-top:30px}.private-cards h3{font-size:17px;margin-bottom:20px}.private-cards .item-card{width:80px;height:115px}.private-discard{display:flex;gap:12px}@keyframes breathe{0%,100%{opacity:.45}50%{opacity:1}}@keyframes fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media (min-width:1500px){.site-header,main,.page-signoff{max-width:1400px;padding-inline:65px}.intro{padding-block:36px 32px}.portrait-card{height:255px}.geisha-row{gap:20px}.hand-cards{min-height:132px}.item-card{max-width:92px}.dock-content{grid-template-columns:1.4fr 1fr}}
@media (max-width:1100px){.site-header,main,.page-signoff{padding-inline:30px}.site-header{height:91px}.intro{padding-block:28px 21px}h1{font-size:30px}.geisha-row{gap:11px}.portrait-card{height:200px}.portrait-name{font-size:20px}.portrait-item{font-size:12px}.round-indicator{min-width:196px;padding-left:22px}.opponent-details{gap:12px}.hand-count{padding-right:12px}.dock-content{gap:20px;padding-inline:20px;grid-template-columns:1.3fr 1fr}.actions-section{padding-left:19px}.action-tile{padding:9px 8px;gap:7px}.action-copy strong{font-size:16px}.action-copy>span{font-size:12px}.action-icon .icon{width:18px}.hand-cards{gap:6px;min-height:109px}.item-caption strong{font-size:15px}.item-caption>span{font-size:12px}.item-emblem .icon{width:26px;height:26px}.hand-note{font-size:12px}.board-legend{margin-right:10px;font-size:12px}.round-result{padding:25px;gap:20px}.secret-reveal{gap:14px}.secret-reveal>span{display:none}}
@media (max-width:850px){.site-header,main,.page-signoff{padding-inline:24px}.header-tools{gap:16px}.intro{padding-block:25px 18px}.intro p{font-size:14px}h1{font-size:27px}.round-indicator{min-width:150px;padding-left:17px;gap:10px}.round-blossom .icon{width:27px}.round-indicator .eyebrow{font-size:12px}.round-indicator strong{font-size:21px}.round-turns{font-size:12px}.geisha-row{gap:9px}.portrait-card{height:179px}.charm-badge{width:22px;height:22px;top:9px;font-size:18px}.portrait-name{font-size:18px}.portrait-item{font-size:12px;letter-spacing:.6px;gap:3px}.portrait-item .icon{width:10px;height:10px}.portrait-caption{bottom:12px}.player-bar{min-height:67px;gap:12px}.player-identity>div>span{font-size:12px}.mini-action{width:23px;height:23px}.mini-action .icon{width:13px;height:13px}.hand-count{display:none}.score-block{min-width:139px;gap:9px}.score-stat{width:55px}.board-legend{margin-right:0;font-size:12px}.dock-content{grid-template-columns:1fr;gap:18px;padding:19px 22px}.actions-section{border-left:0;border-top:1px solid var(--line);padding:17px 0 0;display:flex;gap:18px;flex-wrap:wrap;align-items:center}.actions-section>.section-label{width:100%;margin-bottom:-2px}.actions-grid{grid-template-columns:repeat(4,1fr);flex:1;width:100%}.action-tile{min-height:65px;padding:10px 7px;gap:7px}.action-copy strong{font-size:16px}.action-copy>span{font-size:12px}.action-number{font-size:13px}.actions-section>.action-footer{width:100%;margin:0;height:20px;min-height:20px}.hand-cards{justify-content:center;min-height:125px;gap:12px}.hand-cards .item-card{max-width:83px}.item-emblem .icon{width:29px;height:29px}.item-caption strong{font-size:16px}.item-caption>span{font-size:12px}.hand-note{margin-top:14px;font-size:12px}.turn-context{padding:18px 22px}.turn-context h2{font-size:21px}.turn-context p{font-size:13px}.page-signoff{padding-top:5px}.round-result{flex-wrap:wrap;justify-content:center}.round-numbers{min-width:200px}.round-result>.primary-button{margin-left:auto}.journal-link{margin-left:8px}.journal-preview{font-size:12px}.local-note{font-size:12px}}
@media (max-width:600px){.site-header,main,.page-signoff{padding-inline:18px}.site-header{height:84px}.brand{gap:9px}.brand-mark{width:34px;height:34px}.brand-mark .icon{width:24px;height:24px}.brand-title{font-size:22px;letter-spacing:.3px}.brand-subtitle{font-size:12px;letter-spacing:1px;margin-top:4px}.header-tools{gap:9px}.nav-button{width:32px;height:36px;min-height:36px}.nav-button span{display:none}.nav-button .icon{width:18px;height:18px}.icon-button{width:32px;height:32px;min-height:32px}.sound-button .icon{width:15px;height:15px}.intro{gap:10px;padding-block:26px 15px}.eyebrow{font-size:12px;letter-spacing:1.6px}.tiny-line{width:20px;margin-left:4px}h1{font-size:27px;line-height:1.18;max-width:245px;margin:9px 0 7px}h1 em{display:block}.intro p{font-size:12px;max-width:210px;line-height:1.6}.round-indicator{min-width:94px;padding-left:12px;gap:0}.round-blossom{display:none}.round-indicator .eyebrow{font-size:12px;letter-spacing:.5px;max-width:90px;line-height:1.6}.round-indicator strong{font-size:22px}.round-turns{max-width:90px;font-size:12px;line-height:1.6}.player-bar{min-height:67px;gap:8px}.avatar{width:29px;height:29px}.bot-avatar{font-size:19px}.your-avatar .icon{width:17px}.player-identity{gap:8px}.player-identity strong{font-size:14px}.player-identity>div>span{font-size:12px;max-width:140px;line-height:1.4}.opponent-details{display:none}.score-block{min-width:125px;gap:8px}.score-stat{width:50px}.score-stat strong{font-size:19px}.score-stat strong span{font-size:13px}.score-stat>span:not(.progress-track){font-size:12px;letter-spacing:1px}.progress-track{width:47px}.score-or{font-size:13px}.geisha-row{gap:7px;min-width:640px}.board-scroll{overflow-x:auto;margin-inline:-18px;padding-inline:18px;scrollbar-width:thin;scrollbar-color:#cec1ac transparent;padding-bottom:5px;overscroll-behavior-x:contain}.portrait-card{height:174px}.portrait-name{font-size:18px}.portrait-item{font-size:12px}.offering-count{height:22px}.favor-line{height:27px}.favor-line>span{width:16px}.your-bar{min-height:65px}.board-legend{display:none}.play-dock{margin-top:4px;border-radius:10px}.turn-context{padding:17px 15px;gap:11px;min-height:105px;align-items:flex-start}.turn-symbol{width:28px;height:28px;margin-top:10px}.turn-symbol .icon{width:15px;height:15px}.turn-context>div:nth-child(2){flex:1;min-width:0}.turn-context .eyebrow{font-size:12px;letter-spacing:1px;line-height:1.5}.turn-context h2{font-size:22px;line-height:1.2;margin-top:5px}.turn-context p{font-size:12px;line-height:1.6}.cancel-selection{font-size:12px;padding:4px 0 4px 4px;align-self:flex-start;margin-top:1px}.dock-content{padding:19px 13px 17px;gap:16px}.section-label{font-size:12px;letter-spacing:1.1px;margin-bottom:15px}.section-label>span:last-child:not(:first-child){font-size:12px}.subtle-button{font-size:12px}.hand-cards{gap:5px;min-height:87px;padding-top:3px}.hand-cards .item-card{max-width:75px;min-height:80px;aspect-ratio:.62}.item-emblem .icon{width:23px;height:23px}.item-emblem{top:29%}.item-value{top:5px;left:5px;font-size:15px}.item-caption{bottom:9px}.item-caption strong{font-size:14px}.item-caption>span{font-size:12px;letter-spacing:0;margin-top:3px}.selected-check{width:16px;height:16px;top:-6px;right:-4px}.selected-check .icon{width:9px;height:9px}.new-card-label{font-size:12px;padding:2px 4px}.hand-note{font-size:12px;margin-top:15px}.secret-note{font-size:12px}.actions-section{gap:13px;padding-top:15px}.actions-grid{grid-template-columns:repeat(2,1fr);gap:8px}.action-tile{min-height:58px;padding:10px;gap:9px}.action-copy strong{font-size:18px}.action-copy>span{font-size:12px}.action-icon .icon{width:20px;height:20px}.action-number{font-size:15px}.actions-section>.action-footer{min-height:28px;margin-top:0}.action-footer{font-size:12px}.small-button{font-size:12px;padding:7px 10px}.game-footer{padding-block:14px;align-items:flex-start;gap:12px}.journal-preview{align-items:flex-start;font-size:12px;max-width:240px;line-height:1.7;flex-wrap:wrap;gap:5px}.journal-preview>.icon{margin-top:1px}.journal-preview>span:first-of-type{max-width:190px}.journal-link{margin-left:18px;font-size:12px}.local-note{font-size:12px;gap:3px;margin-top:3px}.page-signoff{font-size:12px;padding-top:8px;padding-bottom:24px;align-items:center}.page-signoff>span:first-child{font-size:13px}.offer-zone{padding:20px 10px;min-height:220px}.offer-options{gap:7px}.offer-choice{padding:8px 7px 10px;border-radius:6px}.offer-card-group{gap:5px}.small-card{width:65px;height:99px}.offer-choice-label{font-size:12px;gap:4px;margin-top:13px}.offer-choice-label .icon{width:12px;height:12px}.offer-or{font-size:13px}.offer-zone>p{font-size:12px}.offer-options:has(.offer-card-group .item-card:nth-child(2)){gap:7px}.offer-options:has(.offer-card-group .item-card:nth-child(2)) .small-card{width:57px;height:90px}.small-card .item-emblem .icon{width:23px;height:23px}.small-card .item-caption strong{font-size:14px}.split-zone{padding:20px 12px}.split-options{gap:6px}.split-choice{padding:5px 4px 0;min-width:0}.split-choice .small-card{width:57px;height:90px}.split-choice>span{font-size:12px;padding:9px 0}.split-footer{gap:13px}.split-footer .primary-button{font-size:13px;padding-inline:14px}.round-result{padding:25px 17px;gap:24px;flex-direction:column;align-items:stretch}.secret-reveal{justify-content:center;gap:35px}.round-numbers{font-size:13px;max-width:250px;width:100%;margin:auto}.round-result>.primary-button{margin:auto}.dialog-backdrop{padding:15px}.dialog{padding:34px 24px;max-height:90dvh;border-radius:11px}.dialog h2{font-size:29px}.dialog .dialog-lede{font-size:16px}.dialog-eyebrow{font-size:12px;letter-spacing:1.5px}.rules-actions{gap:20px 15px}.rules-actions>div{gap:8px}.rules-actions .icon{width:18px;height:18px}.rules-actions h3{font-size:17px}.rules-actions p{font-size:12px}.rules-step{gap:12px}.rules-step h3{font-size:17px}.dialog-bottom{gap:12px;flex-wrap:wrap}.dialog-bottom .primary-button{font-size:13px;padding:11px 14px}.setting-row{gap:14px}.setting-row h3{font-size:19px}.setting-row p{font-size:13px}.setting-choice{min-width:91px;padding:10px 9px;font-size:12px}.artist-dialog{padding:36px 23px 24px}.artist-details{grid-template-columns:1fr 1.2fr;gap:19px}.artist-detail-art{height:270px}.artist-details h2{font-size:29px;margin-bottom:14px}.artist-details .dialog-eyebrow{font-size:12px;line-height:1.7}.artist-counts{gap:25px;padding-bottom:14px}.artist-counts strong{font-size:26px}.artist-details p{font-size:12px;line-height:1.6}.artist-details .muted{font-size:12px}.private-cards{gap:20px;grid-template-columns:1fr 1.7fr}.private-cards .item-card{width:65px;height:100px}.private-discard{gap:8px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the two players and restart control easy to find at every screen size. */
.header-tools .new-game-button{width:auto;min-height:36px;padding:8px 12px;border:1px solid #c7b29c;border-radius:5px;color:#805b52;white-space:nowrap;gap:7px}
.header-tools .new-game-button:hover{background:#eee2d8;border-color:#a68a70}
.header-tools .new-game-button span{display:inline}
.header-tools .new-game-button .icon{width:15px;height:15px}
.opponent-seat{border:1px solid #d9d5c5;background:linear-gradient(110deg,#eeecdf99,#f7f4ec99);border-radius:10px;padding:0 17px;margin-top:3px}
.opponent-seat .player-bar{min-height:70px}
.bot-badge{display:inline-block;vertical-align:middle;margin-left:7px;padding:3px 6px;background:#e2e5d7;border:1px solid #cbd1ba;border-radius:4px;color:#707955;font-size:12px;font-weight:500;letter-spacing:.3px;white-space:nowrap}
.opponent-presence{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 13px}
.opponent-hand{display:flex;align-items:center;gap:11px;flex-shrink:0;color:#8b826f;font-size:12px;min-height:30px}
.card-backs{display:flex;padding-left:0;min-width:5px}
.card-back{display:grid;place-items:center;width:20px;height:29px;border:1px solid #f5eee2;border-radius:3px;color:#dfd7bc;background:repeating-linear-gradient(45deg,#7e8868 0,#7e8868 2px,#818c6c 2px,#818c6c 4px);box-shadow:0 1px 3px #504b3633;margin-left:-8px;transform:rotate(-3deg)}
.card-back:first-child{margin-left:0}
.card-back:nth-child(even){transform:rotate(3deg)}
.card-back .icon{width:11px;height:11px;stroke-width:1}
.opponent-status{margin:0;font-size:13px;line-height:1.6;color:#82765f;text-align:right}
.table-side-label{margin:12px 0 0;text-transform:uppercase;letter-spacing:1px;color:#9b927c;font-size:12px}
@media (max-width:850px){.header-tools{gap:13px}.opponent-seat{padding-inline:13px}.opponent-presence{gap:12px}.opponent-status{font-size:12px}.opponent-hand{font-size:12px}.bot-badge{font-size:12px;padding:2px 4px;margin-left:4px}}
@media (max-width:600px){.header-tools{gap:7px}.header-tools .new-game-button{font-size:13px;padding:7px 8px;gap:5px;min-height:33px}.header-tools .new-game-button .icon{width:13px;height:13px}.opponent-seat{padding-inline:11px}.opponent-seat .player-bar{min-height:65px}.opponent-seat .player-identity>div>span{font-size:12px;max-width:none}.opponent-seat .player-identity{gap:7px}.bot-badge{font-size:12px;padding:2px 4px;margin-left:3px}.opponent-presence{padding-bottom:12px;gap:10px}.opponent-hand{font-size:12px;gap:8px}.card-back{width:16px;height:24px;margin-left:-7px}.card-back .icon{width:9px;height:9px}.opponent-status{font-size:12px;max-width:180px}.table-side-label{font-size:12px;margin-top:12px}}
@media (max-width:420px){.header-tools{gap:5px}.header-tools>.sound-button{display:none}.header-tools>.nav-button:not(.new-game-button){width:27px}.opponent-seat .avatar{width:25px;height:25px}.opponent-seat .score-block{min-width:110px;gap:5px}.opponent-seat .score-stat{width:45px}.opponent-seat .progress-track{width:41px}.opponent-status{max-width:155px}}

/* Larger type, generous controls, and a permanent ledger beside the table. */
:root{--muted:#70695e;--line:#d6ccbd;font-size:16px}
.site-header,main,.page-signoff{max-width:1540px}
.header-tools{gap:20px}
.brand-title{font-size:29px}.brand-subtitle{font-size:12px;color:#756d60;letter-spacing:1px}
.nav-button{font-size:15px;min-height:44px}.nav-button .icon{width:20px;height:20px}
.header-tools .new-game-button{font-size:14px;min-height:42px}
.eyebrow,.dialog-eyebrow{font-size:12px;letter-spacing:1.5px;color:#826537}
h1{font-size:39px}.intro p{font-size:15px;color:#70695e;line-height:1.6}
.round-indicator{min-width:240px}.round-indicator .eyebrow{font-size:12px}.round-turns{font-size:13px;color:#716655}
.table-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}
.table-play-area{min-width:0}
.board-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#bba889 transparent;padding-bottom:5px}
.geisha-row{min-width:760px}
.player-bar{min-height:88px}.player-identity strong{font-size:17px}.player-identity>div>span{font-size:13px;color:#6f6657;line-height:1.5;max-width:none}
.opponent-seat .player-bar{min-height:80px}.opponent-seat .player-identity>div>span{font-size:13px}
.bot-badge{font-size:12px;font-weight:600;padding:4px 6px;letter-spacing:0}.opponent-hand{font-size:13px;color:#716755}.opponent-status{font-size:13px;color:#655d4d}
.opponent-presence{padding-bottom:17px}.opponent-details{gap:10px}.mini-action{width:31px;height:31px}.mini-action .icon{width:18px;height:18px}
.score-block{min-width:175px;gap:13px}.score-stat{width:65px}.score-stat strong{font-size:24px}.score-stat strong span{font-size:14px;color:#7c7365}.score-stat>span:not(.progress-track){font-size:12px;color:#746a5a;letter-spacing:.5px}.score-or{font-size:14px;color:#7e7059}.progress-track{width:64px;height:3px}
.table-side-label{font-size:12px;color:#746c5d;margin-top:16px}.board-legend{font-size:12px;color:#776951;margin-right:0}.board-legend .icon{width:15px;height:15px}
.offering-count{height:31px;font-size:14px;font-weight:600}.count-pips i{width:8px;height:12px}.empty-dash{font-size:14px;color:#9f937d}.favor-line{height:34px}.favor-line i{width:25px;height:25px}.favor-line .icon{width:15px;height:15px}
.charm-badge{width:30px;height:30px;font-size:21px}.portrait-name{font-size:26px}.portrait-item{font-size:12px;letter-spacing:.2px;gap:5px}.portrait-item .icon{width:15px;height:15px}.portrait-caption{bottom:18px}
.turn-context{min-height:124px;padding:22px 24px}.turn-context .eyebrow{font-size:12px;letter-spacing:1px}.turn-context h2{font-size:28px;margin-top:7px}.turn-context p{font-size:15px;color:#716655;line-height:1.6}.turn-symbol{width:40px;height:40px}.turn-symbol .icon{width:22px;height:22px}
.dock-content{grid-template-columns:1fr;gap:24px;padding:24px}
.section-label{font-size:12px;letter-spacing:1px;color:#675942;min-height:25px;margin-bottom:17px}.section-label>span:last-child:not(:first-child){font-size:12px;color:#746b5b}.label-count{width:23px;height:23px;font-size:12px}.subtle-button{font-size:13px;color:#756a58;min-height:30px}
.hand-cards{gap:12px;min-height:151px;justify-content:flex-start;overflow-x:auto;padding:10px 6px 12px;scrollbar-width:thin;scrollbar-color:#b8a589 transparent}
.hand-cards .item-card{flex:0 0 88px;width:88px;min-width:88px;max-width:88px;height:134px;aspect-ratio:auto}
.item-value{font-size:20px;top:8px;left:8px}.item-emblem{top:27%}.item-emblem .icon{width:32px;height:32px}.item-caption{bottom:12px}.item-caption strong{font-size:17px}.item-caption>span{font-size:12px;letter-spacing:0;margin-top:5px;color:#6e6150}.new-card-label{font-size:12px;padding:2px 5px;bottom:-8px}.selected-check{width:23px;height:23px}.selected-check .icon{width:14px;height:14px}
.hand-note{font-size:12px;color:#756b5a;margin-top:12px}.hand-note>.icon{width:15px;height:15px}.secret-note{font-size:13px;color:#805264}.secret-note .icon{width:16px;height:16px}
.actions-section{border-left:0;border-top:1px solid #d9cfbf;padding:22px 0 0;display:block}.actions-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.action-tile{min-height:78px;padding:14px 12px;gap:10px;position:relative}.action-copy strong{font-size:18px}.action-copy>span{font-size:12px;color:#776952;white-space:normal;line-height:1.4}.action-icon .icon{width:24px;height:24px}.action-number{position:absolute;top:8px;right:8px;font-size:13px;color:#8f7958}.action-number .icon{width:14px;height:14px}
.action-footer{font-size:13px;color:#79694f;height:auto;min-height:42px;margin-top:14px;line-height:1.6}.actions-section>.action-footer{width:100%;height:auto;min-height:42px}.primary-button{font-size:15px;min-height:46px;padding:12px 18px}.small-button{font-size:14px;min-height:42px;padding:9px 13px}.text-button{font-size:14px;min-height:40px}.cancel-selection{font-size:13px}
.game-footer{align-items:flex-start;padding-block:20px}.journal-preview{font-size:12px;color:#756b59;line-height:1.6;max-width:75%;flex-wrap:wrap}.journal-link{font-size:12px;color:#88643f;margin-left:0}.journal-preview>.icon{width:16px;height:16px}.local-note{font-size:12px;color:#776c59;line-height:1.6}.page-signoff{font-size:12px;color:#86775f}.page-signoff>span:first-child{font-size:15px}
.offer-zone{padding:25px 18px}.offer-options{gap:16px}.offer-choice{padding:12px 14px}.offer-choice-label{font-size:14px;line-height:1.5}.offer-zone>p{font-size:14px;color:#75664e}.offer-or{font-size:17px;color:#8d7a59}.small-card{width:86px;height:128px}.small-card .item-value{font-size:17px}.small-card .item-caption strong{font-size:16px}.small-card .item-caption>span{font-size:12px}.small-card .item-emblem .icon{width:30px;height:30px}
.split-zone{padding:24px}.split-groups{display:flex;align-items:center;justify-content:center;gap:22px}.split-pair{border:1px solid #d2bdb5;border-radius:9px;padding:15px;background:#f5ede7}.split-pair:nth-of-type(2){border-color:#d0c5ae;background:#f2efe4}.split-pair h3{font:22px var(--serif);margin:0 0 15px;text-align:center}.split-options{gap:12px}.split-choice{padding:6px 6px 0;background:#fcf7ec}.split-choice.in-pair{background:#fcf7ec;border-color:#d5c6b7}.split-choice>span{font-size:12px;padding:12px 2px;color:#79664e}.split-choice.swap-selected{border:2px solid var(--plum);background:#ead4dc;box-shadow:0 0 0 3px #803f511a}.split-choice.swap-selected>span{color:var(--plum)}.split-footer{gap:24px;margin-top:23px}
.secret-reveal>div>span:first-child{font-size:12px;color:#786b55}.secret-reveal>span{font-size:19px}.revealed-secret{font-size:22px}.round-numbers{font-size:14px;color:#7d6c54}.round-numbers strong{font-size:14px}.round-result{flex-wrap:wrap}.round-numbers>span{gap:12px}
.dialog{width:700px;padding:43px;max-height:90dvh}.dialog h2{font-size:36px}.dialog h3{font-size:22px}.dialog p{font-size:16px;color:#6f6250;line-height:1.75}.dialog .dialog-lede{font-size:18px}.rules-step p{font-size:15px}.rules-actions h3{font-size:19px}.rules-actions p{font-size:14px}.dialog .rules-footnote{font-size:14px}.dialog-bottom>a{font-size:13px}.setting-row p{font-size:15px;max-width:340px}.setting-choice{font-size:14px;padding:12px;min-width:128px}.journal-list li{font-size:15px}.artist-details p,.artist-details .muted{font-size:14px}.artist-details .dialog-eyebrow{font-size:12px}.artist-counts span{font-size:14px}.artist-counts strong{font-size:33px}.private-cards h3{font-size:20px}
.game-ledger{position:sticky;top:22px;border:1px solid #d8cbb7;border-radius:11px;background:#fffaf0b3;overflow:hidden;box-shadow:0 5px 25px #5d493310;min-width:0;margin-top:3px}
.ledger-header{padding:23px 20px 17px;border-bottom:1px solid #dfd2bd;background:#eee6d855}.ledger-header .eyebrow{font-size:12px;letter-spacing:1px}.ledger-header h2{font:27px var(--serif);margin:9px 0 5px;display:flex;align-items:center;justify-content:space-between}.ledger-header h2>span{font:12px var(--sans);display:grid;place-items:center;min-width:25px;height:25px;border:1px solid #d0bfa1;border-radius:50%;color:#8b7350}.ledger-header p{font-size:13px;margin:0;color:#78694f}
.ledger-scroll{max-height:calc(100dvh - 280px);min-height:320px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bca785 transparent;scroll-padding:10px}.ledger-scroll ol{list-style:none;margin:0;padding:4px 19px 18px}.ledger-round{font:italic 19px var(--serif);color:#8f6d43;padding:20px 0 12px;border-bottom:1px solid #dbcfba}.ledger-entry{padding:16px 0;border-bottom:1px solid #e5d9c6}.ledger-entry:last-child{border-bottom:0}.ledger-entry-heading{display:flex;align-items:center;gap:7px;color:#887752}.ledger-entry-heading strong{font-size:13px;font-weight:600}.ledger-entry-heading>span:last-child:not(:first-child){margin-left:auto;font-size:12px;color:#8d7b5a}.ledger-entry-icon .icon{width:17px;height:17px}.ledger-entry.by-you .ledger-entry-heading{color:var(--plum)}.ledger-entry.by-bot .ledger-entry-heading{color:#687148}.ledger-entry p{font-size:14px;line-height:1.65;margin:7px 0 0;color:#635846}.ledger-allocation{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}.ledger-allocation>span:not(.ledger-card){font-size:12px;color:#796a51;min-width:35px}.ledger-card{display:inline-flex;align-items:center;gap:4px;color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 35%,transparent);border-radius:4px;padding:3px 5px;font-size:12px;background:#fffcf488}.ledger-card .icon{width:13px;height:13px}
.ledger-disk-status{display:flex;align-items:center;gap:7px;font-size:12px;color:#746245;border-top:1px solid #ddcfb8;padding:14px 17px 8px;min-height:40px}.ledger-disk-status .text-button{font-size:12px;min-height:24px;padding:0;margin-left:auto;color:var(--plum)}.disk-indicator{display:block;width:6px;height:6px;border-radius:50%;background:#b59662;flex-shrink:0}.disk-indicator.saved{background:#77865a}.disk-indicator.failed{background:#ac5c5c}.ledger-file-note{font-size:12px;line-height:1.7;margin:0;padding:0 17px 16px;color:#7a6a50}.ledger-file-note code{display:block;font-family:var(--sans);font-size:12px;color:#6d5e45}
@media (max-width:1250px){.table-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.table-play-area .opponent-details{display:none}.header-tools{gap:13px}.action-tile{gap:8px;padding:14px 9px}.action-copy strong{font-size:17px}.action-copy>span{font-size:12px}.actions-grid{gap:9px}.opponent-presence{flex-wrap:wrap;gap:10px}.opponent-status{text-align:left}.round-indicator{min-width:225px}.ledger-header{padding-inline:16px}.ledger-scroll ol{padding-inline:15px}}
@media (max-width:1080px){.table-layout{display:flex;flex-direction:column;gap:16px}.table-play-area,.game-ledger{width:100%}.game-ledger{position:static}.ledger-scroll{min-height:220px;max-height:380px}.ledger-header{padding:20px 23px 17px}.ledger-scroll ol{padding:0 23px 20px}.ledger-disk-status{padding-inline:23px}.ledger-file-note{padding-inline:23px}.table-play-area .opponent-details{display:flex}.intro{gap:20px}h1{font-size:34px}.intro p{font-size:14px}.round-indicator{min-width:210px}.brand-title{font-size:28px}.header-tools{gap:12px}.nav-button{font-size:14px}.brand-subtitle{font-size:12px}.actions-grid{gap:11px}.action-copy strong{font-size:19px}.action-copy>span{font-size:12px}.portrait-item{font-size:12px}}
@media (max-width:800px){.site-header{height:auto;min-height:98px;padding-block:17px;gap:12px;flex-wrap:wrap}.header-tools{gap:8px;margin-left:auto}.nav-button{font-size:13px}.brand-title{font-size:26px}.brand-subtitle{font-size:12px}h1{font-size:31px}.round-indicator .eyebrow{font-size:12px}.round-indicator strong{font-size:27px}.round-turns{font-size:12px}.round-indicator{min-width:195px;padding-left:18px}.round-blossom{display:none}.opponent-status{font-size:13px}.player-identity>div>span{font-size:12px}.board-legend{display:none}.actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-tile{padding:15px;min-height:80px;gap:12px}.action-copy strong{font-size:21px}.action-copy>span{font-size:13px}.turn-context h2{font-size:27px}.turn-context p{font-size:15px}.offer-choice-label{font-size:14px}.round-result{gap:24px}.game-footer{flex-wrap:wrap}.local-note{font-size:12px}.journal-preview{font-size:13px}.hand-cards{gap:12px}.split-groups{gap:15px}.split-pair{padding:12px}.split-options{gap:9px}.split-choice .small-card{width:78px;height:120px}.split-choice>span{font-size:12px}.split-pair h3{font-size:21px}}
@media (max-width:600px){body{min-width:350px}.site-header,main,.page-signoff{padding-inline:18px}.site-header{min-height:92px;flex-wrap:nowrap;gap:5px}.brand{gap:8px}.brand-title{font-size:25px}.brand-subtitle{font-size:12px;letter-spacing:0}.brand-mark{width:31px;height:31px}.brand-mark .icon{width:22px;height:22px}.header-tools{gap:4px}.header-tools>.nav-button:not(.new-game-button){width:30px}.header-tools>.sound-button{display:none}.header-tools .new-game-button{font-size:12px;min-height:40px;padding:8px;gap:4px}.header-tools .new-game-button .icon{width:13px;height:13px}.intro{gap:12px;padding-block:25px 21px}.intro .eyebrow{font-size:12px;letter-spacing:1px}.tiny-line{display:none}h1{font-size:31px;max-width:245px}.intro p{font-size:13px;max-width:230px;line-height:1.6}.round-indicator{min-width:98px;max-width:110px;padding-left:12px}.round-indicator .eyebrow{font-size:12px;letter-spacing:.3px;line-height:1.7}.round-indicator strong{font-size:26px}.round-turns{font-size:12px;line-height:1.6}.board-scroll{margin-inline:-18px;padding-inline:18px}.geisha-row{min-width:790px;gap:12px}.portrait-card{height:205px}.portrait-name{font-size:25px}.portrait-item{font-size:12px;letter-spacing:0}.portrait-item .icon{width:13px;height:13px}.portrait-caption{bottom:15px}.charm-badge{font-size:20px;width:29px;height:29px;top:11px}.offering-count{font-size:14px;height:30px}.table-side-label{font-size:12px}.player-bar{min-height:85px;gap:8px}.player-identity strong{font-size:17px}.avatar{width:30px;height:30px}.player-identity>div>span{font-size:12px;max-width:165px;line-height:1.5}.opponent-seat{padding-inline:12px}.opponent-seat .player-bar{min-height:83px}.opponent-seat .player-identity{gap:7px}.opponent-seat .player-identity>div>span{font-size:12px;max-width:160px}.opponent-seat .avatar{width:28px;height:28px}.opponent-seat .score-block{min-width:114px;gap:6px}.opponent-seat .score-stat{width:46px}.opponent-seat .progress-track{width:43px}.bot-badge{display:block;font-size:12px;padding:2px 5px;width:max-content;margin:5px 0 0}.opponent-seat .presence-dot{display:none}.opponent-hand{font-size:12px;gap:10px}.opponent-status{font-size:13px;max-width:none;flex:1 1 100%;text-align:left;line-height:1.6}.opponent-presence{padding-bottom:15px;gap:10px}.table-play-area .opponent-details{display:none}.score-block{min-width:130px;gap:8px}.score-stat{width:52px}.score-stat strong{font-size:23px}.score-stat strong span{font-size:13px}.score-stat>span:not(.progress-track){font-size:12px;letter-spacing:0}.score-or{font-size:14px}.progress-track{width:50px}.your-bar{min-height:92px}.turn-context{padding:21px 15px;gap:10px;min-height:136px}.turn-context .eyebrow{font-size:12px;letter-spacing:.5px}.turn-context h2{font-size:26px;line-height:1.2;margin:7px 0}.turn-context p{font-size:14px;line-height:1.65}.turn-symbol{width:30px;height:30px;margin-top:14px}.turn-symbol .icon{width:17px;height:17px}.cancel-selection{font-size:12px;padding:3px;min-height:30px}.dock-content{padding:22px 14px;gap:20px}.section-label{font-size:12px;letter-spacing:.4px;min-height:30px}.section-label>span:last-child:not(:first-child){font-size:12px}.subtle-button{font-size:12px}.hand-cards{min-height:157px;gap:11px;padding-top:11px;justify-content:flex-start}.hand-cards .item-card{width:88px;min-width:88px;max-width:88px;height:134px;flex:0 0 88px}.item-value{font-size:20px;top:8px;left:8px}.item-emblem{top:27%}.item-emblem .icon{width:32px;height:32px}.item-caption strong{font-size:17px}.item-caption>span{font-size:12px;letter-spacing:0}.item-caption{bottom:12px}.selected-check{width:22px;height:22px;right:-5px;top:-6px}.selected-check .icon{width:13px;height:13px}.new-card-label{font-size:12px;padding:2px 5px}.hand-note{font-size:12px;line-height:1.7;gap:5px;flex-wrap:wrap}.secret-note{font-size:12px}.actions-section{padding-top:19px}.actions-grid{gap:9px}.action-tile{min-height:81px;padding:13px 10px;gap:9px}.action-copy strong{font-size:19px}.action-copy>span{font-size:12px}.action-icon .icon{width:21px;height:21px}.action-number{font-size:12px;right:7px;top:7px}.action-footer,.actions-section>.action-footer{font-size:12px;min-height:46px;gap:9px;flex-wrap:wrap;margin-top:13px}.small-button{font-size:14px;padding:10px 13px;min-height:43px}.primary-button{font-size:14px;min-height:46px}.game-footer{gap:14px}.journal-preview{font-size:12px;max-width:100%;line-height:1.7}.journal-preview>span:first-of-type{max-width:none}.journal-link{font-size:12px;margin-left:0}.local-note{font-size:12px}.page-signoff{font-size:12px;gap:15px;flex-wrap:wrap;padding-top:15px}.page-signoff>span:first-child{font-size:15px}.offer-zone{padding:20px 12px}.offer-options{gap:8px;flex-wrap:wrap}.offer-choice{padding:10px}.offer-choice-label{font-size:13px;gap:5px}.offer-or{font-size:16px}.small-card{width:79px;height:123px}.small-card .item-value{font-size:17px}.small-card .item-caption strong{font-size:16px}.small-card .item-caption>span{font-size:12px}.small-card .item-emblem .icon{width:29px;height:29px}.offer-options:has(.offer-card-group .item-card:nth-child(2)){gap:12px}.offer-options:has(.offer-card-group .item-card:nth-child(2))>.offer-choice{width:100%;max-width:250px}.offer-options:has(.offer-card-group .item-card:nth-child(2)) .small-card{width:88px;height:131px}.offer-zone>p{font-size:13px}.split-zone{padding:21px 13px}.split-groups{flex-direction:column;gap:15px}.split-pair{width:100%;max-width:310px;padding:16px}.split-pair h3{font-size:24px}.split-options{gap:15px}.split-choice{padding:6px 6px 0}.split-choice .small-card{width:92px;height:139px}.split-choice>span{font-size:12px;padding:11px 2px}.split-footer{gap:10px;flex-wrap:wrap}.split-footer .primary-button{font-size:14px;padding:12px 16px}.round-result{padding:27px 17px;gap:27px}.secret-reveal{gap:32px}.secret-reveal>div>span:first-child{font-size:12px}.revealed-secret{font-size:23px}.round-numbers{font-size:14px;max-width:100%}.round-numbers strong{font-size:14px}.game-ledger{margin-top:5px}.ledger-header{padding:23px 20px 18px}.ledger-header .eyebrow{font-size:12px}.ledger-header h2{font-size:29px}.ledger-header p{font-size:14px}.ledger-scroll ol{padding-inline:20px}.ledger-entry-heading strong{font-size:14px}.ledger-entry p{font-size:15px}.ledger-round{font-size:22px}.ledger-allocation>span:not(.ledger-card),.ledger-card{font-size:12px}.ledger-disk-status{font-size:13px;padding-inline:20px}.ledger-file-note{font-size:12px;padding-inline:20px}.ledger-file-note code{font-size:13px}.dialog{padding:40px 23px;width:100%;max-height:91dvh}.dialog h2{font-size:32px}.dialog h3{font-size:22px}.dialog p{font-size:16px}.dialog .dialog-lede{font-size:17px}.dialog-eyebrow{font-size:12px;letter-spacing:1px}.rules-actions{grid-template-columns:1fr;gap:22px}.rules-actions h3{font-size:22px}.rules-actions p{font-size:15px}.rules-actions .icon{width:24px;height:24px}.rules-step h3{font-size:23px}.rules-step p{font-size:15px}.dialog .rules-footnote{font-size:14px}.dialog-bottom>a{font-size:13px}.dialog-bottom .primary-button{font-size:14px;padding:12px 16px}.setting-row{gap:15px;flex-wrap:wrap}.setting-row h3{font-size:22px}.setting-row p{font-size:15px;max-width:none}.setting-choice{font-size:14px;min-width:125px}.dialog-close{width:38px;height:38px}.journal-list li{font-size:15px}.artist-details{grid-template-columns:1fr 1.2fr;gap:18px}.artist-details h2{font-size:32px}.artist-details .dialog-eyebrow{font-size:12px}.artist-details p,.artist-details .muted{font-size:14px}.artist-counts span{font-size:13px}.artist-counts strong{font-size:30px}.private-cards h3{font-size:19px}}
@media (max-width:390px){.brand-mark{display:none}.brand-title{font-size:25px}.brand-subtitle{font-size:12px}.header-tools{gap:3px}.header-tools .new-game-button{font-size:12px;padding:8px 7px}.header-tools>.nav-button:not(.new-game-button){width:29px}.intro{gap:8px}h1{font-size:28px}.intro p{font-size:13px}.action-copy strong{font-size:17px}.action-copy>span{font-size:12px}.action-tile{gap:8px;padding:13px 9px}.action-icon .icon{width:20px;height:20px}.opponent-seat .score-stat strong{font-size:22px}.opponent-seat .player-identity>div>span{font-size:12px}.opponent-seat .player-identity{gap:6px}.opponent-seat .score-block{min-width:108px;gap:4px}.opponent-seat .score-stat{width:43px}.opponent-seat .progress-track{width:41px}}
@media (max-width:600px){.brand-subtitle{max-width:150px;white-space:normal;line-height:1.4}.brand{min-width:0}.game-footer .journal-preview{max-width:100%}.artist-details{grid-template-columns:1fr}.artist-detail-art{width:170px;height:290px;margin:auto}.artist-dialog .dialog-lede{font-size:18px}.dialog-bottom{align-items:flex-start}}

/* Opponent moves remain visible until they have been read or answered. */
.opponent-seat.opponent-active{border-color:#8b9670;box-shadow:0 0 0 2px #8b967016;background:linear-gradient(110deg,#e8ecdcbb,#f5f1e6)}
.opponent-round-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 11px;border-top:1px solid #d1d4bf;color:#626b47;font-size:13px}
.opponent-round-heading strong{font-weight:600}.opponent-round-heading>span{font-size:12px;white-space:nowrap}
.opponent-round-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-bottom:16px}
.opponent-action{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 7px;min-width:0;padding:10px 8px;border:1px solid #d5d2c2;border-radius:6px;background:#faf7ef;color:#827a66;font-size:13px}
.opponent-action>.icon{width:18px;height:18px;grid-row:span 2}.opponent-action>span:not(.opponent-action-state){font-family:var(--serif);font-size:17px}.opponent-action-state{font-size:12px;color:#8d8068}.opponent-action.played{background:#e5e8da;border-color:#c5ccb0;color:#626d43}.opponent-action.just-played{background:#d6e1bb;border-color:#839954;box-shadow:inset 0 0 0 1px #83995444;color:#425323}.opponent-action.just-played .opponent-action-state{color:#425323;font-weight:600}
.opponent-last-move{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #d6d2c0;padding:10px 0;font-size:13px;color:#74654d;line-height:1.6}.opponent-last-move strong{color:#626b47;font-weight:600}.opponent-last-move .text-button{font-size:13px;white-space:nowrap;color:#637147;padding:5px;min-height:32px}.opponent-last-move .icon{width:13px;height:13px}
.play-dock.reviewing-opponent{border:2px solid #8a9a64;box-shadow:0 8px 30px -12px #6c7e4330}.reviewing-opponent .turn-context{background:linear-gradient(110deg,#e2e9d0,#f0eddd)}.reviewing-opponent .turn-context .eyebrow{color:#5f713b}.reviewing-opponent .turn-context h2{color:#43572b;font-size:31px}.reviewing-opponent .turn-symbol{border-color:#8c9f66;color:#6d8545;background:#f7f8ed}
.opponent-recap{padding:24px;background:#fffdf4}.recap-action-label{display:flex;align-items:center;gap:10px;color:#596d36;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid #e0ddc9;margin-bottom:23px}.recap-action-label>.icon{width:28px;height:28px}.recap-action-label strong{font:24px var(--serif)}.recap-action-label>span{margin-left:auto;font-size:13px;color:#7e775e}
.recap-hidden-area{display:flex;align-items:center;justify-content:center;gap:30px;padding:8px 0 15px}.recap-hidden-cards{display:flex;gap:12px}.recap-card-back{display:grid;place-items:center;width:90px;height:135px;border:4px solid #eee8d7;outline:1px solid #b1b691;border-radius:7px;background:repeating-linear-gradient(45deg,#77875c 0,#77875c 3px,#7f9063 3px,#7f9063 6px);color:#e2ddba;box-shadow:0 4px 9px #35471c22}.recap-card-back .icon{width:39px;height:39px;stroke-width:1}.recap-hidden-area h3{font:24px var(--serif);font-weight:400;margin:0 0 12px}.recap-hidden-area p{font-size:15px;line-height:1.7;margin:4px 0;color:#716347}.recap-hidden-area .recap-hidden-note{font-size:13px;color:#8c7c5c}
.recap-allocations{display:flex;justify-content:center;gap:22px;align-items:stretch}.recap-recipient{flex:1;max-width:340px;border:1px solid #d6d2bd;border-radius:8px;padding:20px;background:#f5f3e9}.recap-recipient.to-miyabi{border-color:#a8b78b;background:#edf0e1}.recap-recipient.to-you{border-color:#c7a3ad;background:#f5e9eb}.recap-recipient h3{font:23px var(--serif);font-weight:400;margin:0 0 19px;color:#596a38;line-height:1.5}.recap-recipient.to-you h3{color:var(--plum)}.recap-recipient h3>span{display:block;font:13px var(--sans);margin-top:5px;color:#7c725e}.recap-public-cards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.recap-public-cards .small-card{width:91px;height:136px}.recap-board-note{font-size:14px;color:#7c6e52;text-align:center;margin:22px 0 0}
.recap-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e0ddc9;padding-top:22px;margin-top:24px}.recap-footer>p{font-size:14px;line-height:1.6;color:#7c6b4e;margin:0}.recap-footer .primary-button{background:#61763d;border-color:#61763d}.recap-footer .primary-button:hover{background:#4b5f2b}.opponent-recap .offer-zone{padding:0 0 8px}.opponent-recap .offer-choice{border-width:2px;border-color:#b8c19f;background:#f6f7eb}
.offering-count.just-received{border-radius:5px;outline:1px solid #b4a574;background:#eee8c8;color:#66532c}.offering-count.received-by-1{background:#e1e9cb;outline-color:#97a66e;color:#4e6330}.offering-count.received-by-0{background:#f0dfe4;outline-color:#bc8b99;color:#803f51}.received-badge{font-size:12px;font-weight:700;padding:2px 4px;border-radius:4px;background:#fffff8b3}.recently-involved .portrait-card{box-shadow:0 0 0 3px #b3a17277,0 8px 19px #77643133}.ledger-entry.reviewing-entry{background:#e6ecd5;border:1px solid #bbc69e;border-radius:7px;padding:13px 10px;margin-inline:-9px;margin-top:9px;margin-bottom:9px}
@media (max-width:1250px) and (min-width:1081px){.opponent-round-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.recap-allocations{gap:14px}.recap-recipient{padding:16px}.recap-public-cards .small-card{width:79px;height:124px}.recap-footer{flex-wrap:wrap}}
@media (max-width:650px){.opponent-round-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.opponent-action{padding:11px 9px;gap:5px 9px}.opponent-action>span:not(.opponent-action-state){font-size:19px}.opponent-action-state{font-size:12px}.opponent-action>.icon{width:23px;height:23px}.opponent-round-heading{font-size:13px;line-height:1.6}.opponent-last-move{flex-wrap:wrap;gap:5px;padding-block:13px;font-size:14px}.opponent-last-move .text-button{font-size:14px}.reviewing-opponent .turn-context h2{font-size:28px}.opponent-recap{padding:22px 15px}.recap-action-label{gap:9px;padding-bottom:17px;margin-bottom:20px}.recap-action-label strong{font-size:24px}.recap-action-label>span{width:100%;margin-left:0;font-size:13px;line-height:1.6}.recap-hidden-area{flex-direction:column;gap:25px;text-align:center}.recap-hidden-area h3{font-size:25px}.recap-hidden-area p{font-size:15px}.recap-hidden-area .recap-hidden-note{font-size:13px}.recap-allocations{flex-direction:column;align-items:stretch;gap:17px}.recap-recipient{max-width:none;padding:20px}.recap-recipient h3{font-size:25px;text-align:center}.recap-recipient h3>span{font-size:14px}.recap-public-cards .small-card{width:94px;height:141px}.recap-board-note{font-size:14px;line-height:1.7}.recap-footer{flex-direction:column;gap:17px;align-items:stretch;text-align:center}.recap-footer>p{font-size:14px}.recap-footer .primary-button{white-space:normal;line-height:1.6;min-height:50px;font-size:15px}.offering-count.just-received{gap:4px}.received-badge{font-size:12px;padding:2px 3px}.count-pips{gap:1px}.offering-count.just-received .count-pips i{width:6px}}

/* A round ends in three visible steps: secrets, their effect, then final favor. */
.header-round{display:none}
.held-favor{display:flex;align-items:center;gap:4px;left:50%;right:auto;top:43px;bottom:auto;transform:translate(-50%,-50%);padding:4px 7px;border-radius:20px;border:1px solid #fff8;background:#f8efdaed;color:#5b6538;font:12px var(--sans);white-space:nowrap;box-shadow:0 2px 6px #1b211d22;z-index:2}
.held-favor.yours{background:#f6e1e7ed;color:#753247;border-color:#cda3af}.held-favor.theirs{background:#e5eacced;color:#4f612d;border-color:#abb98a}.held-favor .icon{width:13px;height:13px;fill:none;stroke-width:1.2}
.favor-won .portrait-card{animation:favor-glow 800ms ease-out var(--award-delay) both}.favor-won .held-favor{animation:favor-arrive 760ms cubic-bezier(.2,.8,.2,1) var(--award-delay) both}.favor-won-by-0{--award-glow:#bd7b9699}.favor-won-by-1{--award-glow:#91a85d99}
@keyframes favor-arrive{0%{opacity:0;transform:translate(-50%,calc(-50% + var(--award-origin))) scale(.45) rotate(-16deg)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(5deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes favor-glow{0%{box-shadow:0 0 0 0 var(--award-glow);transform:translateY(0)}45%{box-shadow:0 0 0 5px var(--award-glow),0 8px 25px #9c845a44;transform:translateY(-5px)}100%{box-shadow:0 0 0 1px var(--award-glow);transform:translateY(0)}}
.revealing-secrets{border-color:#ae956a;background:#fffaf0}.revealing-secrets .turn-context{background:linear-gradient(110deg,#eee1c8,#f7f1e4)}
.secret-reveal-stage{padding:24px;background:#fffaf0}.secret-reveal-content{display:flex;flex-direction:column;gap:22px}.secret-reveal-cards{display:flex;gap:50px;justify-content:center}.secret-reveal-player{text-align:center}.secret-reveal-player h3{font:23px var(--serif);font-weight:400;margin:0 0 15px}.secret-reveal-player>p{font:19px var(--serif);color:#7a6545;margin:13px 0 0}
.secret-flip{perspective:900px;width:96px;height:143px;margin:auto}.secret-flip-inner{height:100%;width:100%;position:relative;transform-style:preserve-3d}.secret-flip-back,.secret-flip-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:7px}.secret-flip-back{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:repeating-linear-gradient(45deg,#7c6655 0,#7c6655 3px,#866f5c 3px,#866f5c 6px);color:#f0dfb8;border:4px solid #e7d6b6;outline:1px solid #b59b72;box-shadow:0 5px 15px #4e351e22}.secret-flip-back>.icon{width:35px;height:35px;stroke-width:1}.secret-flip-back>span{font:15px var(--serif);letter-spacing:1px}.secret-flip-front{transform:rotateY(180deg)}.secret-flip-front .item-card{width:100%;max-width:none;height:100%;margin:0}.secret-flip.revealed .secret-flip-inner{transform:rotateY(180deg)}.secret-flip.turning .secret-flip-inner{animation:secret-turn 650ms cubic-bezier(.3,.1,.3,1) var(--flip-delay) both}
@keyframes secret-turn{from{transform:rotateY(0) translateY(0)}40%{transform:rotateY(70deg) translateY(-8px)}to{transform:rotateY(180deg) translateY(0)}}
.reveal-totals{padding:16px 20px;background:#eee6d5;border:1px solid #d9c6a2;border-radius:8px}.reveal-totals-heading{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#81653a;margin-bottom:11px}.reveal-total-row{display:grid;grid-template-columns:65px 1fr auto 1fr;gap:12px;align-items:center;font-size:15px;line-height:1.8}.reveal-total-row>strong:first-child{font-weight:600}.reveal-total-row>strong:last-child:not(:first-child){text-align:right;color:#705338}.reveal-score-arrow .icon{width:18px;height:18px;color:#a68b5e}
.reveal-effects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.reveal-effect{border:1px solid #d9cdb7;border-left:3px solid var(--tone);border-radius:6px;padding:16px;background:#fffdf6}.reveal-effect.favor-changed{background:#f6ecd5;border-color:#c9ad70}.reveal-effect-heading{display:flex;align-items:center;gap:8px;color:var(--tone)}.reveal-effect-heading .icon{width:21px;height:21px}.reveal-effect-heading strong{font:23px var(--serif)}.reveal-effect-heading>span{margin-left:auto;color:#84704e;font-size:12px}.reveal-count-change{display:flex;align-items:center;gap:10px;margin-top:12px;color:#6c5b40;font-size:15px}.reveal-count-change>span{font-size:12px;margin-right:auto}.reveal-count-change .icon{width:17px;height:17px}.reveal-effect p{font-size:14px;line-height:1.65;color:#776345;margin:11px 0}.reveal-owner-change{display:flex;align-items:center;gap:9px;font-size:13px;color:#8d7651}.reveal-owner-change .icon{width:15px;height:15px}.reveal-owner-change strong{color:#665032}
.reveal-stage-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid #d9c9aa}.reveal-stage-footer>span{font-size:14px;line-height:1.6;color:#7c6645}.reveal-stage-footer .primary-button{background:#8a6841;border-color:#8a6841}.final-score-label{display:flex;align-items:center;gap:10px;font:25px var(--serif);color:#836a44}.final-score-label .icon{width:30px;height:30px}.result-controls{display:flex;flex-direction:column;align-items:center;gap:12px}.round-result .round-numbers{font-size:16px}.round-result .round-numbers strong{font-size:16px}
@media (max-width:600px){.secret-reveal-stage{padding:23px 15px}.secret-reveal-cards{gap:32px}.secret-reveal-player h3{font-size:22px}.secret-reveal-player>p{font-size:19px}.secret-flip{width:92px;height:139px}.reveal-totals{padding:15px}.reveal-total-row{grid-template-columns:48px 1fr;gap:3px 8px;font-size:14px}.reveal-total-row>strong:last-child:not(:first-child){grid-column:2;text-align:left}.reveal-score-arrow{grid-column:1;text-align:center}.reveal-totals-heading{font-size:12px;line-height:1.6;gap:15px}.reveal-effects{grid-template-columns:1fr;gap:14px}.reveal-effect{padding:17px}.reveal-stage-footer{flex-direction:column;text-align:center;align-items:stretch;gap:17px}.reveal-stage-footer>span{font-size:14px}.reveal-stage-footer .primary-button{font-size:15px;min-height:48px}.final-score-label{font-size:24px;justify-content:center;text-align:center}.round-result .round-numbers,.round-result .round-numbers strong{font-size:15px}.result-controls{align-items:stretch}.round-result>.result-controls{width:100%}}

@media (prefers-reduced-motion:reduce){.secret-flip.turning .secret-flip-inner{transform:rotateY(180deg)}.favor-won .held-favor{opacity:1;transform:translate(-50%,-50%)}.favor-won .portrait-card{transform:none}}

/* Artist identity stays consistent on the board, in hand, and in every offer. */
.portrait-art,.item-art,.artist-detail-art{background-image:url('../public/art/seven-artists-v2.webp');background-size:var(--portrait-size) auto;background-position:var(--portrait) 18%}
.portrait-card{border:2px solid var(--tone);box-shadow:0 3px 5px #58442b14,0 12px 21px -12px #49332555}
.charm-badge{width:auto;min-width:56px;height:32px;top:7px;padding:2px 8px;display:flex;justify-content:center;gap:6px;border:2px solid #fff9ec;border-radius:18px;background:var(--tone);color:#fff;box-shadow:0 2px 7px #15102055;font-family:var(--sans)}
.charm-badge strong{font:800 23px/1 var(--sans);font-variant-numeric:tabular-nums}
.charm-badge .icon{width:17px;height:17px;stroke-width:1.8}
.portrait-caption{bottom:0;padding:7px 2px 8px;background:linear-gradient(transparent,#1c2325f5 17%);border-bottom:5px solid var(--tone);color:#fffaf0}
.portrait-name{font-weight:600;text-shadow:0 1px 3px #0008}
.portrait-item{color:#fff6e8;letter-spacing:0}
.item-card{border:2px solid var(--tone);background:#232b2b;border-radius:7px;box-shadow:0 2px 5px #33252033}
.item-art{opacity:1;border-radius:5px}
.item-wash{background:linear-gradient(transparent 38%,#1a24274d 50%,#172127f5 67%)}
.card-identity-band{position:absolute;left:-1px;right:-1px;top:-1px;height:27px;display:flex;align-items:center;justify-content:space-between;padding:2px 7px;background:var(--tone);color:#fff;border-radius:6px 6px 0 0;border-bottom:1px solid #ffffff55;box-shadow:0 1px 3px #0002}
.card-rank{font:800 22px/1 var(--sans);font-variant-numeric:tabular-nums}
.card-identity-band>.icon{width:18px;height:18px;stroke-width:1.8}
.item-card .item-caption{bottom:7px;padding:0 2px;color:#fffaf0}
.item-card .item-caption strong{font-weight:600;text-shadow:0 1px 2px #0006}
.item-card .item-caption>span{color:#fff0d9;margin-top:2px;letter-spacing:0}
.item-card.selected{outline:2px solid var(--plum);outline-offset:2px}
.small-card .card-identity-band{height:25px;padding-inline:5px}
.small-card .card-rank{font-size:21px}
.small-card .card-identity-band>.icon{width:16px;height:16px}
.small-card .item-caption{bottom:6px}
.artist-detail-art{border:3px solid var(--tone)}

/* Spend space on the cards; keep instructions and scores close to the table. */
.table-round{display:flex;align-items:baseline;gap:14px;padding:14px 0 10px;color:#77674d}
.table-round h1{font:25px/1.2 var(--serif);margin:0;color:var(--ink);letter-spacing:0}
.table-round>span{font-size:13px}
.table-side-label{margin-top:10px}
.offering-count{height:25px}
.favor-line{height:28px}
.player-bar.your-bar{min-height:0;padding:5px 0 8px;gap:14px}
.your-bar .player-identity{min-height:30px}
.your-bar .player-identity>strong{font-size:17px}
.your-bar .score-block{min-width:0;gap:12px}
.your-bar .score-stat{width:auto;flex-direction:row;align-items:baseline;gap:5px}
.your-bar .score-stat strong{font-size:24px;white-space:nowrap}
.your-bar .score-stat>span:not(.progress-track){margin:0;font-size:12px;letter-spacing:0}
.your-bar .progress-track{display:none}
.your-bar .score-or{margin:0}
.play-dock{margin-top:0}
.turn-context{min-height:0;padding:10px 18px;gap:14px;align-items:center}
.context-copy{min-width:0;flex:1}
.turn-context h2,.reviewing-opponent .turn-context h2{font-size:22px;line-height:1.3;margin:0}
.turn-context p{font-size:15px;line-height:1.5;margin:4px 0 0}
.turn-context .cancel-selection{min-height:32px;margin-left:auto}
.dock-content{padding:14px 18px;gap:16px}
.dock-content .section-label{margin-bottom:7px;min-height:25px}
.hand-cards{min-height:0}
.hand-note{margin-top:4px}
.actions-section{padding-top:14px}
.action-footer,.actions-section>.action-footer{margin-top:10px;min-height:42px}
.game-footer{padding-block:10px}
@media (max-width:600px){.table-round{padding-top:12px}.table-round h1{font-size:24px}.turn-context{padding:10px 14px}.turn-context h2,.reviewing-opponent .turn-context h2{font-size:21px}.dock-content{padding:13px 14px}.your-bar .score-block{gap:7px}.your-bar .score-stat{width:auto;gap:4px}.your-bar .score-stat strong{font-size:22px}.your-bar .score-stat strong span{font-size:13px}}

/* Your cards remain in place while the decision below them changes. */
.dock-content{grid-template-columns:minmax(0,1fr)}
.private-cards-row{display:flex;align-items:flex-start;gap:16px;min-width:0}
.private-cards-row .hand-section{flex:1;min-width:0}
.your-secret-section{flex:0 0 110px;border-left:1px solid var(--line);padding-left:16px}
.your-secret-section .section-label{min-height:30px;white-space:nowrap;letter-spacing:0}
.your-secret-card{padding:10px 0 12px}
.your-secret-card .item-card{width:88px;height:134px;max-width:88px;aspect-ratio:auto}
.empty-hand{font-size:14px;color:#77674d;margin:6px 0}
.hand-cards:empty{display:none}
.decision-panel{min-width:0;border-top:1px solid var(--line);padding-top:14px}
.decision-panel>.actions-section{border:0;padding:0}
.decision-panel>.opponent-recap{padding:0}
.decision-panel>.offer-zone,.decision-panel>.split-zone{padding:10px 0}
.decision-panel>.secret-reveal-stage{padding:12px 0}
@media (max-width:600px){.private-cards-row{gap:12px}.your-secret-section{flex-basis:101px;padding-left:12px}}
