body[data-screen=entry]>.sidebar,body[data-screen=entry]>main,body[data-screen=lobby]>.sidebar,body[data-screen=lobby]>main{display:none}body:not([data-screen=entry])>#entry-screen,body:not([data-screen=lobby])>#lobby-screen{display:none}.entry-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(ellipse at 10% 0,#e4eee1 0,transparent 55%),#f7f9f3}.entrance-brand{margin:0 0 32px;font-size:36px}.entry-card{width:min(480px,100%);padding:34px 38px 26px;background:#fffffff2;border:1px solid #e2e9da;border-radius:21px;box-shadow:0 15px 60px #31542e08}.entry-suit{font:36px Georgia;color:#739166;margin-bottom:16px}.entry-card h1{font-size:26px;margin:0 0 12px;letter-spacing:-.6px}.entry-intro{color:#96a18d;font-size:12px;line-height:1.8;margin:0 0 30px}.entry-card form label{display:block;font-size:11px;color:#7b8c6f;margin:18px 0 9px}.entry-card input{width:100%;min-width:0;height:44px;border:1px solid #dbe4d2;border-radius:8px;background:#fbfcf8;padding:0 13px;font-size:14px;color:#3a5430}.entry-card input::placeholder{color:#b0b9a5;font-size:12px}.join-row{display:flex;gap:8px}.join-row .button{padding:11px 15px;font-size:11px}.text-button{color:#839873;font-size:11px;padding:14px 0;text-align:left}.text-button:hover{color:#34562a}.entry-separator{border-top:1px solid #e9ede1;text-align:center;margin:16px 0 22px;height:0}.entry-separator span{background:white;color:#b2bca6;font-size:10px;position:relative;top:-9px;padding:0 12px}.solo-entry{display:flex;width:100%;justify-content:flex-start;padding:16px;border:1px solid #dce5d2;background:#f0f5e9;color:#49653b;gap:13px;text-align:left}.solo-entry>span:nth-child(2){flex:1}.solo-entry strong{display:block;font-size:14px;font-weight:600}.solo-entry small{display:block;color:#94a387;font-size:10px;margin-top:6px;font-weight:400}.entry-resume{width:100%;margin:8px 0 0;font-size:11px}.entrance-footnote{margin:28px 0 0;color:#acb7a0;font-size:10px}.lobby-screen{min-height:100vh;padding:28px max(22px,calc((100vw - 1040px)/2));background:#f8faf4}.lobby-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.lobby-top .brand{margin:0;font-size:30px}.lobby-card{max-width:700px;margin:20px auto;background:white;border:1px solid #e1e8d8;border-radius:18px;padding:30px 35px}.lobby-card h1{margin:12px 0 10px;font-size:26px}.lobby-card>p{font-size:12px;color:#92a084}.room-code-display{display:flex;align-items:center;gap:18px;width:100%;background:#eff5e8;border:1px dashed #c7d6b8;border-radius:10px;padding:16px 20px;margin:24px 0;color:#789164}.room-code-display span{font-size:10px}.room-code-display strong{font-size:30px;letter-spacing:6px;font-variant-numeric:tabular-nums;color:#3e5e2d;user-select:all}.room-code-display small{margin-left:auto;font-size:9px;color:#9eae8c}.lobby-seats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lobby-seat{display:flex;gap:10px;align-items:center;border:1px solid #e3e9da;border-radius:9px;min-height:74px;padding:12px}.lobby-seat .avatar{width:32px;height:32px;background:#e7efdf;color:#6e8958;font-size:14px}.lobby-seat strong{font-size:12px;display:block;font-weight:550}.lobby-seat small{color:#9ca98d;font-size:9px;display:block;margin-top:5px}.lobby-seat select{border:1px solid #dce6d0;border-radius:5px;color:#6c8554;background:white;font-size:10px;padding:5px;max-width:110px;margin-left:auto}.lobby-start{width:100%;margin-top:10px;padding:14px}.lobby-hint{line-height:1.9;margin-top:23px}.online-table-info{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3f7ed;border:1px solid #e2ead9;color:#7f936c;padding:9px 13px;border-radius:7px;font-size:10px;margin:0 0 12px}.online-table-info button{color:#527340;text-decoration:underline;font-size:10px}.online-table-info #turn-countdown{font-variant-numeric:tabular-nums}.human-badge{color:#7a9470;background:#edf3e5;border-radius:3px;padding:1px 3px;font-size:7px}.lobby-seat.me{border-color:#aac196;background:#f9fbf5}.entry-card .form-error:empty{display:none}body[data-screen=entry] #toast,body[data-screen=lobby] #toast{left:50%}
@media(max-width:540px){.entry-screen{padding:26px 17px;justify-content:flex-start}.entrance-brand{margin-top:18px;margin-bottom:26px}.entry-card{padding:25px 22px;border-radius:16px}.entry-card h1{font-size:23px}.entry-intro{font-size:11px;margin-bottom:24px}.join-row .button{font-size:10px;padding:10px 12px}.join-row .button .icon{width:13px;height:13px}.lobby-screen{padding:21px 14px}.lobby-top .brand{font-size:26px}.lobby-top .brand-mark{width:30px;height:33px;font-size:27px}.lobby-top .button{font-size:10px;padding:10px 12px}.lobby-card{padding:24px 18px}.lobby-seats{grid-template-columns:1fr}.room-code-display{padding:14px;gap:11px}.room-code-display strong{font-size:28px;letter-spacing:4px}.online-table-info{font-size:9px;padding:8px;gap:7px}.online-table-info button{font-size:9px}.room-code-display small{font-size:8px}}
.player-nickname{display:inline-block;max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-seat>span:nth-child(2){min-width:0}.lobby-seat strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
@media(max-width:540px){.player-nickname{max-width:44px}.seat.self .player-nickname{max-width:58px}.lobby-seat strong{max-width:170px}}
