.world-app{--world-header-height:61px;--world-eco-height:34px}
.world-app .wp-panel{top:calc(var(--world-header-height) + var(--world-eco-height) + 12px);max-height:calc(100vh - var(--world-header-height) - var(--world-eco-height) - 24px)}
.app{display:grid;grid-template-columns:minmax(72px,260px) minmax(0,600px) minmax(0,350px);justify-content:center;gap:0;min-height:calc(100vh - var(--world-eco-height) - var(--world-header-height))}
.rail{position:sticky;top:var(--world-header-height);align-self:start;height:calc(100vh - var(--world-header-height));display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-right:1px solid var(--line)}
.rail-nav{display:flex;flex-direction:column;gap:2px}
.rail-nav a{display:flex;align-items:center;gap:16px;padding:10px 14px;border-radius:999px;color:var(--txt);text-decoration:none;font-size:19px;width:fit-content}
.rail-nav a:hover,.rail-nav a.active{background:var(--btn)}
.rail-nav a.active b{font-weight:800}
.rail-nav span{font-size:22px;width:26px;text-align:center}
.rail-post{margin-top:10px;border-radius:999px;padding:13px 0;font-size:16px;width:100%;max-width:220px}
.column{border-right:1px solid var(--line);min-width:0;width:100%;margin:0;padding:0;max-width:none}
.col-head{position:sticky;top:var(--world-header-height);z-index:4;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.col-title{display:flex;align-items:center;gap:14px;padding:12px 16px}
.col-title h1{margin:0;font-size:20px}
.col-title small{display:block;color:var(--mut);font-size:13px;font-weight:400}
.col-title .back{font-size:20px;text-decoration:none;color:var(--txt);padding:4px 10px;border-radius:50%}
.col-title .back:hover{background:var(--btn)}
.tabs-row{display:flex}
.tabs-row button{flex:1;padding:14px 0;background:none;border:0;border-bottom:3px solid transparent;color:var(--mut);font:inherit;font-weight:600;cursor:pointer}
.tabs-row button:hover{background:var(--btn)}
.tabs-row button[aria-selected=true]{color:var(--txt);border-bottom-color:var(--gold)}
.pad{padding:24px 16px}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--btn);object-fit:cover;flex:none}
.avatar.big{width:96px;height:96px;border:4px solid var(--bg)}
.avatar.small{width:32px;height:32px}
.composer{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.composer textarea{width:100%;min-height:96px;resize:vertical;border:0;background:none;color:var(--txt);font-family:inherit;font-size:19px;line-height:1.4;outline:none}
.composer textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.composer-hint{margin:8px 0 12px}
.composer-status{margin:10px 0 0;overflow-wrap:anywhere}
.composer-status:empty{display:none}
.composer button:disabled{opacity:.5;cursor:not-allowed}
.empty-intro h2{font-size:22px;margin:0 0 10px}
.empty-intro p{margin:10px 0 16px}
.post.example-post,.post.example-post:hover{cursor:default;background:color-mix(in srgb,var(--panel) 40%,transparent)}
.example-post .badge{margin-left:0}
.composer-body{flex:1;min-width:0}
.composer-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:10px}
.composer-bar .count{color:var(--mut);font-size:13px}.composer-bar .count.over{color:var(--bad)}
.composer.reply{background:color-mix(in srgb,var(--panel) 60%,transparent)}
.connect-prompt{padding:18px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
#newBanner button{width:100%;padding:12px;background:var(--panel);border:0;border-bottom:1px solid var(--line);color:var(--gold);font:inherit;font-weight:600;cursor:pointer}
.post{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);cursor:pointer}
.post:hover{background:color-mix(in srgb,var(--panel) 55%,transparent)}
.post.focus{cursor:default;display:block}.post.focus:hover{background:none}
.post.ancestor{padding-bottom:0;border-bottom:0}
.post-main{flex:1;min-width:0}
.post-meta{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.post-meta b{color:var(--txt)}.post-meta a{color:var(--mut);text-decoration:none}.post-meta a:hover{text-decoration:underline}
.post-text{white-space:pre-wrap;word-break:break-word;margin:2px 0 8px;font-size:15.5px;line-height:1.45}
.post.focus .post-text{font-size:21px}
.post-note{color:var(--mut);font-size:13px;margin:0 0 4px 56px;padding-top:8px}
.post-actions{display:flex;gap:6px;max-width:420px;justify-content:space-between;margin-left:-8px}
.act{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:0;border-radius:999px;background:none;color:var(--mut);font:inherit;font-size:13px;cursor:pointer}
.act:hover{background:var(--btn);color:var(--gold)}
.act.on.like{color:#f4517a}.act.on.repost{color:var(--ok)}
.act:disabled{opacity:.5;cursor:default}
.removed{color:var(--mut);font-style:italic;padding:14px 16px;border-bottom:1px solid var(--line)}
.profile-banner{height:120px;background:linear-gradient(120deg,var(--glow),var(--gold) 140%)}
.profile-head{padding:0 16px 12px;border-bottom:1px solid var(--line)}
.profile-head .avatar.big{margin-top:-48px}
.profile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.profile-top .btn{margin-top:10px;border-radius:999px}
.profile-head h2{margin:6px 0 0;font-size:20px}
.profile-counts{display:flex;gap:16px;color:var(--mut);margin-top:8px}.profile-counts b{color:var(--txt)}
.badge{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);font-size:11px;margin-left:6px}
.side{position:sticky;top:var(--world-header-height);align-self:start;padding:12px 16px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - var(--world-header-height));overflow:auto}
#searchInput{width:100%;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--txt);font:inherit}
.side-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.side-card h2{font-size:19px;margin:0 0 10px}
.side-card dl{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:0;font-size:14px}.side-card dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.suggest{display:flex;align-items:center;gap:10px;padding:8px 0}
.suggest .who{flex:1;min-width:0;display:flex;flex-direction:column}
.suggest .who a{color:var(--txt);text-decoration:none;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.side-foot{padding:0 6px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:30;background:var(--gold);color:var(--on-accent);padding:10px 18px;border-radius:999px;font-weight:600;box-shadow:0 6px 24px #0008}
.toast.err{background:var(--bad);color:#fff}
.modal{position:fixed;inset:0;z-index:20;background:#000a;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh}
.modal-box{background:var(--bg);border:1px solid var(--line);border-radius:16px;width:min(600px,94vw);box-shadow:0 20px 60px #000a}
@media (max-width:1100px){.app{grid-template-columns:72px minmax(0,600px)}.side{display:none}.rail-nav b{display:none}.rail-post{font-size:0;width:48px;height:48px;padding:0}.rail-post::before{content:"✎";font-size:20px}}
@media (max-width:640px){.world-header nav{gap:12px}.app{grid-template-columns:minmax(0,1fr)}.rail{position:fixed;bottom:0;left:0;right:0;top:auto;z-index:8;height:auto;flex-direction:row;justify-content:space-around;align-items:center;background:var(--bg);border-right:0;border-top:1px solid var(--line);padding:4px}.rail-post{display:none}.rail-nav{flex-direction:row}.rail-nav a{padding:8px 10px}.column{padding-bottom:64px;border-right:0}}
.world-app .eco-bar{border-color:var(--line)}
.app{width:100%;max-width:1280px;margin-inline:auto;background:var(--panel)}
.rail{border-right-color:var(--line)}
.rail-nav a{font-size:16px;font-weight:600;transition:background .16s ease,color .16s ease}
.rail-nav a.active{color:var(--gold)}
.rail-nav a span{font-size:20px}
.rail-nav a svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rail-post{box-shadow:0 7px 18px color-mix(in srgb,var(--gold) 18%,transparent)}
.column{background:var(--panel)}
.post{transition:background .16s ease}
.post:hover{background:color-mix(in srgb,var(--btn) 58%,transparent)}
.side-card{box-shadow:0 10px 28px #20233708}
#searchInput{transition:border-color .16s ease,box-shadow .16s ease}
#searchInput:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 15%,transparent)}
.side-card h2{letter-spacing:-.02em}
@media (max-width:640px){
  .app{background:var(--bg)}
  .rail{box-shadow:0 -8px 24px #2023370a}
  .rail-nav a{font-size:0}
}
.getting-started{padding:20px 20px 36px}
.getting-started[hidden]{display:none}
.welcome-hero{padding:8px 4px 20px}
.welcome-eyebrow{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.05em;margin:0 0 10px}
.welcome-hero h2{font-size:clamp(32px,5vw,48px);line-height:1.15;letter-spacing:-.04em;margin:8px 0 16px}
.welcome-hero p,.welcome-card p{color:var(--mut);line-height:1.65}
.welcome-island{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;margin:12px 0}
.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}
.welcome-card{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.welcome-card h2{font-size:21px;margin:0 0 10px}
.welcome-card .btn{margin-top:6px}
.welcome-steps{padding-left:22px;margin:16px 0}
.welcome-steps li{padding:8px 0}
.welcome-steps p{margin:6px 0}
.welcome-skip{display:inline-block;margin-top:18px;font-size:13px}
#profileSetup{scroll-margin-top:calc(var(--world-header-height) + 64px)}
.inline-profile button{padding:10px 14px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--btn);color:var(--txt);font:inherit;cursor:pointer}
.inline-profile button:disabled{opacity:.55;cursor:wait}
.inline-profile .wp-primary{display:block;width:100%;margin-top:14px;background:var(--gold);color:var(--on-accent);font-weight:700}
.inline-profile .wp-link{background:transparent;border:0;color:var(--gold)}
.inline-profile .wp-field input{min-width:0;width:100%;min-height:44px}
.inline-profile .wp-hint{display:block;margin-top:6px}
.inline-profile .wp-status[data-kind=error]{color:var(--bad)}
.world-app .world-header{flex-wrap:wrap;gap:10px}
.world-app .world-header nav{flex-wrap:wrap}
@media(max-width:640px){
  .getting-started{padding:18px 12px 32px}
  .welcome-card{padding:16px}
  .welcome-island{max-height:190px}
  .rail-nav{width:100%;justify-content:space-around}
  .rail-nav a{padding:10px 6px;border-radius:10px;min-width:44px;justify-content:center}
  .inline-profile .wp-avatar-row{align-items:flex-start;flex-wrap:wrap}
  .world-app .top{padding:10px 12px}
  .world-app .world-header nav{gap:8px}
  .world-app .world-header nav a{font-size:12px}
}
