/* Public entry screen. The table retains its independent v4 layout. */
[hidden]{display:none!important}
body.v4{min-height:100svh}
.welcome{position:relative;max-width:1240px;margin:auto;padding:30px 36px 0}
.welcome-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:32px;align-items:center;min-height:520px}
.welcome-copy{padding:24px 0 38px;position:relative;z-index:2}
.release-pill{display:inline-flex;gap:8px;align-items:center;padding:5px 13px;border:1px solid #9bc4a62e;border-radius:30px;background:#233a2a66;color:#b7cdb7;font-size:11px}
.release-pill i{width:6px;height:6px;background:#8ebf8e;border-radius:50%;box-shadow:0 0 12px #86c98b66}
.welcome-eyebrow{color:#c1ae7c;font-size:13px;letter-spacing:.2px;margin:30px 0 12px}
.welcome h1{font-size:clamp(46px,6.3vw,80px);line-height:1.38;letter-spacing:-3px;font-weight:850;margin:0;color:#f0eada}
.welcome h1 em{font-style:normal;color:#e7c57f}
.welcome-intro{font-size:15px;line-height:2.1;color:#aabeaa;margin:20px 0 28px}
.welcome-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.welcome-play,.welcome-install{border-radius:10px;min-height:50px;padding:12px 23px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font:600 14px/1.7 var(--font);cursor:pointer}
.welcome-play{background:linear-gradient(120deg,#eddaa6,#c9a563);color:#1c2c20;box-shadow:0 7px 24px #9d81361b;border:1px solid #dfc080}
.welcome-install{border:1px solid #afc2a637;background:#1b31249c;color:#cdd9c2}
.welcome-play:hover,.welcome-install:hover{filter:brightness(1.12)}
.welcome-note{font-size:11px;min-height:22px;margin:15px 0 0;color:#92a98f}
.welcome-art{position:relative;height:470px;isolation:isolate;border-radius:200px 200px 22px 22px;overflow:hidden;background:linear-gradient(0deg,#0a1f15 7%,#0c1e1499 60%,#0c2214c2),url('assets/arena.png') center/cover;border:1px solid #d3c08d25;box-shadow:0 26px 80px #0003}
.welcome-art:after{content:'';position:absolute;inset:12px;border:1px solid #c6b88520;border-radius:inherit;pointer-events:none;z-index:5}
.welcome-halo{position:absolute;width:270px;height:270px;border:1px solid #cab97a25;border-radius:50%;left:50%;top:25px;transform:translateX(-50%);box-shadow:0 0 80px #bc9e3620,inset 0 0 80px #bc9e360d}
.welcome-halo:before,.welcome-halo:after{content:'';position:absolute;inset:14px;border:1px solid #cab97a12;border-radius:50%}.welcome-halo:after{inset:30px}
.welcome-emblem{position:absolute;top:65px;left:calc(50% - 37px);width:74px;height:74px;color:#e8c980;filter:drop-shadow(0 3px 16px #e7bb4750)}
.welcome-cast{position:absolute;inset:auto 15px 80px;display:flex;direction:rtl;justify-content:center;align-items:end;height:240px}
.welcome-cast>div{width:37%;height:190px;filter:drop-shadow(0 10px 13px #0007);margin:0 -11px}.welcome-cast>div:nth-child(2){height:236px;z-index:2}.welcome-cast svg{width:100%;height:100%;overflow:visible}
.welcome-felt{position:absolute;z-index:3;bottom:-80px;height:230px;left:-20%;right:-20%;border-radius:50%;border:8px solid #3e432d;background:radial-gradient(ellipse at top,#376743,#183c27 65%);box-shadow:0 -5px 0 #bda16447,0 -20px 40px #0002;text-align:center;padding-top:36px;color:#dac082}
.welcome-felt>span{font-weight:800;font-size:30px;letter-spacing:-1px}.welcome-felt small{display:block;font-size:10px;color:#c2c59b}
.welcome-orb{position:absolute;width:19px;height:19px;z-index:4;border-radius:50%;left:calc(50% - 9px);bottom:122px;background:radial-gradient(circle at 30% 25%,#fff4d0,#d6ac51 50%,#6b5425);box-shadow:0 8px 15px #0008,0 0 35px #e0bd5c50}
.welcome-chip{position:absolute;z-index:4;font-size:10px;border:1px solid #cdbb7a44;border-radius:8px;padding:7px 12px;background:#122b20e8;box-shadow:0 6px 18px #0004;color:#d8d4b9}.chip-time{top:183px;right:14px;transform:rotate(4deg)}.chip-milie{top:154px;left:12px;transform:rotate(-5deg)}
.welcome-guide{border-top:1px solid #d7cfaa20;border-bottom:1px solid #d7cfaa20;display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;gap:28px}
.welcome-guide article{display:flex;gap:15px;align-items:start}.welcome-guide b{color:#bda46c;font-size:12px;line-height:28px}.welcome-guide h2{font-size:14px;color:#dfdfc8;font-weight:600}.welcome-guide p{font-size:11px;color:#93aa91;margin:7px 0 0;line-height:1.9}
.welcome-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;color:#839c84;font-size:10px}
.app-status{max-width:1240px;padding:13px 36px 18px;margin:auto;position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 22px;font-size:10px;color:#8da38b}
.app-status>span+span:before{content:'·';margin-left:22px;opacity:.4}.app-status .text-button{font-size:10px;min-height:32px}
.save-notice{position:relative;max-width:720px;margin:0 auto 20px;padding:12px 18px;background:#433b22;border:1px solid #af995f66;border-radius:8px;color:#ecd9aa;font-size:12px}.save-notice button{background:#e3c88e;color:#182819;border-radius:5px;padding:8px 14px;margin-inline:12px}
.host-dialog{font-family:var(--font);color:var(--ivory);background:#10261c;border:1px solid #c5ad7255;border-radius:18px;width:min(570px,calc(100% - 24px));padding:0;max-height:90svh}.host-dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.host-dialog-body{padding:32px;position:relative;overflow:auto}.host-close{position:absolute;top:10px;left:10px;width:40px;height:40px;background:#ffffff08;border-radius:50%;font-size:25px;color:#c7d4bb}.host-dialog h2{font-size:26px}.host-dialog p{color:#aebfa6;font-size:12px;line-height:1.9}.host-dialog label{display:block;font-size:12px;color:#e1cf9d;margin-top:20px}.host-dialog textarea{display:block;width:100%;resize:vertical;max-height:260px;min-height:130px;padding:13px;margin:8px 0 18px;font:13px/1.9 var(--font);color:#ece5cf;background:#061a11;border:1px solid #8da37b55;border-radius:9px}.feedback-actions{display:flex;flex-wrap:wrap;gap:10px}.host-dialog .feedback-note{font-size:10px;color:#96aa8d}.noscript-note{position:fixed;inset:10px 10px auto;padding:20px;background:#42311d;color:#fff;z-index:200}
.at-home #resetButton{display:none}.at-home .topbar{border-bottom-color:#d0c89c18}
@media(max-width:900px){.welcome{padding:20px 24px 0}.welcome-hero{gap:24px;min-height:480px}.welcome-art{height:400px}.welcome-cast{height:220px;bottom:75px}.welcome-cast>div{height:155px}.welcome-cast>div:nth-child(2){height:190px}.welcome-emblem{top:45px}.chip-time{top:155px}.chip-milie{top:122px}.welcome h1{font-size:60px}.welcome-actions{gap:8px}.welcome-play,.welcome-install{font-size:12px;padding:12px 17px;gap:12px}.welcome-guide{gap:18px}.welcome-guide article{gap:10px}.welcome-bottom{align-items:start}.app-status{padding-inline:24px}}
@media(max-width:600px){.welcome{padding:22px 20px 0}.welcome-hero{grid-template-columns:1fr;gap:0}.welcome-copy{padding:0 0 22px}.release-pill{font-size:10px}.welcome-eyebrow{margin:21px 0 9px;font-size:11px}.welcome h1{font-size:52px;line-height:1.3;letter-spacing:-2px}.welcome h1 br{display:none}.welcome-intro{font-size:12px;line-height:2;margin:14px 0 20px}.welcome-actions{display:grid;grid-template-columns:1.2fr 1fr}.welcome-play,.welcome-install{min-height:48px;padding:11px 10px;font-size:12px;gap:10px}.welcome-note{font-size:10px;margin-top:10px}.welcome-art{height:270px;border-radius:110px 110px 16px 16px;margin:0 16px 24px}.welcome-emblem{top:23px;width:45px;height:45px;left:calc(50% - 22px)}.welcome-halo{width:180px;height:180px;top:12px}.welcome-cast{bottom:44px;inset-inline:15px;height:170px}.welcome-cast>div{height:132px}.welcome-cast>div:nth-child(2){height:160px}.welcome-felt{height:150px;bottom:-60px;padding-top:17px;border-width:5px}.welcome-felt>span{font-size:21px}.welcome-felt small{font-size:8px}.welcome-orb{bottom:78px;width:13px;height:13px}.welcome-chip{font-size:8px;padding:5px 8px}.chip-time{top:96px;right:8px}.chip-milie{top:78px;left:8px}.welcome-guide{grid-template-columns:1fr;padding:20px 0;gap:18px}.welcome-guide h2{font-size:13px}.welcome-guide p{font-size:11px;margin-top:3px}.welcome-guide article{gap:14px}.welcome-guide b{min-width:20px}.welcome-bottom{flex-direction:column;gap:6px;font-size:9px;padding-bottom:8px}.app-status{padding:8px 16px 18px;gap:5px 15px;font-size:9px}.app-status>span+span:before{display:none}.app-status .text-button{font-size:10px}.host-dialog-body{padding:29px 20px 20px}.host-dialog h2{font-size:23px}.save-notice{margin:0 10px 14px}}
