:root{--sp-navy:#0b1f3a;--sp-blue:#1479e8;--sp-pink:#ec407a;--sp-white:#fff;--sp-bg:#f3f6f9;--sp-border:#dce4ec;--sp-text:#172438;--sp-muted:#68778a;--sp-shadow:0 10px 28px rgba(11,31,58,.08);--sp-radius:18px}.sp-body{margin:0;background:var(--sp-bg);color:var(--sp-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.sp-header{height:64px;background:var(--sp-white);border-bottom:1px solid var(--sp-border);display:flex;align-items:center;padding:0 18px;position:sticky;top:0;z-index:20}.sp-brand{color:var(--sp-navy);font-size:20px;font-weight:800;text-decoration:none;line-height:1}.sp-brand span{color:var(--sp-pink)}.sp-brand small{display:block;font-size:10px;color:var(--sp-muted);font-weight:600;margin-top:5px}.sp-desktop-grid{max-width:1240px;margin:auto}.sp-main{width:min(100%,680px);margin:auto;padding:18px 14px}.sp-page-title h1{font-size:22px;font-weight:800;margin:4px 0 18px}.sp-side{display:none}.sp-card{background:var(--sp-white);border:1px solid var(--sp-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);padding:18px}.sp-foundation{display:flex;align-items:center;gap:14px}.sp-foundation__mark{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,var(--sp-navy),var(--sp-blue));color:#fff;display:grid;place-items:center;font-size:26px;font-weight:900}.sp-foundation h2{font-size:18px;margin:0 0 5px}.sp-foundation p{margin:0;color:var(--sp-muted);font-size:14px}.sp-button{min-height:44px;border:0;border-radius:12px;padding:10px 16px;font-weight:700}.sp-button--primary{background:var(--sp-blue);color:#fff}.sp-button--secondary{background:var(--sp-navy);color:#fff}.sp-avatar{display:inline-grid;place-items:center;border-radius:50%;background:#e9f2ff;color:var(--sp-navy);font-weight:800;overflow:hidden}.sp-avatar img{width:100%;height:100%;object-fit:cover}.sp-avatar--md{width:42px;height:42px}.sp-avatar--lg{width:58px;height:58px;border:3px solid var(--sp-pink);outline:3px solid #fff}.sp-badge{padding:4px 8px;border-radius:999px;font-size:12px}.sp-badge--info{background:#e9f2ff;color:#075ebd}.sp-alert{padding:12px;border-radius:12px;font-size:13px}.sp-alert--info{background:#e9f2ff;color:#075ebd}.sp-chip-row,.sp-story-row{display:flex;gap:10px;overflow:auto;padding:16px 2px}.sp-chip{border:1px solid var(--sp-border);background:#fff;border-radius:999px;padding:8px 14px;white-space:nowrap}.sp-chip.is-active{background:var(--sp-navy);border-color:var(--sp-navy);color:#fff}.sp-story{border:0;background:transparent;display:grid;gap:7px;justify-items:center;min-width:72px;color:var(--sp-text);font-size:12px}.sp-post{min-height:210px}.sp-skeleton span{display:block;height:14px;background:linear-gradient(90deg,#edf1f5,#f8fafc,#edf1f5);background-size:200% 100%;animation:sp-shimmer 1.2s infinite;border-radius:8px;margin:12px 0}.sp-skeleton span:first-child{height:48px;width:48px;border-radius:50%}.sp-skeleton span:last-child{height:110px}.sp-empty{text-align:center;padding:50px 20px}.sp-empty__icon{font-size:48px;color:var(--sp-blue)}.sp-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--sp-border)}.sp-bottom-nav a{display:grid;place-items:center;color:var(--sp-muted);text-decoration:none;font-size:28px;min-width:44px;min-height:44px}.sp-bottom-nav a.is-active{color:var(--sp-blue)}@keyframes sp-shimmer{to{background-position:-200% 0}}@media(min-width:960px){.sp-body{padding-bottom:0}.sp-header{padding-left:calc((100% - 1200px)/2)}.sp-desktop-grid{display:grid;grid-template-columns:220px minmax(0,680px) 260px;gap:24px;padding:28px 20px}.sp-main{padding:0;width:auto}.sp-side{display:block;position:sticky;top:92px;height:max-content;background:#fff;border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:18px}.sp-side p{color:var(--sp-muted);font-size:13px}.sp-bottom-nav{position:sticky;bottom:auto;width:560px;margin:20px auto;border:1px solid var(--sp-border);border-radius:18px;height:58px;box-shadow:var(--sp-shadow)}}
