@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Outfit:wght@300;400;500;600&display=swap";.bottom-nav{z-index:50;padding:.55rem 0 calc(.55rem + env(safe-area-inset-bottom));background:#111111e7;border-top:1px solid #222;justify-content:space-around;align-items:center;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:#555;letter-spacing:.06em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.22rem;padding:.25rem 1.2rem;font-size:.65rem;text-decoration:none;transition:color .16s;display:flex}.nav-item svg{width:1.35rem;height:1.35rem}.nav-item.is-active{color:#fff}.nav-item:hover{color:#bbb}.post-page{max-width:860px;margin:0 auto;padding:1.8rem 1.35rem 3rem}.post-shell{box-shadow:var(--shadow);background:#414141b8;margin:2rem 0}.post-back{justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.post-media{background:#f7efe6;width:100%;height:auto;display:block}.post-content{padding:1.15rem}.post-meta{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.post-author{align-items:center;gap:.6rem;display:flex}.post-author-avatar{object-fit:cover;border-radius:50%;width:2.2rem;height:2.2rem}.post-title{margin:0;font-family:Cormorant Garamond,serif;font-size:1.9rem;line-height:.9}.post-description{color:#fff;margin:0;line-height:1.6}.post-text{text-align:center;justify-content:center;align-items:center;min-height:220px;padding:2rem;font-size:clamp(1.25rem,2vw,2rem);line-height:1.4;display:flex}.grid-card{background:#727272c1;border-radius:0;align-self:start;height:fit-content;overflow:hidden;box-shadow:0 12px 26px #29201614}.grid-card.is-editable{touch-action:none}.grid-card.grid-card-text{box-shadow:none;background:0 0}.grid-card-body{display:block}.grid-card-link{color:inherit;display:block}.grid-card-link.is-disabled{pointer-events:none}.grid-card img{object-fit:contain;background:#545454e2;width:100%;height:auto;display:block}.grid-card p{margin:0;padding:.95rem}.text-post{text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-backdrop-filter:blur(16px)saturate(115%);backdrop-filter:blur(16px)saturate(115%);background:linear-gradient(#b8b9ea40,#fffaf41a),radial-gradient(circle at 0 0,#b8b9ea40,#0000 42%);border:1px solid #ffffff47;justify-content:center;align-items:center;min-height:80px;padding:2.8rem 2.2rem;font-size:clamp(1.12rem,1.8vw,1.55rem);line-height:1.5;display:flex;position:relative;box-shadow:inset 0 1px #ffffff59,0 14px 30px #36291d0d}.text-post:before,.text-post:after{color:#b8b7b680;pointer-events:none;font-family:Cormorant Garamond,serif;font-size:2rem;line-height:1;position:absolute}.text-post:before{content:"“";top:.7rem;left:.9rem}.text-post:after{content:"”";bottom:.35rem;right:.9rem}.delete-btn{color:#7d4339;cursor:pointer;background:#fff8f6;border:1px solid #dcc7bf;border-radius:999px;justify-content:center;align-items:center;width:2.15rem;height:2.15rem;margin:.5rem .7rem .85rem;display:inline-flex}.delete-confirm-backdrop{z-index:200;background:#16120e5c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-confirm-modal{border:1px solid var(--line);min-width:260px;box-shadow:var(--shadow);background:#0b0b0b;border-radius:0;flex-direction:column;gap:.95rem;padding:1.1rem 1.25rem;display:flex}.delete-confirm-msg{color:var(--ink);margin:0;font-size:.95rem}.delete-confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.delete-confirm-btn{cursor:pointer;border:1px solid var(--line);width:2.2rem;height:2.2rem;color:var(--accent);background:#fffaf4;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.delete-confirm-btn.danger{color:#7d4339;background:#fff8f6;border-color:#dcc7bf;border-radius:999px}.profile-page{min-height:calc(100vh - 64px);padding-bottom:80px}.profile-header{text-align:center;flex-direction:column;align-items:center;padding:2.2rem 1rem 1.4rem;display:flex}.avatar-wrap{width:fit-content;margin-bottom:1rem;position:relative}.avatar{object-fit:cover;background:#222;border:2px solid #333;border-radius:50%;width:88px;height:88px}.avatar-placeholder{color:#ccc;letter-spacing:0;background:#2a2a2a;border:2px solid #333;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:600;display:flex}.avatar-edit-btn{width:1.65rem;height:1.65rem;color:var(--soft-ink);cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:999px;justify-content:center;align-items:center;transition:background .14s,border-color .14s;display:inline-flex;position:absolute;bottom:-.1rem;right:-.1rem}.avatar-edit-btn:hover{color:#fff;background:#383838;border-color:#666}.profile-identity{flex-direction:column;align-items:center;gap:.35rem;display:flex}.profile-name-row{align-items:center;gap:.4rem;display:flex}.profile-name-row h1{letter-spacing:.02em;color:#fff;margin:0;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:400}.profile-post-count{letter-spacing:.12em;color:#888;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:500}.profile-bio{color:#999;max-width:300px;margin:0;font-size:.88rem;line-height:1.5}.username-edit-btn{width:1.5rem;height:1.5rem;color:var(--soft-ink);cursor:pointer;opacity:.5;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;transition:opacity .14s,border-color .14s,background .14s;display:inline-flex}.username-edit-btn:hover{opacity:1;border-color:var(--line-strong);background:#2a2a2a}.profile-header-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.color-edit-btn{border:1px solid var(--line-strong);width:2.2rem;height:2.2rem;color:var(--accent);cursor:pointer;background:#2a2a2a;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.owner-tools{padding:0 1rem}.profile-divider{background:#ffffff4c;height:1px;margin:.6rem}.color-palette{flex-wrap:wrap;gap:.6rem;display:flex}.color-swatch{cursor:pointer;border:1px solid #ffffff26;border-radius:999px;width:2.2rem;height:2.2rem;box-shadow:inset 0 0 0 1px #ffffff14}.color-swatch.is-active{border-color:#fff;transform:scale(1.1)}.color-modal-backdrop{z-index:60;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.color-modal{border:1px solid var(--line-strong);width:min(560px,100%);box-shadow:var(--shadow);background:#1e1e1e;border-radius:1.1rem;padding:1rem}.username-modal{width:min(420px,100%)}.color-modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.color-modal-header h3{margin:0}.custom-color-panel{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.custom-color-header-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.custom-color-header-row h4{margin:0}.custom-color-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.custom-color-input{border:1px solid var(--line-strong);background:#2a2a2a;border-radius:.8rem;width:3rem;height:3rem;padding:.2rem}.custom-color-note{margin-bottom:0}.premium-pill{color:#aaa;background:#2a2a2a;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;font-weight:600}.grid-section{max-width:980px;margin:0 auto}.grid-wrap{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:8px;align-items:start;gap:.9rem;display:grid}.spinner{vertical-align:middle;border:3px solid #eee;border-top-color:#888;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.create-tabs{justify-content:center;margin-bottom:1.5rem;display:flex}.create-tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1.1rem;transition:color .2s,border-bottom .2s;display:flex}.create-tab.active{color:#222;border-bottom:2px solid #343434;font-weight:700}.create-form{background:#111;border-radius:1.2rem;flex-direction:column;gap:1.5rem;max-width:420px;margin:2rem auto;padding:2rem 2.5rem 2.5rem;display:flex;box-shadow:0 2px 16px #00000012}.create-form .primary-btn{color:#fff;cursor:pointer;z-index:1;background:#272727;border:none;border-radius:10%;outline:none;justify-content:center;align-items:center;width:56px;min-width:56px;height:56px;min-height:56px;padding:0;font-size:1.6rem;font-weight:700;transition:background .18s,box-shadow .18s,transform .12s;display:flex;position:relative}.create-form .primary-btn:active{transform:scale(.96);box-shadow:0 2px 8px #007aff1f}.create-form .primary-btn:focus-visible{box-shadow:0 0 0 3px #aee6ff}.create-form .primary-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:#b0b0b0}.create-form .primary-btn .arrow{color:#fff;justify-content:center;align-items:center;margin-left:0;font-size:2.1rem;display:flex}.create-form .primary-btn-wrapper{justify-content:flex-end;display:flex}.create-form .primary-btn:disabled{opacity:.6;cursor:not-allowed}.create-form .arrow{margin-left:.5rem;font-size:1.3rem;transition:transform .2s}.create-form .primary-btn:active .arrow{transform:translate(4px)}.discover-page{max-width:980px;margin:0 auto;padding:.9rem 1rem 5.5rem}.discover-panel{min-height:calc(100vh - 6.6rem)}.discover-title{letter-spacing:.01em;margin:.15rem 0 1rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.1rem,6.1vw,3.2rem);font-weight:600}.discover-search input{color:#a6a6a6;background:#181818;border-color:#242424;border-radius:0;width:100%;padding:.8rem 1.15rem;font-size:1.05rem}.discover-search input::placeholder{color:#878787}.discover-empty,.discover-status{text-align:center;color:#9b9b9b;letter-spacing:.03em;margin-top:8.5rem;font-family:Cormorant Garamond,serif;font-size:1.75rem}.discover-status{margin-top:2rem;font-family:Outfit,sans-serif;font-size:1rem}.discover-results{gap:.7rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.discover-result-card{border:1px solid var(--line);background:#161616;border-radius:.9rem;align-items:center;gap:.8rem;padding:.65rem;transition:border-color .14s;display:flex}.discover-result-card:hover{border-color:#4d4d4d}.discover-result-card img,.discover-result-avatar{object-fit:cover;border-radius:999px;flex:none;width:2.8rem;height:2.8rem}.discover-result-avatar{color:#e9e9e9;background:#2a2a2a;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.discover-result-username{color:#e5e5e5;margin:0;font-size:.98rem}.discover-result-bio{color:#9b9b9b;margin:.1rem 0 0;font-size:.86rem}@media (width<=640px){.discover-page{padding-inline:.8rem}.discover-empty,.discover-status{margin-top:7rem}}.landing{max-width:980px;margin:0 auto;padding:2.25rem 1.35rem 3.5rem}.hero-card{border:1px solid var(--line);box-shadow:var(--shadow);background:radial-gradient(circle at 85% 18%,#07070780,#0000 38%),#1b1b1bed;border-radius:1.4rem;padding:2.1rem;animation:.46s rise}.hero-card h1{margin:.5rem 0 .9rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,5vw,4.1rem);line-height:.94}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--soft-ink);margin:0;font-size:.72rem}.mono{color:#4f493f;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.hero-actions{flex-wrap:wrap;gap:.55rem;margin-top:1.15rem;display:flex}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.95rem;display:grid}.feature-grid article{border:1px solid var(--line);background:#2c2c2ccc;border-radius:0;padding:1.1rem;animation:.65s rise}.feature-grid h3{margin:0;font-family:Cormorant Garamond,serif;font-size:1.35rem}.feature-grid p{color:var(--soft-ink);margin-bottom:0;line-height:1.45}@media (width<=860px){.feature-grid{grid-template-columns:1fr}}@media (width<=560px){.hero-card{padding:1.2rem}}.login-screen{background:radial-gradient(circle at 50% 18%,#ffffff0d,#0000 45%),#050607;place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.login-shell{justify-items:center;gap:1.15rem;width:min(560px,100%);display:grid}.login-brand{letter-spacing:.015em;color:#f3f0eb;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,9vw,4.2rem);line-height:.92}.login-tagline{color:#9ba3ad;letter-spacing:.22em;margin:0;font-size:.78rem}.login-mode-switch{background:#ffffff0a;border:1px solid #ffffff29;border-radius:999px;margin-top:.4rem;padding:.2rem;display:inline-flex}.login-mode-tab{color:#9ba3ad;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:6.7rem;padding:.46rem .9rem;font-size:.74rem}.login-mode-tab.active{color:#f3f0eb;background:#ffffff1f}.login-field{color:#9ba3ad;text-transform:uppercase;letter-spacing:.1em;gap:.52rem;width:min(480px,100%);font-size:.74rem;display:grid}.login-field input{color:#f3f0eb;background:#040608eb;border:1px solid #ffffff24;border-radius:.2rem;padding:.78rem .84rem}.login-google-frame{background:#07090bcc;border:1px solid #ffffff26;border-radius:.12rem;width:min(480px,100%);padding:.9rem}.google-block{justify-content:center;width:100%;display:flex}.google-btn-wrap{background:linear-gradient(120deg,#ffffff24,#ffffff0a);border-radius:999px;width:min(420px,100%);padding:.2rem;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 8px 24px #00000073}.google-btn-wrap>div{border-radius:999px;overflow:hidden}.google-btn-wrap.is-disabled{opacity:.58}.google-btn-wrap.is-disabled>div{pointer-events:none}.google-btn-blocker{cursor:not-allowed;background:0 0;border:0;border-radius:999px;position:absolute;inset:0}.login-terms{text-align:center;color:#8a939f;max-width:460px;margin:.1rem 0 0;font-size:.82rem;line-height:1.55}.login-terms a{color:#b9c0ca;text-underline-offset:.18em;text-decoration:underline}@media (width<=560px){.login-screen{padding:1.5rem .7rem}.login-shell{gap:.95rem}.login-tagline{letter-spacing:.15em;font-size:.72rem}.login-google-frame{padding:.65rem}}:root{--bg:#111;--paper:#1a1a1a;--ink:#f0ece8;--soft-ink:#888884;--line:#2c2c2c;--line-strong:#444;--surface:#1a1a1af0;--accent:#c8c0b8;--danger:#e06060;--shadow:0 16px 40px #0009}*{box-sizing:border-box}body{color:var(--ink);letter-spacing:.01em;background:radial-gradient(circle at 50% 18%,#ffffff0d,#0000 45%),#050607;min-height:100vh;margin:0;font-family:Outfit,sans-serif}a{color:inherit;text-decoration:none}#root{min-height:100vh}.page-wrap{max-width:980px;margin:0 auto;padding:2rem 1.35rem 3.2rem}.panel{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow);border-radius:1.1rem;padding:1.2rem}.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.stack{gap:.9rem;display:grid}.field{text-transform:uppercase;letter-spacing:.08em;color:var(--soft-ink);gap:.5rem;font-size:.86rem;display:grid}input,textarea,select,button{font:inherit}input,textarea,select{border:1px solid var(--line);color:var(--ink);background:#1e1e1e;border-radius:.85rem;padding:.72rem .82rem}input:focus,textarea:focus,select:focus{border-color:var(--line-strong);outline:none;box-shadow:0 0 0 3px #64646433}.primary-btn,.secondary-btn,.ghost-btn,.tab{border:1px solid var(--line-strong);width:2.4rem;height:2.4rem;color:var(--accent);cursor:pointer;background:#2a2a2a;border-radius:999px;justify-content:center;align-items:center;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.primary-btn svg,.secondary-btn svg,.ghost-btn svg,.tab svg,.icon-btn svg,.icon-link svg,.avatar-edit-btn svg,.username-edit-btn svg,.color-edit-btn svg,.delete-btn svg,.delete-confirm-btn svg{width:1rem;height:1rem}.primary-btn{border-color:var(--line-strong);color:var(--ink);background:#333}.secondary-btn{background:#222}.ghost-btn{background:0 0}.full{width:100%}.icon-btn,.icon-link{border:1px solid var(--line-strong);width:2.4rem;height:2.4rem;color:var(--accent);background:#2a2a2a;border-radius:999px;justify-content:center;align-items:center;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.icon-btn:hover,.icon-link:hover,.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.tab:hover{background:#333;border-color:#666;transform:translateY(-1px)}.icon-btn:disabled,.primary-btn:disabled,.secondary-btn:disabled,.ghost-btn:disabled,.tab:disabled{opacity:.48;cursor:not-allowed}.notice{color:var(--soft-ink);margin:.3rem 0;font-size:.88rem}.text-post-input{text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;resize:vertical;background:#1e1e1e;border:1px solid #64646466;min-height:180px;padding:1.2rem;font-size:clamp(1.1rem,2vw,1.65rem);line-height:1.35}.text-post-input::placeholder{color:#666}.color-option-stack{gap:.75rem;display:grid}.color-palette-inline{flex-wrap:wrap;gap:.6rem;display:flex}.color-swatch-btn{cursor:pointer;border:1px solid #1113122e;border-radius:999px;width:2.2rem;height:2.2rem;padding:0;box-shadow:inset 0 0 0 1px #ffffff8c}.color-swatch-btn.is-active{border-color:#111312;transform:scale(1.08)}.custom-color-inline{letter-spacing:.08em;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.custom-color-inline input[type=color]{border-radius:.8rem;width:3rem;height:3rem;padding:.2rem}.color-option-note{margin:0}.error-text{color:var(--danger);margin-top:.5rem}.status-note{max-width:980px;color:var(--soft-ink);margin:1rem auto 0}.toast-stack{z-index:1200;pointer-events:none;gap:.65rem;width:min(92vw,360px);display:grid;position:fixed;top:1rem;right:1rem}.toast-item{pointer-events:auto;border:1px solid var(--line-strong);box-shadow:var(--shadow);background:#151515f5;border-radius:.82rem;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.72rem .78rem;animation:.18s rise;display:flex}.toast-item p{color:var(--ink);margin:0;font-size:.9rem;line-height:1.4}.toast-info{border-color:#4b5563}.toast-success{border-color:#22c55e}.toast-error{border-color:#ef4444}.toast-close{width:1.35rem;height:1.35rem;color:var(--ink);cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;flex:none;line-height:1}.muted{color:var(--soft-ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.split{grid-template-columns:1fr}}
