:root{--crimson: #a51c30;--crimson-deep: #7a0e1c;--crimson-bright: #c8324a;--crimson-ink: #4f0a14;--gold: #d9a441;--gold-soft: #ebcb86;--gold-deep: #a97a22;--bg: #f7f2e9;--bg-2: #f1e9db;--surface: #fffdf9;--surface-2: #faf6ee;--surface-3: #f4ecdf;--line: #e9dfcd;--line-soft: #f0e8da;--ink: #1a1a20;--ink-2: #3d3a37;--ink-muted: #736d64;--ink-faint: #9a9287;--ok: #12795e;--ok-bg: #e7f5ef;--warn: #a8690a;--warn-bg: #fdf2dd;--danger: #b3261e;--danger-bg:#fdecea;--info: #1f5f8b;--info-bg: #e8f2f9;--radius: 16px;--radius-lg: 22px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(60, 40, 20, .06), 0 2px 8px -4px rgba(60, 40, 20, .1);--shadow: 0 10px 30px -18px rgba(60, 40, 20, .45), 0 2px 6px -3px rgba(60, 40, 20, .12);--shadow-lg: 0 30px 70px -40px rgba(60, 30, 20, .55), 0 8px 24px -16px rgba(60, 40, 20, .25);--ring: 0 0 0 4px rgba(165, 28, 48, .13);--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}[hidden],.hidden{display:none!important}.font-display{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--crimson);outline-offset:2px;border-radius:6px}::selection{background:var(--crimson);color:#fff}body.portal *::-webkit-scrollbar{width:10px;height:10px}body.portal *::-webkit-scrollbar-track{background:transparent}body.portal *::-webkit-scrollbar-thumb{background:#ddd0ba;border-radius:99px;border:3px solid transparent;background-clip:content-box}body.portal *::-webkit-scrollbar-thumb:hover{background:#c9b898;background-clip:content-box}body.portal{min-height:100vh;background:radial-gradient(60% 42% at 100% 0%,rgba(165,28,48,.07),transparent 62%),radial-gradient(52% 46% at 0% 100%,rgba(217,164,65,.1),transparent 62%),linear-gradient(180deg,#faf7f1 0%,var(--bg-2) 100%);background-attachment:fixed}.shell{width:100%;max-width:1220px;margin:0 auto;padding:0 20px}.stack{display:flex;flex-direction:column;gap:22px}.btn{--btn-bg: var(--surface);--btn-fg: var(--ink-2);--btn-bd: var(--line);display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.62rem 1.05rem;border-radius:12px;border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn .ico{font-size:1.05em;line-height:1}.btn .arw{transition:transform .2s var(--ease)}.btn:hover:not(:disabled) .arw{transform:translate(3px)}.btn-primary{--btn-fg: #fff;--btn-bd: transparent;background:linear-gradient(135deg,var(--crimson-bright),var(--crimson) 55%,var(--crimson-deep));box-shadow:0 10px 24px -14px #a51c30e6,inset 0 1px #fff3}.btn-primary:hover:not(:disabled){box-shadow:0 16px 32px -14px #c8324af2,inset 0 1px #ffffff47}.btn-gold{--btn-fg: #43310c;--btn-bd: transparent;background:linear-gradient(135deg,var(--gold-soft),var(--gold));box-shadow:0 10px 24px -16px #a97a22e6,inset 0 1px #fff6}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--crimson-deep);--btn-bd: var(--line)}.btn-ghost:hover:not(:disabled){--btn-bg: var(--surface-3);--btn-bd: #e0d2b8}.btn-quiet{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--ink-muted);box-shadow:none!important}.btn-quiet:hover:not(:disabled){--btn-bg: var(--surface-3);--btn-fg: var(--ink)}.btn-danger{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--ink-faint);box-shadow:none!important}.btn-danger:hover:not(:disabled){--btn-fg: var(--danger);--btn-bg: var(--danger-bg)}.btn-sm{padding:.4rem .75rem;font-size:.8rem;border-radius:10px}.btn-lg{padding:.85rem 1.5rem;font-size:1rem;border-radius:14px}.btn-block{width:100%}.btn-icon{padding:.5rem;width:38px;height:38px;border-radius:11px}.field{display:flex;flex-direction:column;gap:7px}.field>.label,.label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.field .help{font-size:.8rem;color:var(--ink-faint);line-height:1.5;margin:0}.input,.select,.textarea{width:100%;border:1px solid #e3d8c6;border-radius:12px;padding:.72rem .85rem;font-size:.94rem;background:var(--surface-2);color:var(--ink);transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}.textarea{resize:vertical;min-height:96px;line-height:1.6}.input::placeholder,.textarea::placeholder{color:#b8ab94}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--crimson);background:#fff;box-shadow:var(--ring)}.input:disabled,.select:disabled,.textarea:disabled{background:#efe9de;color:var(--ink-faint);cursor:not-allowed}.input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 4px #b3261e1f}.select{appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23736d64' stroke-width='1.6' stroke-linecap='round'><path d='M4 6.5 8 10.5 12 6.5'/></svg>");background-repeat:no-repeat;background-position:right .8rem center;background-size:16px;cursor:pointer}.input-wrap{position:relative;display:block}.input-wrap .input{padding-right:3rem}.input-wrap .reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;padding:.4rem .5rem;border-radius:8px;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.input-wrap .reveal:hover{color:var(--crimson);background:var(--surface-3)}.filedrop{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1.5px dashed #ddd0b7;background:var(--surface-2);transition:border-color .2s var(--ease),background .2s var(--ease)}.filedrop:hover,.filedrop.is-over{border-color:var(--crimson);background:#fff}.filedrop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.filedrop .fd-ico{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#a51c301f,#d9a44129);font-size:1.2rem}.filedrop .fd-text{min-width:0}.filedrop .fd-text b{display:block;font-size:.9rem;color:var(--ink)}.filedrop .fd-text span{display:block;font-size:.78rem;color:var(--ink-faint);margin-top:2px}.img-preview{display:flex;align-items:center;gap:14px;margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}.img-preview img{flex:none;width:64px;height:44px;object-fit:cover;border-radius:9px;border:1px solid var(--line);background:var(--surface-3)}.img-preview .ip-text{min-width:0;flex:1}.img-preview .ip-text b{display:block;font-size:.88rem;color:var(--ink)}.img-preview .ip-text .help{margin-top:2px}.check{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--ink-2);cursor:pointer;padding:.45rem .6rem;border-radius:10px;transition:background .15s var(--ease)}.check:hover{background:var(--surface-3)}.check input[type=checkbox],.check input[type=radio]{flex:none;width:18px;height:18px;margin:0;accent-color:var(--crimson);cursor:pointer}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px}fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:26px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.card-head h2,.card-head h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;font-size:1.32rem;margin:0;color:var(--ink)}.card-head p{margin:5px 0 0;font-size:.9rem;color:var(--ink-muted);max-width:62ch;line-height:1.55}.card-head .head-actions{display:flex;gap:8px;flex-wrap:wrap}.card.gilded:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.8}.chip{display:inline-flex;align-items:center;gap:.4em;padding:.22rem .6rem;border-radius:999px;font-size:.74rem;font-weight:600;line-height:1.5;background:var(--surface-3);color:var(--ink-2);border:1px solid var(--line);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-crimson{background:#fbeef0;color:var(--crimson-deep);border-color:#f2d9dd}.chip-gold{background:#fdf4e2;color:#7d5a13;border-color:#f2e2c0}.chip-ok{background:var(--ok-bg);color:var(--ok);border-color:#cfe9df}.chip-warn{background:var(--warn-bg);color:var(--warn);border-color:#f2e2bf}.chip-danger{background:var(--danger-bg);color:var(--danger);border-color:#f7d5d2}.chip-info{background:var(--info-bg);color:var(--info);border-color:#d3e5f0}.badge-admin{display:inline-flex;align-items:center;gap:.35em;padding:.2rem .6rem;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5c400a;background:linear-gradient(135deg,var(--gold-soft),#f6e2b4);border:1px solid #e8cf94}.avatar{position:relative;flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--surface-3);display:grid;place-items:center;font-weight:700;color:#fff;font-size:.95rem;overflow:hidden}.avatar-ring{position:relative;flex:none;display:inline-grid;place-items:center;padding:2px;border-radius:50%;background:linear-gradient(135deg,var(--gold-soft),var(--crimson) 55%,var(--crimson-deep))}.avatar-ring>.avatar{box-shadow:0 0 0 2px var(--surface)}.presence-dot{position:absolute;right:1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:#2fae7f;box-shadow:0 0 0 2.5px var(--surface)}.presence-dot.off{background:#bdb5a8}.topbar{position:sticky;top:0;z-index:40;background:#fcf9f3d1;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;gap:16px;height:68px}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);flex:none}.brand-mark{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#fff;border:1px solid rgba(235,203,134,.7);box-shadow:0 6px 16px -10px #1f1a178c}.brand-mark img{width:auto;height:28px;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text b{font-size:.98rem;font-weight:700;letter-spacing:.01em}.brand-text span{font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-top:3px}.topbar-spacer{flex:1}.usermenu{position:relative;flex:none}.usermenu-btn{display:flex;align-items:center;gap:.6rem;padding:5px 12px 5px 5px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:box-shadow .18s var(--ease),border-color .18s var(--ease)}.usermenu-btn:hover{box-shadow:var(--shadow-sm);border-color:#e0d2b8}.usermenu-btn .um-name{font-size:.86rem;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usermenu-btn .um-caret{color:var(--ink-faint);font-size:.7rem}.usermenu-pop{position:absolute;right:0;top:calc(100% + 10px);z-index:50;min-width:250px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .16s var(--ease),transform .16s var(--ease)}.usermenu.open .usermenu-pop{opacity:1;transform:none;pointer-events:auto}.usermenu-pop .um-head{padding:10px 12px 12px;border-bottom:1px solid var(--line-soft);margin-bottom:6px}.usermenu-pop .um-head b{display:block;font-size:.92rem}.usermenu-pop .um-head span{display:block;font-size:.78rem;color:var(--ink-muted);margin-top:2px;word-break:break-all}.usermenu-pop button,.usermenu-pop a{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;border:0;border-radius:10px;background:transparent;text-align:left;text-decoration:none;font-size:.89rem;font-weight:500;color:var(--ink-2);cursor:pointer}.usermenu-pop button:hover,.usermenu-pop a:hover{background:var(--surface-3)}.usermenu-pop .um-danger{color:var(--crimson-deep)}.usermenu-pop .um-danger:hover{background:var(--danger-bg);color:var(--danger)}.tabs-rail{position:relative}.tabs{display:flex;gap:4px;padding:5px;border-radius:15px;background:#ffffffb3;border:1px solid var(--line);box-shadow:inset 0 1px 2px #3c28140a;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-btn{position:relative;display:inline-flex;align-items:center;gap:.5em;padding:.5rem .95rem;border:0;border-radius:11px;background:transparent;color:#7c4048;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}.tab-btn .tab-ico{font-size:1rem;line-height:1}.tab-btn:hover{background:var(--surface-3);color:var(--crimson-deep)}.tab-btn[aria-selected=true]{background:linear-gradient(135deg,var(--crimson),var(--crimson-deep));color:#fff;box-shadow:0 8px 18px -10px #a51c30cc,inset 0 1px #fff3}.tab-btn .tab-count{min-width:20px;padding:0 .35em;border-radius:999px;font-size:.68rem;font-weight:800;line-height:18px;text-align:center;background:#00000012;color:inherit}.tab-btn[aria-selected=true] .tab-count{background:#ffffff38}.tab-panel{animation:panelIn .32s var(--ease)}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:30px 32px;color:#f7efe4;background:radial-gradient(110% 130% at 0% 0%,rgba(210,61,84,.55),transparent 58%),radial-gradient(80% 120% at 100% 100%,rgba(217,164,65,.28),transparent 60%),linear-gradient(140deg,var(--crimson-deep),var(--crimson) 48%,var(--crimson-ink));box-shadow:var(--shadow-lg);border:1px solid rgba(235,203,134,.25)}.page-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(1.5px 1.5px at 18% 30%,rgba(235,203,134,.9),transparent),radial-gradient(1px 1px at 68% 62%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 44% 82%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 88% 22%,rgba(255,255,255,.55),transparent);background-repeat:no-repeat}.page-hero>*{position:relative;z-index:1}.page-hero .kicker{display:inline-flex;align-items:center;gap:.55em;font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}.page-hero .kicker:before{content:"";width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.page-hero h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-size:clamp(1.6rem,3.4vw,2.1rem);margin:.7rem 0 0;color:#fff}.page-hero p{margin:.6rem 0 0;font-size:.96rem;line-height:1.6;color:#f7efe4cc;max-width:60ch}.page-hero .hero-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.page-hero .hero-stats{display:flex;gap:26px;margin-top:20px;flex-wrap:wrap}.page-hero .hero-stats b{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:#fff;line-height:1}.page-hero .hero-stats span{display:block;margin-top:5px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#f7efe499}.toolbar{display:grid;gap:10px;grid-template-columns:minmax(200px,2fr) repeat(auto-fit,minmax(150px,1fr));align-items:center}.search-wrap{position:relative}.search-wrap .input{padding-left:2.5rem}.search-wrap .s-ico{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:.95rem;pointer-events:none}.result-count{font-size:.82rem;color:var(--ink-muted)}.result-count b{color:var(--ink);font-weight:700}.empty{display:grid;place-items:center;text-align:center;padding:54px 24px;border-radius:var(--radius);border:1.5px dashed var(--line);background:#ffffff80}.empty .e-ico{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;margin-bottom:14px;background:linear-gradient(135deg,#a51c301a,#d9a44129);border:1px solid var(--line)}.empty h4{margin:0;font-size:1rem;font-weight:700;color:var(--ink)}.empty p{margin:6px 0 0;font-size:.88rem;color:var(--ink-muted);max-width:46ch;line-height:1.6}.empty .btn{margin-top:18px}.skeleton{border-radius:10px;background:linear-gradient(90deg,#efe7d9 25%,#f7f1e6 37%,#efe7d9 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.sk-card{height:268px;border-radius:var(--radius)}.sk-row{height:78px;border-radius:var(--radius)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}#toast-stack{position:fixed;z-index:200;right:18px;bottom:18px;display:flex;flex-direction:column-reverse;gap:10px;max-width:min(400px,calc(100vw - 36px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastIn .3s var(--ease)}.toast.leaving{animation:toastOut .25s var(--ease) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translate(20px) scale(.97)}}.toast .t-ico{flex:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:.78rem;color:#fff}.toast .t-body{min-width:0;font-size:.88rem;line-height:1.5;color:var(--ink-2)}.toast .t-body b{display:block;color:var(--ink);font-weight:700;margin-bottom:1px}.toast .t-close{flex:none;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:1rem;line-height:1;padding:2px 4px;border-radius:6px}.toast .t-close:hover{color:var(--ink);background:var(--surface-3)}.toast.ok{border-left:3px solid var(--ok)}.toast.ok .t-ico{background:var(--ok)}.toast.error{border-left:3px solid var(--danger)}.toast.error .t-ico{background:var(--danger)}.toast.info{border-left:3px solid var(--info)}.toast.info .t-ico{background:var(--info)}.toast.warn{border-left:3px solid var(--warn)}.toast.warn .t-ico{background:var(--warn)}.alert{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:12px;font-size:.86rem;line-height:1.5;border:1px solid var(--line);background:var(--surface-3);color:var(--ink-2)}.alert.error{background:var(--danger-bg);border-color:#f5d3d0;color:#8f1f19}.alert.ok{background:var(--ok-bg);border-color:#cfe9df;color:#0d5f4a}.alert.warn{background:var(--warn-bg);border-color:#f0dfb9;color:#7a4c07}.alert.info{background:var(--info-bg);border-color:#d3e5f0;color:#17506f}.sysbar{display:flex;align-items:center;gap:10px;justify-content:center;padding:9px 16px;font-size:.82rem;font-weight:600;background:var(--warn-bg);color:#7a4c07;border-bottom:1px solid #f0dfb9}.sysbar button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font-weight:700}.modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px;background:#1a120e80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .2s var(--ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);animation:modalIn .3s var(--ease)}@keyframes modalIn{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.modal-card.sm{max-width:440px}.modal-card.lg{max-width:780px}.modal-card.xl{max-width:980px}.modal-pad{padding:28px}.modal-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.modal-head h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;font-size:1.35rem;margin:0;color:var(--ink);flex:1}.modal-head p{margin:5px 0 0;font-size:.88rem;color:var(--ink-muted);line-height:1.55}.modal-close{position:absolute;right:14px;top:14px;z-index:3;width:34px;height:34px;border-radius:10px;border:0;background:#ffffffb3;color:var(--ink-muted);font-size:1.25rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .18s var(--ease),color .18s var(--ease)}.modal-close:hover{background:var(--surface-3);color:var(--ink)}.modal-foot{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid var(--line-soft)}.modal-scroll{overflow-y:auto;max-height:min(62vh,620px);padding-right:4px}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-main{flex:1;display:grid;place-items:center;padding:34px 20px 50px}.auth-card{display:grid;grid-template-columns:1.05fr 1fr;width:100%;max-width:1000px;border-radius:26px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg)}.auth-showcase{position:relative;overflow:hidden;padding:48px 44px;display:flex;align-items:center;color:#f6efe6;background:radial-gradient(120% 90% at 0% 0%,rgba(210,61,84,.55),transparent 55%),linear-gradient(150deg,var(--crimson-deep),var(--crimson) 45%,var(--crimson-ink))}.auth-stars{position:absolute;inset:0;opacity:.55;pointer-events:none;background-image:radial-gradient(1px 1px at 25% 30%,rgba(255,255,255,.85),transparent),radial-gradient(1.5px 1.5px at 75% 60%,rgba(235,203,134,.9),transparent),radial-gradient(1px 1px at 50% 85%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 85% 20%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 10% 65%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 35% 12%,rgba(255,255,255,.4),transparent);background-repeat:no-repeat}.auth-orbit{position:absolute;right:-130px;bottom:-130px;width:340px;height:340px;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,#ebcb8600,#ebcb8661,#ebcb8600 60%);-webkit-mask:radial-gradient(circle,transparent 60%,#000 61%);mask:radial-gradient(circle,transparent 60%,#000 61%);animation:authspin 22s linear infinite}@keyframes authspin{to{transform:rotate(360deg)}}.auth-glow{position:absolute;left:-80px;top:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(235,203,134,.32),transparent 70%);filter:blur(24px);pointer-events:none}.auth-showcase-content{position:relative;z-index:2;max-width:420px}.auth-kicker{display:inline-flex;align-items:center;gap:.55em;font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px}.auth-kicker:before{content:"";width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.auth-headline{font-family:var(--font-display);font-size:clamp(1.85rem,3.4vw,2.6rem);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0;color:#fff}.auth-headline em{font-style:italic;font-weight:500;background:linear-gradient(120deg,var(--gold-soft),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.auth-sub{margin:16px 0 0;font-size:.97rem;line-height:1.62;color:#f6efe6d1}.auth-stats{display:flex;gap:28px;margin-top:32px;flex-wrap:wrap}.auth-stats b{display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:600;line-height:1;color:#fff}.auth-stats span{display:block;margin-top:6px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#f6efe69e}.auth-forms{position:relative;padding:44px 40px;display:flex;flex-direction:column}.auth-toggle{display:flex;gap:4px;padding:5px;border-radius:14px;background:var(--surface-3);border:1px solid var(--line);margin-bottom:24px}.auth-toggle button{flex:1;padding:.6rem 1rem;border:0;border-radius:10px;background:transparent;color:#7c4048;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.auth-toggle button:hover{color:var(--crimson-deep)}.auth-toggle button[aria-selected=true]{background:linear-gradient(135deg,var(--crimson),var(--crimson-deep));color:#fff;box-shadow:0 6px 16px -8px #a51c30cc}.auth-panel{display:none;animation:panelIn .3s var(--ease)}.auth-panel.active{display:block}.auth-panel-title{font-family:var(--font-display);font-size:1.45rem;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:0 0 22px}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:-4px}.link-btn{border:0;background:transparent;padding:0;cursor:pointer;color:var(--crimson);font-size:.84rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:var(--crimson-deep)}.auth-switch{margin:22px 0 0;font-size:.87rem;color:var(--ink-muted)}.auth-switch .link-btn{font-size:.87rem;font-weight:700}.pw-meter{display:flex;gap:4px;margin-top:2px}.pw-meter i{flex:1;height:4px;border-radius:99px;background:var(--line);transition:background .25s var(--ease)}.pw-meter[data-score="1"] i:nth-child(-n+1){background:#d9534f}.pw-meter[data-score="2"] i:nth-child(-n+2){background:#e0a33a}.pw-meter[data-score="3"] i:nth-child(-n+3){background:#57a773}.pw-meter[data-score="4"] i{background:var(--ok)}.pw-note{font-size:.76rem;color:var(--ink-faint)}.people-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(238px,1fr))}.person{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}.person:hover{transform:translateY(-4px);border-color:#d9a441a6;box-shadow:var(--shadow-lg)}.person:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}.person-photo{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--surface-3)}.person-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.person:hover .person-photo img{transform:scale(1.06)}.person-photo .ph-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:3rem;font-weight:600;color:#ffffffeb}.person-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.06) 45%,transparent)}.person-photo .ph-year{position:absolute;left:12px;top:12px;z-index:2;padding:.25rem .6rem;border-radius:999px;background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.7rem;font-weight:700;color:var(--crimson-deep)}.person-photo .ph-online{position:absolute;right:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:.35em;padding:.22rem .55rem;border-radius:999px;background:#12795eeb;color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.person-photo .ph-online:before{content:"";width:6px;height:6px;border-radius:50%;background:#9df0d2}.person-photo .ph-name{position:absolute;left:14px;right:14px;bottom:10px;z-index:2;font-size:1.02rem;font-weight:700;line-height:1.2;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;flex:1}.person-body .p-role{font-size:.84rem;color:var(--ink-2);font-weight:500;line-height:1.4}.person-body .p-loc{font-size:.8rem;color:var(--ink-muted);display:flex;align-items:center;gap:.35em}.person-body .p-chips{display:flex;flex-wrap:wrap;gap:5px}.person-body .p-view{margin-top:auto;padding-top:6px;font-size:.78rem;font-weight:700;color:var(--crimson);display:inline-flex;align-items:center;gap:.35em;opacity:0;transform:translateY(3px);transition:opacity .25s var(--ease),transform .25s var(--ease)}.person:hover .p-view{opacity:1;transform:none}.online-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.online-strip .os-label{display:inline-flex;align-items:center;gap:.45em;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ok)}.online-strip .os-label:before{content:"";width:8px;height:8px;border-radius:50%;background:#2fae7f;box-shadow:0 0 #2fae7f99;animation:pulseDot 2s infinite}@keyframes pulseDot{0%{box-shadow:0 0 #2fae7f80}70%{box-shadow:0 0 0 8px #2fae7f00}to{box-shadow:0 0 #2fae7f00}}.online-avatars{display:flex;align-items:center}.online-avatars .avatar{width:34px;height:34px;font-size:.8rem;margin-left:-9px;box-shadow:0 0 0 2.5px var(--surface)}.online-avatars .avatar:first-child{margin-left:0}.online-avatars .more{margin-left:-9px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;background:var(--surface-3);color:var(--ink-muted);box-shadow:0 0 0 2.5px var(--surface)}.profile-cover{position:relative;height:130px;background:radial-gradient(90% 140% at 15% 0%,rgba(210,61,84,.6),transparent 60%),linear-gradient(135deg,var(--crimson-deep),var(--crimson) 55%,var(--crimson-ink))}.profile-cover:after{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(1.5px 1.5px at 30% 40%,rgba(235,203,134,.9),transparent),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 50% 20%,rgba(255,255,255,.6),transparent);background-repeat:no-repeat}.profile-body{padding:0 28px 28px;text-align:center;margin-top:-56px;position:relative}.profile-body .avatar{width:112px;height:112px;margin:0 auto;font-size:2.4rem;box-shadow:0 0 0 5px var(--surface),var(--shadow)}.profile-body h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600;letter-spacing:-.02em;margin:14px 0 0}.profile-body .p-sub{margin:4px 0 0;font-size:.88rem;color:var(--ink-muted);word-break:break-word}.profile-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}.profile-bio{margin:18px 0 0;padding:16px;border-radius:14px;text-align:left;background:var(--surface-2);border:1px solid var(--line-soft);font-size:.9rem;line-height:1.7;color:var(--ink-2);white-space:pre-wrap}.profile-section{margin-top:20px;text-align:left}.profile-section h4{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 9px}.profile-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.completeness{display:flex;align-items:center;gap:12px}.completeness .bar{flex:1;height:7px;border-radius:99px;background:var(--surface-3);overflow:hidden;min-width:90px}.completeness .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--crimson),var(--gold));transition:width .6s var(--ease)}.completeness .pct{font-size:.78rem;font-weight:700;color:var(--ink-muted)}.opp-list{display:flex;flex-direction:column;gap:14px}.opp{position:relative;overflow:hidden;padding:20px 22px 20px 26px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.opp:hover{transform:translateY(-2px);border-color:#d9a44199;box-shadow:var(--shadow)}.opp .opp-accent{position:absolute;inset:0 auto 0 0;width:5px}.opp.expired{opacity:.68}.opp-top{display:flex;align-items:flex-start;gap:14px}.opp-ico{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:1.25rem}.opp-main{flex:1;min-width:0}.opp-title{font-size:1.04rem;font-weight:700;color:var(--ink);margin:6px 0 0;line-height:1.35}.opp-org{font-size:.87rem;color:var(--ink-muted);margin:2px 0 0}.opp-desc{margin:10px 0 0;font-size:.9rem;line-height:1.65;color:var(--ink-2);white-space:pre-wrap}.opp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.opp-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft);font-size:.78rem;color:var(--ink-faint)}.opp-foot .of-by{display:flex;align-items:center;gap:.5em;min-width:0}.opp-foot .of-by .avatar{width:24px;height:24px;font-size:.68rem}.opp-actions{display:flex;gap:6px;flex:none}.photo-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.photo{position:relative;margin:0;overflow:hidden;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.photo:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.photo>a{display:block}.photo img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.photo figcaption{padding:10px 12px 12px;font-size:.84rem;line-height:1.45}.photo figcaption b{display:block;color:var(--ink);font-weight:600}.photo figcaption span{display:block;margin-top:2px;color:var(--ink-faint);font-size:.78rem}.photo .photo-del{position:absolute;top:8px;right:8px;padding:2px 8px;opacity:0;transition:opacity .2s var(--ease)}.photo:hover .photo-del,.photo:focus-within .photo-del{opacity:1}@media(hover:none){.photo .photo-del{opacity:1}}.review-queue{margin-bottom:20px;padding:16px 16px 18px;border-radius:16px;border:1px dashed var(--gold-deep);background:linear-gradient(180deg,#ebcb8629,#ebcb860d)}.rq-head{margin-bottom:14px}.rq-head h3{margin:0;font-size:1rem;font-weight:700;color:var(--ink)}.rq-head .help{margin:4px 0 0}.rq-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.rq-item{margin:0;overflow:hidden;display:flex;flex-direction:column;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.rq-item img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.rq-item figcaption{padding:10px 12px 4px;font-size:.84rem;line-height:1.45;flex:1}.rq-item figcaption b{display:block;color:var(--ink);font-weight:600}.rq-item figcaption span{display:block;margin-top:2px;color:var(--ink-faint);font-size:.78rem}.rq-item .rq-by{font-style:italic}.rq-actions{display:flex;gap:8px;padding:10px 12px 12px}.rq-actions .btn{flex:1;justify-content:center}.form-embed{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}.form-embed iframe{display:block;width:100%;height:640px;border:0}@media(max-width:640px){.form-embed iframe{height:520px}}.ms-list{display:flex;flex-direction:column;gap:22px}.milestone{overflow:hidden;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.milestone:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.milestone .ms-img{overflow:hidden;max-height:320px;background:var(--surface-3)}.milestone .ms-img img{width:100%;height:100%;max-height:320px;object-fit:cover;transition:transform .6s var(--ease)}.milestone:hover .ms-img img{transform:scale(1.04)}.milestone .ms-body{padding:24px 26px 26px}.milestone .ms-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--crimson)}.milestone .ms-meta .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;margin-right:.5em;vertical-align:middle}.milestone h4{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.02em;margin:10px 0 0;color:var(--ink);line-height:1.25}.milestone .ms-text{margin:10px 0 0;font-size:.95rem;line-height:1.75;color:var(--ink-2);white-space:pre-wrap}.amb-intro{position:relative;overflow:hidden;padding:26px 28px;border-radius:var(--radius);margin-bottom:24px;background:linear-gradient(135deg,#fdf3e5,#fbeef0);border:1px solid #f0e0c4}.amb-intro h4{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:0;color:var(--crimson-deep)}.amb-intro p{margin:8px 0 0;font-size:.92rem;line-height:1.7;color:var(--ink-2);max-width:68ch}.amb-steps{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}.amb-steps div{display:flex;align-items:center;gap:.6em;font-size:.84rem;font-weight:600;color:var(--ink-2)}.amb-steps b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--crimson);color:#fff;font-size:.74rem}.q-list{display:flex;flex-direction:column;gap:10px}.q-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.q-item .q-num{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#fbeef0;color:var(--crimson-deep);font-size:.76rem;font-weight:800}.q-item .q-info{flex:1;min-width:0}.q-item .q-info>b{display:block;font-size:.92rem;font-weight:600;color:var(--ink)}.q-item .q-info>span{display:block;font-size:.78rem;color:var(--ink-muted);margin-top:3px}.q-item .q-tools{display:flex;gap:4px;flex:none}.apply-form{display:flex;flex-direction:column;gap:20px}.apply-q{padding:18px 20px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.apply-q>.label{display:block;margin-bottom:10px;text-transform:none;font-size:.95rem;letter-spacing:0;color:var(--ink);font-weight:600}.apply-q .req{color:var(--crimson);font-weight:700}.submission{padding:18px 20px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.submission .sb-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.submission .sb-head b{font-size:.95rem}.submission .sb-head span{font-size:.78rem;color:var(--ink-faint)}.submission .sb-a{margin-top:12px}.submission .sb-a .sb-q{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.submission .sb-a .sb-v{font-size:.9rem;color:var(--ink);margin-top:3px;line-height:1.6;white-space:pre-wrap}.chat-layout{display:grid;grid-template-columns:1fr 264px;gap:20px;align-items:start}.chat-card{display:flex;flex-direction:column;height:min(640px,calc(100vh - 220px));min-height:420px}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--line-soft)}.chat-head h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin:0}.chat-head p{margin:3px 0 0;font-size:.8rem;color:var(--ink-muted)}.chat-feed{flex:1;overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth;background:radial-gradient(60% 40% at 100% 0%,rgba(217,164,65,.05),transparent 60%),radial-gradient(50% 40% at 0% 100%,rgba(165,28,48,.04),transparent 60%)}.chat-daysep{display:flex;align-items:center;gap:12px;margin:4px 0}.chat-daysep:before,.chat-daysep:after{content:"";flex:1;height:1px;background:var(--line)}.chat-daysep span{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.msg{display:flex;align-items:flex-start;gap:10px}.msg.own{flex-direction:row-reverse}.msg .avatar{width:34px;height:34px;font-size:.78rem;margin-top:21px}.msg-col{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:min(78%,460px)}.msg.own .msg-col{align-items:flex-end}.msg-meta{display:flex;align-items:center;gap:.5em;font-size:.72rem;color:var(--ink-faint);padding:0 4px}.msg.own .msg-meta{flex-direction:row-reverse}.msg-meta b{font-weight:700;color:var(--ink-muted)}.msg-bubble{padding:.6rem .9rem;border-radius:5px 16px 16px;font-size:.91rem;line-height:1.6;word-break:break-word;white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink)}.msg.own .msg-bubble{background:linear-gradient(135deg,var(--crimson),var(--crimson-deep));color:#fff;border-color:transparent;border-top-left-radius:16px;border-top-right-radius:5px}.msg-bubble a{color:inherit;text-decoration:underline;text-underline-offset:2px}.msg-tools{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .2s var(--ease)}.msg:hover .msg-tools,.msg:focus-within .msg-tools{opacity:1}.msg-react-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.react-palette{display:none;gap:4px}.msg:hover .react-palette,.msg:focus-within .react-palette{display:inline-flex}@media(hover:none){.react-palette{display:inline-flex}}.react-btn{display:inline-flex;align-items:center;gap:.25em;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.78rem;color:var(--ink-2);cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.react-btn:hover{background:var(--surface-3);transform:translateY(-1px)}.react-btn.on{background:#fbeef0;border-color:#eeccd2;color:var(--crimson-deep);font-weight:700}.react-add{color:var(--ink-faint)}.chat-compose{padding:14px 18px;border-top:1px solid var(--line-soft);background:var(--surface)}.chat-compose form{display:flex;gap:10px;align-items:flex-end}.chat-compose .input{border-radius:14px}.chat-compose .btn{flex:none}.online-panel{position:sticky;top:92px}.online-panel h4{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px}.online-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.online-item{display:flex;align-items:center;gap:10px;padding:.45rem .5rem;border-radius:10px;transition:background .15s var(--ease)}.online-item:hover{background:var(--surface-3)}.online-item .avatar{width:30px;height:30px;font-size:.72rem}.online-item .oi-name{font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-row{display:flex;flex-wrap:wrap;gap:8px}.social-link{display:inline-flex;align-items:center;gap:.45em;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.84rem;font-weight:600;color:var(--ink-2);text-decoration:none;transition:transform .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}.social-link:hover{transform:translateY(-2px);border-color:#d9a441b3;color:var(--crimson-deep);box-shadow:var(--shadow-sm)}.cropper-view-box,.cropper-face{border-radius:50%}.cropper-line,.cropper-point{background-color:var(--crimson)}.cropper-bg{background-image:none;background-color:var(--surface-3)}#crop-image{max-width:100%;display:block;max-height:52vh}.crop-stage{border-radius:14px;overflow:hidden;background:var(--surface-3)}.portal-foot{margin-top:46px;padding:26px 0 34px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--ink-faint)}.portal-foot a{color:var(--ink-muted);text-decoration:none}.portal-foot a:hover{color:var(--crimson)}.portal-foot .pf-links{display:flex;gap:18px;flex-wrap:wrap}@media(max-width:1024px){.chat-layout{grid-template-columns:1fr}.online-panel{position:static}.online-list{flex-direction:row;flex-wrap:wrap;max-height:none}.online-item{flex:0 0 auto}}@media(max-width:860px){.auth-card{grid-template-columns:1fr}.auth-showcase{padding:38px 30px;min-height:210px}.auth-forms{padding:32px 26px}.auth-stats{gap:20px}}@media(max-width:720px){.shell{padding:0 14px}.card-pad{padding:20px 18px}.modal-pad{padding:22px 20px}.page-hero{padding:24px 20px}.topbar-inner{height:60px;gap:10px}.brand-text,.usermenu-btn .um-name,.usermenu-btn .um-caret{display:none}.usermenu-btn{padding:4px}.people-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.person-photo .ph-name{font-size:.9rem}.toolbar{grid-template-columns:1fr}.msg-col{max-width:84%}#toast-stack{left:14px;right:14px;bottom:14px;max-width:none}.modal{padding:12px;align-items:end}.modal-card{max-height:calc(100vh - 24px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media print{.topbar,.tabs-rail,#toast-stack,.portal-foot,.btn{display:none!important}body.portal{background:#fff}.card{box-shadow:none;border-color:#ccc}}
