:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#eaf1e5;background:#14271f;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0%,#284935 0,transparent 34%),#14271f;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.shell{max-width:1440px;margin:auto;padding:0 32px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}.brand{text-decoration:none;font-weight:800;letter-spacing:-.04em;font-size:23px}.brand-mark{display:inline-grid;place-items:center;background:#dcf36b;color:#173021;border-radius:9px;width:35px;height:35px;margin-right:8px;font-size:29px;vertical-align:-3px}.top-note,.fine{color:#a8bba8;font-size:13px}.landing{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:center;min-height:calc(100vh - 144px)}.eyebrow{color:#d9ee72;font-size:12px;letter-spacing:.16em;font-weight:800}.hero h1{font-size:clamp(52px,6vw,93px);letter-spacing:-.07em;line-height:.98;margin:20px 0 30px}.hero h1 em{font-style:normal;color:#dcf36b}.hero>p:not(.eyebrow){font-size:18px;color:#bdd0bd;line-height:1.65;max-width:610px}.hero-tiles{display:flex;margin-top:54px;padding-left:10px}.hero-tiles .tile{width:110px;height:132px;margin-left:-10px;transform:rotate(-8deg);box-shadow:0 18px 40px #0004}.hero-tiles .tile:nth-child(2){transform:rotate(2deg) translateY(-7px)}.hero-tiles .tile:nth-child(3){transform:rotate(-2deg) translateY(3px)}.hero-tiles .tile:nth-child(4){transform:rotate(9deg) translateY(-8px)}.card-panel{background:#f3f2e9;color:#183125;border-radius:18px;padding:32px;box-shadow:0 24px 60px #0002}.card-panel h2{font-size:27px;letter-spacing:-.04em;margin:0 0 24px}.card-panel label{display:block;font-weight:700;font-size:13px;margin-bottom:17px}.card-panel input:not([type=range]){display:block;width:100%;border:1px solid #c9d2c5;border-radius:9px;background:#fff;padding:13px;margin-top:8px;outline-color:#7d9c39}.card-panel small{font-weight:400;color:#607362;display:block;margin-top:6px}.timer-head{display:flex;justify-content:space-between;font-size:13px;margin-top:25px}.timer-head strong{color:#345b37}input[type=range]{width:100%;accent-color:#426a36;margin:17px 0 20px}.day-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.day-buttons button{border:1px solid #cad5c8;background:#fff;border-radius:8px;padding:10px 3px;font-size:13px;font-weight:700;color:#365240}.day-buttons button.active{background:#285b36;color:#fff;border-color:#285b36}.setup .fine{min-height:25px}.join-code{border-top:1px solid #d9dfd3;margin-top:14px;padding-top:24px}.join-code h2{margin-bottom:16px}.code-row{display:flex;gap:8px;margin-top:8px}.card-panel .code-row input{flex:1;min-width:0;margin-top:0;font-size:20px;font-weight:800;letter-spacing:.3em;text-align:center}.code-row .secondary{background:#fff;border-color:#cad5c8;white-space:nowrap}.code-row .secondary:hover{background:#e2efca}.primary,.secondary{border:0;border-radius:9px;padding:13px 18px;font-weight:800}.primary{background:#d6ec6b;color:#1a3221}.primary:hover{background:#e5f78c}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#ffffff12;color:#eff4e6;border:1px solid #ffffff30}.card-panel .secondary{color:#21432d}.wide{width:100%;display:flex;justify-content:space-between}.error{color:#ffb0a1;min-height:20px}.setup .error,.join-panel .error,.invite-panel .error{color:#a62b19}footer{font-size:12px;color:#8ea38f;padding:30px 0}.hidden{display:none!important}.room{padding:35px 0}.room-header{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:24px}.room-header h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.06em;margin:6px 0}.room-header p{color:#aec1ad}.room-actions{text-align:right}.room-actions .fine{display:block;margin-top:8px}.join-panel,.invite-panel{max-width:450px}.invite-panel{margin-top:16px}.invite-panel .fine{color:#607362;margin:14px 0 0}.waiting-panel{display:flex;gap:20px;align-items:center;max-width:540px}.waiting-panel h2{margin:0 0 8px}.waiting-panel p{margin:0;color:#607362}.pulse{width:20px;height:20px;flex:none;border-radius:50%;background:#9eca34;box-shadow:0 0 0 12px #9eca3425}.scorebar{display:flex;justify-content:space-between;align-items:stretch;gap:15px;margin-bottom:16px}#players{display:flex;gap:12px;flex-wrap:wrap}.player-pill,.turn-box{background:#243f2c;border:1px solid #4c664f;border-radius:11px;padding:11px 18px;min-width:155px}.player-pill.current{border-color:#d6ec6b}.player-pill small,.turn-box span{display:block;color:#aec1ad;font-size:12px}.player-pill strong,.turn-box strong{display:block;font-size:23px;margin-top:3px}.turn-box{text-align:right}.last-move{background:#d6ec6b;color:#1c3422;border-radius:9px;padding:10px 15px;margin-bottom:15px;font-weight:700}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.board-wrap{background:#e9eee3;border-radius:14px;padding:18px;color:#294134;overflow:auto;min-height:580px}.board-head{display:flex;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.12em;margin:0 0 15px}.board{display:grid;gap:3px;width:max-content;margin:auto;background:#bfcbb9;padding:6px;border-radius:9px}.cell{width:52px;height:58px;border:1px solid #b9c9b5;border-radius:5px;background:#f5f7ef;display:grid;place-items:center;padding:0}.cell.empty:hover{background:#e2efca;border-color:#60845d}.cell.occupied{background:transparent;border:0}.tile{background:#fff;border-radius:7px;border:2px solid #d9dfd8;width:50px;height:56px;display:grid;place-items:center;position:relative;font-size:29px;box-shadow:0 3px 5px #0002}.tile small{position:absolute;font-weight:900;font-size:12px;right:4px;bottom:2px}.tile.red{color:#db5e58}.tile.blue{color:#4e89c1}.tile.green{color:#54a678}.tile.yellow{color:#f2b705}.tile.wild{color:#7553a0;background:#faf4ff}.tile.preview{opacity:.65}.tile.recent{background:#dcf5c4;border-color:#8fcf6a}.tile.selected{outline:3px solid #d6ec6b;transform:translateY(-3px)}.side-panel{background:#24412f;border:1px solid #426248;border-radius:14px;padding:19px}.side-section{border-bottom:1px solid #ffffff25;padding-bottom:18px;margin-bottom:18px}.side-section h2,.side-section h3,.rules-mini h3{margin:0 0 9px;letter-spacing:-.03em}.side-section h2{font-size:25px}.side-section h3,.rules-mini h3{font-size:17px}.side-section p{line-height:1.45}.hand{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.hand button{background:none;border:0;padding:2px}.hand button:disabled{opacity:.55}.wild-fields{display:flex;gap:5px}.wild-fields select{min-width:0;width:33%;background:#eef3e9;border:0;border-radius:6px;padding:8px 3px;color:#1c3324}.staged{font-size:13px;color:#d9edce;min-height:22px}.button-row{display:flex;gap:8px}.button-row .primary{flex:1}.text-button{border:0;background:none;color:#d8ea9a;text-decoration:underline;padding:14px 0 0}.rules-mini{font-size:13px;line-height:1.55;color:#b8cab5}.rules-mini a{color:#deef85}.room #room-error{margin-top:15px}@media(max-width:850px){.landing{grid-template-columns:1fr;gap:35px;padding-top:45px}.hero-tiles{display:none}.play-layout{grid-template-columns:1fr}.board-wrap{min-height:unset}.room-header{align-items:flex-start}.shell{padding:0 16px}}@media(max-width:530px){.top-note{display:none}.room-header,.scorebar{flex-direction:column}.room-actions{text-align:left}.cell{width:39px;height:45px}.tile{width:37px;height:43px;font-size:22px}.tile small{font-size:10px}.board-wrap{padding:10px}.hero h1{font-size:51px}}
/* Match the NM home link used across the site. */
.brand-row{display:flex;align-items:center;gap:22px}
.site-home{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.site-home:focus-visible{outline:3px solid #e4c983;outline-offset:5px}
.site-mark{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:26px;letter-spacing:-3px;color:#f5f3ec}
.site-mark span{color:#c9a54e}
.game-title{font-weight:800;letter-spacing:-.04em;font-size:23px}
.move-preview{min-height:42px;margin:12px 0;color:#b8cab5;font-size:13px;line-height:1.4;font-weight:700}
.move-preview.legal{color:#dcf36b}
.move-preview.illegal{color:#ffb0a1}
.tile.preview.legal{opacity:1;border-color:#dcf36b;box-shadow:0 0 0 3px #dcf36b80}
.tile.preview.illegal{opacity:1;border-color:#e95252;background:#fff0ed;box-shadow:0 0 0 3px #e9525280}
.account-panel{margin:24px 0 0;padding:24px 28px}
.account-panel h2{margin:0 0 8px;font-size:23px}
.account-panel h3{margin:20px 0 12px;font-size:16px}
.account-panel p{margin:0 0 12px;color:#607362;font-size:13px;line-height:1.5}
.account-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;max-width:700px}
.account-form label{flex:1 1 240px;margin:0}
.account-form button{flex:none}
.account-panel .fine{min-height:18px;margin:10px 0 0}
.account-panel .error{min-height:18px;margin:5px 0 0;color:#a62b19}
.account-panel #account-message:empty,.account-panel #account-error:empty{display:none}
.account-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}
.account-heading .eyebrow{color:#426a36;margin:0 0 7px}
.account-sign-out{border:0;background:none;color:#426a36;text-decoration:underline;font-weight:700;font-size:12px;padding:7px}
.account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.account-stats>div{background:#fff;border:1px solid #d9dfd3;border-radius:10px;padding:16px}
.account-stats span{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;color:#607362}
.account-stats strong{display:block;font-size:30px;color:#21432d;margin-top:6px}
.account-games{display:grid;gap:8px}
.account-games a{display:flex;justify-content:space-between;gap:15px;background:#fff;border:1px solid #d9dfd3;border-radius:8px;padding:13px 15px;text-decoration:none;color:#21432d;font-size:13px;font-weight:700}
.account-games a:hover{border-color:#426a36;background:#f8fbeF}
.account-games small{color:#607362;font-size:12px;font-weight:500}
@media(max-width:530px){.account-panel{padding:20px}.account-stats{gap:7px}.account-stats>div{padding:10px}.account-stats span{font-size:9px}.account-stats strong{font-size:23px}.account-games a{flex-direction:column;gap:3px}}

.landing{align-items:start;padding-top:52px;padding-bottom:48px}
.hero-tiles{margin-top:28px}
.hero .account-panel{margin-top:42px}
body:not(.account-route) .account-identity{display:none}
.account-expand{display:inline-flex;margin-top:20px;color:#285b36;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.account-page{max-width:1000px;margin:0 auto;padding:44px 0 70px}
.account-page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.account-page-header h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.06em;margin:8px 0}
.account-page-header p:not(.eyebrow){color:#aec1ad;margin:0}
.account-page-header .secondary{text-decoration:none;white-space:nowrap}
.account-route #account-expand{display:none}
.account-route .account-panel{margin:0 0 18px}
.account-history{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.account-history .card-panel{min-width:0}
.account-history h2{margin:0 0 18px}
.account-games a{align-items:center}
.account-games a span{min-width:0}
.account-games a small{text-align:right}
@media(max-width:850px){.landing{gap:28px;padding-top:35px}.hero-tiles{display:flex}.hero-tiles .tile{width:75px;height:92px;font-size:24px}.account-history{grid-template-columns:1fr}}
@media(max-width:530px){.hero-tiles .tile{width:65px;height:80px;font-size:21px}.hero .account-panel{margin-top:30px}.account-page-header{align-items:start;flex-direction:column}.account-games a small{text-align:left}}
