:root{--ink:#203b34;--muted:#6c7770;--paper:#f5f3ec;--green:#204f43;--gold:#d8ba76;--line:#dedfd5;--red:#b6483d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #cf8c26;outline-offset:5px}button:disabled{cursor:default;opacity:.4}button{transition:background .18s,transform .18s}.topbar{max-width:1360px;margin:auto;padding:23px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:750;font-size:22px;letter-spacing:-1px;line-height:1.1;position:relative;padding-left:43px}.brand>span:not(.brand-icon){font-weight:400}.brand-icon{position:absolute;left:0;top:0;font-size:36px}.brand small{display:block;font-size:8px;letter-spacing:2.4px;margin-top:8px;font-weight:600}.topbar nav{display:flex;gap:30px;align-items:center;font-size:13px}.topbar nav a{text-decoration:none}.topbar nav a:hover{text-decoration:underline}.text-button{border:0;background:none;color:var(--ink);padding:5px 0;font-size:12px}.text-button:hover{text-decoration:underline}.text-button span{margin-left:8px}main{max-width:1220px;margin:auto;padding:0 32px}.intro{display:flex;justify-content:space-between;align-items:center;padding:40px 0 32px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 8px}.live-dot{display:inline-block;width:6px;height:6px;background:#4e8069;border-radius:50%;margin-right:5px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.17}h1{font-size:48px;letter-spacing:-1.6px;margin:10px 0 12px}h1 em{color:#537562;font-weight:400}.intro p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}.intro-note{text-align:center;transform:rotate(-4deg);padding:0 22px}.intro-note>span{font-size:25px;letter-spacing:9px;color:#ad8253}.intro-note p{font-family:Georgia,serif;font-style:italic;line-height:1.5;margin-top:10px!important}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px}.game-main{background:#fffef9;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 5px 15px #15352a04}.game-toolbar{display:flex;align-items:center;justify-content:space-between;padding:13px 20px}.game-toolbar>div{display:flex;align-items:center;gap:20px}.game-toolbar .eyebrow{margin:0;font-size:9px}.hand-label{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px}.table{position:relative;height:336px;margin:0 10px;background:radial-gradient(ellipse at 50% 40%,#2e6554,#163e35);border-radius:100px;color:#f0e9d7;isolation:isolate;box-shadow:inset 0 0 65px #092b2340}.table:before{content:'♣';position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-size:170px;opacity:.035;z-index:-1}.table-stitch{position:absolute;inset:14px;border:1px solid #cce5cf25;border-radius:95px;pointer-events:none;z-index:-1}.seat{position:absolute;text-align:center;font-size:11px}.seat strong{font-weight:500;font-size:12px}.seat small{display:block;font-size:8px;letter-spacing:1px;color:#b2c8b8}.seat .avatar{display:inline-grid;place-items:center;width:29px;height:29px;border:1px solid #a6bfaa50;border-radius:50%;margin-bottom:3px;background:#163f37;font:italic 15px Georgia}.seat.current .avatar{box-shadow:0 0 0 3px #d8ba7660;border-color:#e4ca8b}.seat.north{top:21px;left:50%;transform:translateX(-50%)}.seat.south{bottom:17px;left:50%;transform:translateX(-50%)}.seat.west{left:27px;top:42%}.seat.east{right:27px;top:42%}.seat.inactive{opacity:.45}.mini-hand{display:flex;justify-content:center;margin-top:5px}.mini-hand i{display:block;width:11px;height:17px;border:1px solid #bdc9af;border-radius:2px;background:repeating-linear-gradient(45deg,#7e9c84,#7e9c84 1px,#42634e 1px,#42634e 3px);margin-left:-3px}.table-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:65%;text-align:center}.trump-label{font-size:9px;font-weight:600;letter-spacing:2px;color:#e2cb90;margin-bottom:9px}.trick-area{display:flex;gap:8px;justify-content:center;align-items:center;min-height:84px}.trick-area .card{width:51px;height:74px;border-radius:5px;font-size:20px;box-shadow:0 3px 9px #0002}.trick-area .card .pip{font-size:25px}.trick-item{position:relative}.trick-item small{font-size:8px;display:block;position:absolute;bottom:-17px;width:100%;color:#c2d5c9}.table-center p{font-size:10px;color:#a9c4b6;margin:15px 0 0;min-height:16px}.card{position:relative;background:#fffcf2;color:#263b36;width:74px;height:104px;border:1px solid #deddd2;border-radius:7px;display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:6px 9px;line-height:1.1;font:24px/1 Georgia,serif;text-decoration:none;box-shadow:0 3px 2px #0000000a;flex-shrink:0}.card.red{color:var(--red)}.card .pip{font-size:37px;position:absolute;right:10px;bottom:9px}.card .bower{position:absolute;bottom:-20px;left:0;width:100%;font:8px system-ui;text-transform:uppercase;letter-spacing:.7px;color:var(--green)}.card:hover:not(:disabled){transform:translateY(-6px);box-shadow:0 7px 10px #18382d16}.card:disabled{opacity:.45;filter:grayscale(.5)}.card.static:hover{transform:none}.hand{display:flex;justify-content:center;gap:9px;padding:13px 0 24px;min-height:145px}.action-area{padding:20px 24px 8px}.turn-row{display:flex;align-items:center;justify-content:space-between}.turn-row h2{font-size:25px;margin:0}.turn-row .eyebrow{font-size:8px;letter-spacing:1.4px;color:#8e7148;margin-bottom:5px}.save-status{color:#88958a;font-size:9px;white-space:nowrap}.status{font-size:12px;color:var(--muted);margin:9px 0 13px;min-height:20px}.actions{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:40px}.primary,.secondary,.suit-button{border:1px solid var(--green);border-radius:5px;padding:9px 17px;font-size:12px;min-height:40px}.primary{background:var(--green);color:#fffcef}.primary:hover{background:#123c30}.secondary{background:transparent;color:var(--green);border-color:#cdd3c5}.secondary:hover{background:#edf0e7}.suit-button{font-size:15px;padding:8px 12px;background:#fffdf4;color:var(--green)}.suit-button.red{color:var(--red)}.alone-choice{font-size:11px;display:flex;align-items:center;gap:6px;padding:6px}.hand-help{text-align:center;font-size:10px;color:#879085;margin:0 0 8px}.hint-text{background:#f2efdf;padding:12px;border-radius:5px;font-size:12px}.sidebar>section{border:1px solid var(--line);border-radius:10px;padding:21px;margin-bottom:17px}.score-panel{background:#faf9f3}.score-grid{display:flex;justify-content:space-around;text-align:center;margin:18px -8px 14px}.score-grid>div{width:50%}.score-grid>div+div{border-left:1px solid var(--line)}.score-grid span{font-size:11px;display:block}.score-grid strong{display:block;font:54px/1.2 Georgia}.score-grid small{font-size:7px;letter-spacing:1px;color:var(--muted)}.score-progress{display:flex;gap:8px;height:3px;background:#e5e7dc;margin-bottom:18px}.score-progress span{background:#668872;max-width:50%;transition:width .4s}.score-progress span+span{background:#bca77f}.tricks-score{display:flex;justify-content:space-between;font-size:10px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.tricks-score b{color:var(--ink)}.tip-panel{background:#e8ecdf}.mini-icon{font-size:25px;color:#7d946e;line-height:1;display:block;margin-bottom:14px}.tip-panel .eyebrow{font-size:8px}.tip-panel h3{font-size:24px;line-height:1.18;margin:8px 0 13px}.tip-panel p:not(.eyebrow){font-size:12px;color:#65725f;line-height:1.8}.tip-panel a{font-size:11px;text-decoration:none;font-weight:600;display:block;margin-top:20px}.tip-panel a span{float:right}.hand-log{border:0!important;padding:5px 4px!important}.hand-log p{font-size:11px;color:var(--muted)}.hand-log .eyebrow{font-size:9px;color:var(--ink)}.log-row{display:flex;justify-content:space-between;font-size:10px;padding:6px 0;border-bottom:1px solid var(--line)}.below{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:36px 0 32px;border-bottom:1px solid var(--line)}.below span{font-size:8px;letter-spacing:1px;color:#8d927f}.below h3{font-size:19px;margin:10px 0}.below p{font-size:11px;color:var(--muted);line-height:1.9;margin:0}footer{max-width:1156px;margin:auto;padding:24px 0;display:flex;gap:24px;align-items:center;font-size:10px;color:var(--muted)}footer p{margin-right:auto}.brand-footer{font:16px Georgia;color:var(--ink)}footer a{text-decoration:none}dialog{border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);max-width:530px;width:calc(100% - 32px);padding:35px;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#102f28b0;backdrop-filter:blur(3px)}dialog h2{font-size:31px;margin:12px 0}dialog p{font-size:14px;color:var(--muted)}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:26px;color:var(--ink)}.dialog-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}.dialog-nav span{font-size:11px;color:var(--muted)}.lesson-cards{display:flex;gap:13px;margin:22px 0 30px;justify-content:center}.quiz{display:flex;gap:8px;flex-wrap:wrap}.quiz-result{min-height:25px!important;color:var(--green)!important}.consent{position:fixed;z-index:10;bottom:18px;left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 28px));background:#fffef8;border:1px solid #c3cfbd;padding:18px 22px;border-radius:10px;box-shadow:0 8px 40px #102f282f;display:flex;align-items:center;gap:12px;font-size:12px}.consent[hidden]{display:none}.consent p{font-size:11px;line-height:1.5;margin:4px 0 0;color:var(--muted)}.consent button{white-space:nowrap}.skip{position:absolute;left:10px;top:-80px;z-index:20;background:#fff;padding:10px}.skip:focus{top:10px}.noscript{padding:30px;text-align:center}.article{max-width:760px;margin:50px auto 70px}.article h1{font-size:42px}.article h2{font-size:28px;margin-top:35px}.article p,.article li{color:#596b60;font-size:15px}.article table{border-collapse:collapse;width:100%;font-size:14px}.article td,.article th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.article .primary{display:inline-block;text-decoration:none;margin-top:15px}.article .callout{padding:20px;background:#e8ecdf;border-radius:8px}.red{color:var(--red)}
@media(max-width:1000px){main{padding:0 22px}.game-layout{grid-template-columns:minmax(0,1fr) 225px;gap:16px}h1{font-size:41px}.card{width:61px;height:90px;font-size:22px}.card .pip{font-size:30px}.hand{gap:7px}.action-area{padding:18px 17px 8px}.save-status{display:none}.sidebar>section{padding:17px}.topbar{padding:20px 24px}footer{padding:24px}.intro-note{padding:0}.table{height:320px;border-radius:75px}.below{gap:24px}}
@media(max-width:730px){.topbar{padding:19px 18px}.brand{font-size:19px;padding-left:35px}.brand-icon{font-size:30px}.brand small{font-size:6px;letter-spacing:2px}.topbar nav{gap:15px}.topbar nav a{display:none}.topbar nav button{font-size:11px}main{padding:0 14px}.intro{padding:27px 4px 24px}.intro h1{font-size:35px;letter-spacing:-1px;line-height:1.12;max-width:300px}.intro p:not(.eyebrow){font-size:12px;max-width:320px}.intro .eyebrow{font-size:8px;letter-spacing:1.1px}.intro-note{display:none}.desktop{display:none}.game-layout{grid-template-columns:1fr;gap:18px}.game-toolbar{padding:10px 14px}.game-toolbar>div{gap:12px}.game-toolbar .eyebrow{font-size:8px}.game-toolbar button{font-size:10px}.hand-label{font-size:10px;padding-left:10px}.table{height:290px;margin:0 6px;border-radius:65px}.table-stitch{border-radius:55px;inset:10px}.seat.west{left:16px}.seat.east{right:16px}.seat.north{top:15px}.seat.south{bottom:12px}.table-center{width:65%}.trump-label{font-size:8px;letter-spacing:1px}.trick-area{gap:5px}.trick-area .card{width:43px;height:64px;padding:5px 6px;font-size:18px}.trick-area .card .pip{font-size:22px;right:7px;bottom:7px}.action-area{padding:17px 14px 6px}.turn-row h2{font-size:23px}.status{font-size:11px;margin:8px 0}.hand{gap:5px;padding-top:15px;min-height:135px}.card{width:56px;height:88px;padding:7px;font-size:21px}.card .pip{font-size:30px;right:8px;bottom:10px}.card .bower{font-size:7px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sidebar>section{margin:0;padding:15px}.score-grid{margin:12px -4px}.score-grid strong{font-size:43px}.score-grid span{font-size:9px}.score-grid small{font-size:6px}.tip-panel h3{font-size:21px}.tip-panel .mini-icon{display:none}.tip-panel p:not(.eyebrow){font-size:10px;line-height:1.7}.tip-panel a{font-size:10px;margin-top:10px}.tricks-score{font-size:9px}.hand-log{grid-column:1/-1;margin:5px 0!important}.below{grid-template-columns:1fr;gap:22px;padding:28px 5px}.below h3{font-size:22px;margin:6px 0}.below p{font-size:12px}.below span{font-size:8px}footer{padding:22px 18px;flex-wrap:wrap;gap:12px 22px}footer p{width:100%;order:4;margin:0}.consent{flex-wrap:wrap;padding:15px;bottom:10px;gap:10px}.consent>div{width:100%}.consent button{flex:1}.article{margin:30px 10px 50px}.article h1{font-size:35px}dialog{padding:27px 24px}.lesson-cards .card{width:62px;height:90px}}
.seat.north .mini-hand{visibility:hidden}.card:disabled{opacity:.65}.hand .card:disabled{border-color:#c8cbbf}
@media(max-width:730px){.hand .card{width:min(50px,calc((100vw - 90px)/6));flex-shrink:1}.hand .card .pip{right:6px}}
@media(max-width:375px){.hand{gap:3px}.hand .card{width:min(46px,calc((100vw - 80px)/6));height:79px;padding:5px;font-size:19px}.hand .card .pip{font-size:25px}}
.friends-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;margin-bottom:22px;border:1px solid #c9d3bd;border-radius:10px;background:#e8ecdf}.friends-banner strong{font:19px Georgia;display:block}.friends-banner span{font-size:11px;color:var(--muted)}.friends-banner a{text-decoration:none;white-space:nowrap}.topbar .friends-nav{font-weight:650}
@media(max-width:730px){.topbar nav .friends-nav{display:block;font-size:11px}.friends-banner{padding:16px;gap:14px;align-items:flex-start}.friends-banner strong{font-size:17px}.friends-banner a{font-size:11px;padding:10px}.friends-banner span{display:block;font-size:10px}.topbar nav{gap:12px}}
.practice-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:20px 0;padding:22px;border:1px solid #c9d3bd;border-radius:12px;background:#edf0e5}.practice-panel h2{font-size:26px;margin:5px 0 8px}.practice-panel p:not(.eyebrow){font-size:12px;color:#576a5b;max-width:570px}.practice-panel a{display:inline-block;text-decoration:none}.play-settings{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px}.play-settings select{font:inherit;padding:8px;border:1px solid #bbc9b9;background:#fffef7;border-radius:5px;color:var(--ink)}.room-settings{justify-content:flex-end;margin:10px 0 18px}.personal-progress{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fffef9}.personal-progress h2{font-size:28px;margin:8px 0 20px}.progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.progress-grid>div{padding:18px;border-radius:8px;background:#e9eee1}.progress-grid b{display:block;font:30px Georgia;overflow-wrap:anywhere}.progress-grid span{display:block;font-size:11px;color:#526353;margin-top:8px}.personal-progress>p:last-child{font-size:12px;color:var(--muted)}.trick-winner .card{outline:3px solid #e0bd75;outline-offset:3px}.owner-page{max-width:1160px;margin:45px auto;padding:0 24px}.owner-page h1{font-size:42px}.owner-page input{padding:10px;border:1px solid #bbc9b9;border-radius:5px;margin:6px 12px 6px 0;font:inherit;max-width:100%}.owner-page .progress-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-page .progress-grid b{font-size:26px}.insight-section{background:#fffef9;padding:24px;border:1px solid var(--line);border-radius:10px;margin:20px 0}.insight-section h2{font-size:26px;margin:0 0 16px}.insight-section p,.report-caveat{font-size:13px;color:#5a6e5e}.table-scroll{overflow:auto}.insight-section table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.insight-section th,.insight-section td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}.insight-section details{padding:10px;border-bottom:1px solid var(--line);font-size:12px}.insight-section summary{cursor:pointer;font-weight:600}.insight-section li{margin:6px 0}
@media(max-width:730px){.practice-panel{display:block;padding:19px}.play-settings{margin-top:18px}.progress-grid,.owner-page .progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.progress-grid>div{padding:14px}.progress-grid b{font-size:26px}.personal-progress{padding:18px}.owner-page{padding:0 16px}.owner-page h1{font-size:32px}.insight-section{padding:17px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.search-intro{margin:-.5rem 0 1.25rem;color:var(--muted);max-width:70ch}.guide-links{display:flex;gap:1rem;flex-wrap:wrap}.card-order{list-style:none;padding:0;display:flex;gap:1rem;flex-wrap:wrap}.card-order li{display:flex;flex:1;min-width:160px;flex-direction:column;gap:.5rem}.mini-card{display:block;width:80px;padding:14px 6px;background:white;border:1px solid var(--line);border-radius:8px;font-size:32px;text-align:center}.suit-red{color:#aa302f}.article .callout h3{margin-top:0}.article table{width:100%}.article th,.article td{padding:.6rem;text-align:left}.article caption{text-align:left;font-weight:600;padding:.5rem 0}@media(max-width:600px){.article{padding-left:20px;padding-right:20px}.card-order li{min-width:120px}.guide-links{font-size:14px}}

/* Baseline controls */
.rule-settings{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.rule-settings label,.feedback-dialog label{display:block;margin-top:12px}.rule-settings small{display:block;max-width:55ch;color:var(--muted)}.rule-settings input{margin-right:8px}.practice-tools{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.practice-actions,#exercise-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.practice-tools button{min-height:44px}.feedback-dialog{max-width:540px;width:calc(100% - 32px)}.feedback-dialog textarea{width:100%;resize:vertical;font:inherit;padding:10px}.feedback-dialog select,.feedback-dialog button{min-height:44px}.feedback-dialog h2{margin-top:0}.seat strong{overflow-wrap:anywhere;max-width:150px;display:inline-block}#room-rules-label,#presence-note,#active-rules{font-size:14px;color:var(--muted)}#player-name{max-width:100%;margin:0 8px 14px;padding:8px;font:inherit}#host-tools button{display:block;margin:8px 0}#room-rules:empty{display:none}.practice-tools summary{cursor:pointer;font-weight:600}
@media(max-width:600px){.practice-actions button,#exercise-list button{flex:1 1 140px}.rule-settings{padding:10px}.seat strong{max-width:95px}.feedback-dialog{max-height:90dvh;overflow:auto}#player-name{display:block;margin-left:0;width:100%}}
