.portal{background:var(--bg);justify-content:center;min-height:100dvh;display:flex}.portal-col{flex-direction:column;width:min(480px,100%);min-height:100dvh;display:flex;position:relative}.portal-head{align-items:center;gap:12px;padding:20px 20px 8px;display:flex}.portal-avatar{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.portal-greet{flex-direction:column;flex:1;min-width:0;display:flex}.portal-greet .display{white-space:nowrap;font-size:24px;line-height:1.1}.portal-greet span:last-child{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.portal-head .btn{flex:none;min-height:34px;padding:6px 12px;font-size:13px!important}.portal-main{flex-direction:column;flex:1;gap:22px;padding:12px 20px 108px;display:flex}.portal-tabs{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);width:min(480px,100%);padding:8px 8px calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.portal-tabs a{color:#7c7c86;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:48px;font-size:11px;text-decoration:none;display:flex}.portal-tabs a[aria-current=page]{color:var(--text);font-weight:700}.p-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:14px;padding:18px;display:flex}.p-label{color:var(--text-2);font-size:13px;font-weight:500}.p-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.p-big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.p-title{letter-spacing:-.01em;font-size:20px;font-weight:700}.p-up{color:var(--growth);font-size:14px;font-weight:600}.p-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.p-stats div{flex-direction:column;gap:2px;display:flex}.p-stats b{font-variant-numeric:tabular-nums;font-size:20px}.p-stats span{color:var(--text-2);font-size:12px}.p-hscroll{scrollbar-width:none;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px;padding:0 20px;display:flex;overflow-x:auto}.p-hscroll::-webkit-scrollbar{display:none}.p-moment{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;flex:0 0 200px;gap:6px;min-height:180px;padding:14px;display:flex}.p-moment .art{background:var(--raised);text-align:center;border-radius:12px;place-items:center;height:92px;padding:6px;font-size:26px;font-weight:700;display:grid;overflow:hidden}.p-moment .art img{object-fit:cover;width:100%;height:100%}.p-moment b{font-size:15px}.p-moment span{color:var(--text-2);font-size:13px}.p-rank{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.p-rank .n{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:13px}.p-rank .c{color:var(--growth);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.p-bar{background:#23232a;border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.p-bar>i{background:var(--chart);border-radius:3px;height:100%;display:block}.p-split{border-radius:5px;gap:2px;height:10px;display:flex;overflow:hidden}.p-split i{height:100%;display:block}.p-legend{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.p-ages{grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:10px;height:110px;display:grid}.p-ages div{height:100%;color:var(--text-2);flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;font-size:12px;display:flex}.p-ages i{background:#3a3a42;border-radius:6px 6px 2px 2px;width:100%;display:block}.p-ages i[data-top=true]{background:var(--accent)}.p-check{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:10px 0;display:grid}.p-check+.p-check{border-top:1px solid var(--line)}.p-check .box{width:24px;height:24px;color:var(--accent-ink);border:2px solid #6b6b75;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.p-check[aria-checked=true] .box{background:var(--growth);border-color:var(--growth)}.p-check[aria-checked=true] .t{color:#8c8c96;text-decoration:line-through}.p-check .t{font-weight:600;display:block}.p-check .w{color:var(--text-2);margin-top:2px;font-size:13px;display:block}.p-check:disabled{cursor:default}.p-chips{flex-wrap:wrap;gap:8px;display:flex}.p-chip{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #3a3a42;border-radius:999px;min-height:40px;padding:8px 14px;font-size:14px}.p-chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.p-cal{grid-template-columns:48px 4px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.p-cal+.p-cal{border-top:1px solid var(--line)}.p-cal .d{flex-direction:column;align-items:center;line-height:1.1;display:flex}.p-cal .d span:first-child{color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.p-cal .d span:last-child{font-size:22px;font-weight:700}.p-cal .strip{border-radius:2px;height:40px}.p-cal .who{flex-direction:column;min-width:0;display:flex}.p-cal .who b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p-cal .who span{color:var(--text-2);font-size:13px}.p-cal .who .tag-chips{display:flex}.p-cal .who .tag-chip{font-size:11px}.p-songs{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p-songs li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.p-songs li+li{border-top:1px solid var(--line)}.p-songs b{overflow-wrap:anywhere;font-weight:600}.p-songs .with{color:var(--text-2);font-size:13px;display:block}.p-songs .st{color:var(--text-2);white-space:nowrap;font-size:12px}.p-songs .st[data-status=in_vault]{color:var(--growth)}.p-cover{object-fit:cover;background:var(--raised);border-radius:12px;flex:none;width:76px;height:76px}.p-rel-pick{color:inherit;font:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;background:0 0;border:0;flex-direction:column;flex:0 0 120px;gap:6px;padding:0;display:flex}.p-rel-pick .p-cover{outline-offset:2px;outline:3px solid #0000;width:120px;height:120px}.p-rel-pick[aria-pressed=true] .p-cover{outline-color:var(--accent)}.p-rel-pick b{font-size:14px}.p-rel-pick span{color:var(--text-2);font-size:12px}.p-story{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px;display:grid}.p-story img,.p-story video{object-fit:cover;background:var(--raised);border-radius:12px;width:120px;height:213px}.p-empty{color:var(--text-2);font-size:14px}.p-draft-tag{color:var(--warn);border:1px dashed color-mix(in srgb, var(--warn) 60%, transparent);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.p-rel-pick[data-draft=true] .p-cover{outline-style:dashed}.p-waiting{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:14px;display:flex}.p-cal[data-draft=true] .strip{background:repeating-linear-gradient(180deg, var(--accent) 0 6px, transparent 6px 10px)!important}.onb{flex-direction:column;gap:18px;width:min(480px,100%);min-height:100dvh;margin:0 auto;padding:20px 20px 28px;display:flex}.onb-top{color:var(--text-2);justify-content:space-between;align-items:center;font-size:13px;display:flex}.onb-top b{color:var(--text);letter-spacing:.12em;font-size:14px}.onb-bars{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.onb-bars i{background:var(--line-strong);border-radius:2px;height:4px}.onb-bars i[data-on=true]{background:var(--accent)}.onb h1{font-family:var(--font-display);margin:8px 0 0;font-size:36px;font-style:italic;font-weight:400;line-height:1.08}.onb-foot{gap:10px;margin-top:auto;padding-top:8px;display:flex}.onb-foot .btn{flex:1;justify-content:center;min-height:50px}.onb-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.onb-photo{aspect-ratio:3/4;background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;text-align:center;border:2px dashed #3a3a42;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:6px;font-size:13px;display:flex;position:relative;overflow:hidden}.onb-photo[data-filled=true]{border:0}.onb-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.onb-photo .tag{color:#fff;background:#0009;border-radius:999px;padding:2px 8px;font-size:11px;position:absolute;bottom:6px;left:6px}.onb-photo .x{color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:50%;width:30px;height:30px;font-size:16px;position:absolute;top:6px;right:6px}.onb-swatches{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.onb-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;outline:2px solid #0000;width:48px;height:48px;padding:0}.onb-swatch[aria-pressed=true]{border-color:var(--bg);outline-color:var(--text)}.onb-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.onb-type{border:2px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;font:inherit;border-radius:14px;flex-direction:column;gap:6px;padding:14px 12px;display:flex}.onb-type[aria-pressed=true]{border-color:var(--accent)}.onb-type .sample{font-size:30px;line-height:1}.onb-type .name{color:var(--text-2);font-size:12px}.onb-net{background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.onb-example{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-size:14px}.lt-grotesk{font-family:Archivo Variable,sans-serif;font-weight:800;font-stretch:62%}.lt-serif{font-family:Fraunces Variable,serif;font-weight:600}.lt-marker{font-family:Permanent Marker,cursive}.lt-type{font-family:Courier Prime,monospace;font-weight:700}.plan-period{border:0;flex-wrap:wrap;gap:16px;margin:0;padding:0;display:flex}.plan-period label{align-items:center;gap:6px;min-height:36px;display:flex}.plan-period input{accent-color:var(--accent);width:18px;height:18px}.plans-list{flex-direction:column;gap:6px;margin:4px 0 0;padding-left:18px;font-size:14px;display:flex}.portal-plan{min-height:30px;padding:4px 10px;font-size:12px}.portal-plan-link{color:var(--accent);font-weight:600;text-decoration:none}.sl-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.sl-item{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:12px;display:grid}.sl-item+.sl-item{border-top:1px solid var(--line);padding-top:14px}.sl-cover{object-fit:cover;background:var(--raised);border-radius:10px;width:56px;height:56px;display:block}.sl-cover.lg{border-radius:12px;flex:none;width:88px;height:88px}.sl-main{flex-direction:column;gap:4px;min-width:0;display:flex}.sl-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sl-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sl-path{overflow-wrap:anywhere;font-size:12px}.sl-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.btn.chip.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.chip.danger{border-color:var(--danger);color:var(--danger)}.sl-confirm{flex-direction:column;gap:4px;margin-top:4px;font-size:14px;display:flex}.sl-note{font-size:14px}.sl-status:empty{margin-top:-14px}.sl-note a,.sl-status a{color:var(--accent)}.sl-form{flex-direction:column;gap:14px;display:flex}.sl-form .input{font-size:16px}.sl-form .input[aria-invalid=true]{border-color:var(--danger)}.sl-form label.field{color:var(--text);font-size:14px}.sl-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:360px){.sl-pair{grid-template-columns:1fr}}.sl-fieldset{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.sl-fieldset legend{margin-bottom:8px;padding:0;font-size:14px}.sl-cover-row{align-items:center;gap:14px;display:flex}.sl-radio{cursor:pointer;align-items:center;gap:8px;min-height:32px;font-size:14px;display:flex}.sl-radio input{width:18px;height:18px;accent-color:var(--accent);margin:0}.sl-errors{border:1px solid var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px}.sl-errors ul{margin:6px 0 0;padding-left:18px}.p-start{align-items:center;gap:12px;min-height:40px;text-decoration:none;display:flex}.p-start-dot{border:2px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:grid}.p-start-dot.on{background:var(--growth);border-color:var(--growth);color:#0c0c0e}.fan-alert-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fan-alert-item{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.fan-alert-item:first-child{border-top:0}.fan-alert-confirm{flex-direction:column;align-items:flex-end;gap:8px;display:flex}
