label{display:block;font-size:14px;margin:12px 0 6px}input{width:100%;font:16px -apple-system,BlinkMacSystemFont,sans-serif;color:#191919;background:#fff;min-height:50px;padding:12px;border:1px solid #ccc;border-radius:9px}input:focus{outline:2px solid #555;outline-offset:1px}.connection{font-size:13px;color:#666;margin-bottom:16px}.error{font-size:14px;padding:12px;border:1px solid #777;border-radius:8px;background:#f5f5f5}.mode-picker{display:flex;gap:9px;margin-top:18px}.mode-picker button{flex:1;min-height:75px;background:white;padding:10px 5px;font-size:15px}.mode-picker button span{display:block;font-size:12px;color:#666;margin-top:5px}.mode-picker button[aria-pressed=true]{background:#222;color:white;border-color:#222}.mode-picker button[aria-pressed=true] span{color:#ddd}.join-box{border-top:1px solid #ddd;margin:28px 0;padding-top:20px}#recent button{width:100%;margin-top:8px;font-size:14px;background:white;text-align:left;padding:12px}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.room-heading span{font-size:12px;color:#777}.room-id{font:13px monospace;color:#777;letter-spacing:2px}.players{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.player{padding:12px;border:1px solid #ddd;border-radius:9px;min-width:0;overflow-wrap:anywhere}.player.active{border:2px solid #222;background:#f2f2f2}.player b{font-size:16px;display:block}.player span{display:block;font-size:12px;color:#777}.turn-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #ddd;margin:20px 0 10px;padding-bottom:10px}.turn-strip b{font-size:17px}#timer{font:25px ui-monospace,monospace;white-space:nowrap}#timer.urgent{font-weight:800;text-decoration:underline;text-underline-offset:6px}#room-note{min-height:24px}#own-secret{margin:16px 0;font-size:14px}#own-secret summary{min-height:44px;cursor:pointer;display:flex;align-items:center}#my-secret{font:25px ui-monospace,monospace;letter-spacing:4px}#input-label{font-size:14px}.input-display{height:80px;display:flex;align-items:center;justify-content:center;font:42px ui-monospace,monospace;letter-spacing:8px;background:#fafafa;border:1px solid #ccc;border-radius:12px;margin-bottom:12px}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.keypad button{height:52px;font-size:24px}.keypad .edit{font-size:14px;background:white}.guess-row{padding:12px 8px;border-bottom:1px solid #ddd;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;font-size:14px}.guess-row strong{font:23px monospace;letter-spacing:3px}.guess-row small{display:block;font-size:12px;color:#777;overflow-wrap:anywhere}.guess-row .feedback{text-align:right;font-size:14px}.guess-row.mine{background:#f5f5f5}#revealed p{overflow-wrap:anywhere}#ready-panel{margin-top:16px}.multiplayer-banner{display:block;background:#191919;color:#fff;border-radius:14px;padding:22px;text-decoration:none;margin-bottom:25px}.multiplayer-banner .eyebrow{color:#ccc}.multiplayer-banner h2{font-size:22px;margin:6px 0}.multiplayer-banner p{color:#ddd;font-size:14px;margin:0}.multiplayer-banner b{display:block;margin-top:16px;font-size:14px}.section-label{font-size:15px;color:#666;margin:24px 0 12px}
select{width:100%;min-height:50px;padding:10px;border:1px solid #ccc;border-radius:8px;background:white;color:#191919;font:16px sans-serif}.join-details,details#invite{margin:22px 0}summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font-size:14px}.players{grid-template-columns:repeat(2,minmax(0,1fr))}.player b{font-size:14px}.player{padding:10px}.player .host-badge{font-size:11px;border:1px solid #aaa;border-radius:4px;display:inline-block;padding:0 5px;margin-top:5px}.hand-title{font-size:15px;margin:16px 0 10px}.hand{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 20px}.playing-card{position:relative;min-width:48px;width:calc((100% - 35px)/6);height:74px;min-height:60px;background:white;border:1px solid #aaa;border-radius:7px;font:21px Georgia,serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:0 2px 0 #ddd}.playing-card small{font-size:20px}.playing-card.dark-suit{color:#111}.playing-card.light-suit{color:#666}.playing-card[aria-pressed=true]{background:#222;color:white;transform:translateY(-6px);border:2px solid #111}.playing-card:disabled{background:#f8f8f8;color:#888}.playing-card.back-card{background:repeating-linear-gradient(45deg,#222 0,#222 3px,#444 3px,#444 5px);color:white;font:16px monospace;border:3px double #eee}.playing-card.legal-card{border:2px solid #222}.sevens-wrap{overflow-x:auto;margin:15px 0}.sevens-row{display:grid;grid-template-columns:20px repeat(13, minmax(22px,1fr));gap:2px;min-width:340px;margin:3px 0}.sevens-cell{height:33px;display:grid;place-items:center;border:1px solid #ddd;border-radius:3px;font:12px monospace;color:#ccc}.sevens-cell.played{background:#333;border-color:#333;color:white}.stone-score{display:flex;justify-content:space-between;margin:12px 0;font-size:14px}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;background:#333;border:3px solid #333;border-radius:5px}.square{aspect-ratio:1;min-height:0;padding:0;border:0;border-radius:1px;background:#ddd;display:grid;place-items:center;position:relative}.square:disabled{background:#ddd}.stone{width:78%;height:78%;border-radius:50%;display:block;box-shadow:0 1px 3px #0005}.stone.black{background:#111}.stone.white{background:#fff;border:1px solid #999}.square.legal:after{content:'';width:19%;height:19%;border-radius:50%;background:#999}.square.flipped .stone{animation:flip .35s ease}.dice{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.die{width:48px;height:48px;border:1px solid #aaa;border-radius:9px;display:grid;place-items:center;font:24px monospace;background:#fafafa}.bid-controls{display:flex;gap:10px}.bid-controls label{flex:1}.room-actions{display:flex;gap:8px;margin:22px 0}.room-actions button{flex:1;font-size:13px}#revealed .show-hand{border-bottom:1px solid #ddd;padding:12px 0}.outcome{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:#ffffffdf;backdrop-filter:blur(4px);pointer-events:none;overflow:hidden}.outcome-card{text-align:center;z-index:2;background:#fff;border:2px solid #222;border-radius:20px;padding:35px 25px;box-shadow:0 15px 70px #0002;min-width:250px}.outcome-card .mark{font:70px Georgia,serif;display:block;line-height:1.2}.outcome-card h2{font-size:28px;margin:12px 0}.outcome-card p{font-size:14px;color:#666}.outcome.loss{background:#eeeeeeed}.confetti{position:fixed;left:50%;top:45%;width:7px;height:12px;background:#222;pointer-events:none;z-index:1}.section-label{margin-top:25px}@keyframes flip{0%{transform:scaleX(1)}50%{transform:scaleX(.1)}100%{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.square.flipped .stone{animation:none}}@media(max-width:350px){.playing-card{min-width:44px;height:66px}.hand{gap:5px}.players{gap:5px}.player b{font-size:13px}}
.sevens-table{display:grid;grid-template-columns:repeat(13,minmax(25px,1fr));gap:3px;min-width:380px}.sevens-table .playing-card{width:auto;min-width:0;min-height:38px;height:38px;font:12px Georgia,serif;box-shadow:none}.sevens-table .empty{opacity:.18}.playing-card{transition:transform .16s ease,background .16s ease;flex-shrink:0}.playing-card.selected{transform:translateY(-6px);background:#222;color:#fff}.playing-card.joker{font-size:11px}.playing-card:disabled{opacity:1}.playing-card.selected:disabled{background:#222;color:#fff}#revealed .playing-card{display:inline-flex;width:48px;margin:3px}#clear,#erase{font-size:14px}.outcome{pointer-events:auto}.guess-row{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.playing-card{transition:none}}
