@font-face{font-family:Cho Cormorant;src:url(/assets/CormorantGaramond-Regular-D8L_y53m.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Cho Cormorant;src:url(/assets/CormorantGaramond-SemiBold-B8Bl3McO.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Cho Cormorant;src:url(/assets/CormorantGaramond-Bold-BVovN-Dy.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Cho Cinematic Quote;src:url(/assets/CormorantGaramond-SemiBoldItalic-AwvdJ7gs.woff2)format("woff2");font-style:italic;font-weight:600;font-display:swap}.cho-login-shell{--login-font:"Cho Cormorant", Georgia, "Times New Roman", serif;--portrait-frame-max-width:520px;--portrait-frame-landscape-width:56.25svh;z-index:0;color:#fffaf0;width:100%;height:100dvh;min-height:0;font-family:var(--login-font);font-kerning:normal;text-rendering:geometricprecision;isolation:isolate;background:radial-gradient(at 18% 18%,#e1ad4029,#0000 34%),radial-gradient(at 82% 78%,#bd84201f,#0000 32%),linear-gradient(90deg,#030404 0%,#080909 24%,#11120f 50%,#080909 76%,#030404 100%);place-items:stretch center;display:grid;position:fixed;inset:0;overflow:hidden}.cho-login-shell .portrait-app-frame{width:min(100vw, var(--portrait-frame-max-width), var(--portrait-frame-landscape-width));background:#030405;max-width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #fff8ec14,0 28px 72px #0000007a}.cho-login-shell .auth-gate{--auth-logo-center-y:50svh;--auth-logo-final-center-y:calc(max(env(safe-area-inset-top,0px), 0px) + clamp(100px, 11.2svh, 112px));--auth-logo-center-width:min(86vw, 860px);--auth-logo-final-scale:.72;background:#030405;width:100%;max-width:100%;height:100%;min-height:100%;position:relative;overflow:hidden}.cho-login-shell .login-landing{--login-control-text:#fffdf5;--login-control-muted:#c8c3b6;--login-control-panel:#0a0b0bf5;--login-control-panel-strong:#181611fa;--login-control-border-strong:#e1ad4085;--login-control-gold:var(--gold-bright);--login-control-gold-deep:var(--gold);--login-control-shadow:0 20px 46px #0000007a;opacity:0;background:radial-gradient(at 50% 34%,#bd842021 0%,#1816111a 34%,#0000 63%),linear-gradient(#0a0b0b 0%,#030404 56%,#010202 100%);place-items:center;min-height:100%;padding:clamp(14px,2.8svh,28px) clamp(14px,2.4vw,24px);transition:opacity .52s;display:grid;position:absolute;inset:0;overflow:hidden}.cho-login-shell .login-landing.is-visible{opacity:1}.cho-login-shell .login-landing[data-interaction-ready=false]{pointer-events:none}.cho-login-shell .login-scrim{z-index:10;pointer-events:none;background:linear-gradient(#01020305 0%,#01020303 35%,#01020333 55%,#010203c2 75%,#000102f7 100%),radial-gradient(at 50% 37%,#0000 0 30%,#0102032e 64%,#000102b8 100%),linear-gradient(90deg,#00010257,#0000 20% 80%,#00010257);position:absolute;inset:0}.cho-login-shell .login-premium-architecture{z-index:14;opacity:0;pointer-events:none;contain:layout paint style;isolation:isolate;position:absolute;inset:0;overflow:hidden;transform:translateY(-6px)}.cho-login-shell .login-landing.is-handoff .login-premium-architecture{animation:.82s cubic-bezier(.22,1,.36,1) .24s both loginPremiumArchitectureIn}.cho-login-shell .login-premium-auth-frame{background:linear-gradient(#0c0d0c70,#03040429);border:1px solid #daa74a61;border-radius:20px;position:absolute;inset:calc(clamp(476px,58svh,538px) - 23px) clamp(18px,4.8%,28px) clamp(55px,8.7svh,81px);box-shadow:inset 0 1px #ffedc20b,0 14px 30px #00000042}.cho-login-shell .login-dojo-stage{z-index:0;opacity:0;pointer-events:none;contain:strict;background:radial-gradient(at 50% 34%,#e1ad4021 0%,#5d441612 27%,#0000 56%),radial-gradient(at 50% 64%,#f6de9a12 0%,#0000 52%),linear-gradient(#0a0b0b 0%,#040505 55%,#010202 100%);transition:opacity .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;overflow:hidden}.cho-login-shell .login-dojo-stage canvas{display:block;pointer-events:none!important;width:100%!important;height:100%!important}.cho-login-shell .login-dojo-stage:before,.cho-login-shell .login-dojo-stage:after{z-index:2;content:"";pointer-events:none;position:absolute;inset:0}.cho-login-shell .login-dojo-stage:before{mix-blend-mode:screen;background:radial-gradient(at 50% 31%,#f6de9a17 0%,#e1ad4006 31%,#0000 61%),linear-gradient(115deg,#0000 18%,#f6de9a0a 39%,#0000 57%)}.cho-login-shell .login-dojo-stage:after{background:radial-gradient(at 50% 69%,#e1ad4013 0%,#5d441606 27%,#0000 54%),linear-gradient(90deg,#00010259,#0000 20% 80%,#00010259)}.cho-login-shell .login-landing.is-handoff .login-dojo-stage{opacity:1}.cho-login-shell .login-landing.is-handoff .login-dojo-stage[data-dojo-ready=false]{opacity:0}.cho-login-shell .login-dojo-stage.is-hidden{opacity:0!important}.cho-login-shell .login-karate-stage{--karate-scene-top:clamp(142px, 18svh, 174px);--karate-scene-height:clamp(270px, 38svh, 342px);z-index:0;opacity:0;pointer-events:none;contain:strict;isolation:isolate;background:radial-gradient(at 50% 31%,#f6de9a1c 0%,#ad7c220b 28%,#0000 57%),radial-gradient(at 50% 62%,#ffffff0b 0%,#0000 48%),linear-gradient(#0a0b0c 0%,#050606 48%,#010202 100%);transition:opacity .88s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;overflow:hidden}.cho-login-shell .login-karate-stage:before,.cho-login-shell .login-karate-stage:after{z-index:4;content:"";pointer-events:none;position:absolute;inset:0}.cho-login-shell .login-karate-stage:before{mix-blend-mode:screen;background:radial-gradient(92% 72% at 50% 30%,#fff8e013 0%,#e1ad4005 40%,#0000 76%)}.cho-login-shell .login-karate-stage:after{background:linear-gradient(#0000 0 49%,#0102031f 66%,#000102cc 100%),linear-gradient(90deg,#0001025c,#0000 20% 80%,#0001025c)}.cho-login-shell .login-landing.is-handoff .login-karate-stage{opacity:1}.cho-login-shell .login-karate-stage.is-hidden{opacity:0!important}.cho-login-shell .login-karate-scene-lock{z-index:0;top:var(--karate-scene-top);width:100%;height:var(--karate-scene-height);pointer-events:none;contain:layout style;isolation:isolate;backface-visibility:hidden;position:absolute;left:0;overflow:visible;transform:translateZ(0)}.cho-login-shell .login-karate-light{z-index:0;opacity:.46;filter:blur(26px);background:radial-gradient(#f2dfb116 0%,#b47f2206 42%,#0000 72%);border-radius:50%;width:min(100%,500px);height:140%;position:absolute;top:-20%;left:50%;transform:translate(-50%)}.cho-login-shell .login-karate-audience-image{z-index:1;opacity:0;pointer-events:none;object-fit:cover;object-position:center 50%;filter:brightness(1.06)contrast(.96)saturate(.68)blur(.2px);width:110%;max-width:none;height:calc(100% - 26px);transition:opacity 1.3s cubic-bezier(.22,1,.36,1);display:block;position:absolute;top:8px;left:-5%;transform:translate(0,0);-webkit-mask-image:radial-gradient(92% 54% at 50% 54%,#000 0% 48%,#000000b8 72%,#0000 100%);mask-image:radial-gradient(92% 54% at 50% 54%,#000 0% 48%,#000000b8 72%,#0000 100%)}.cho-login-shell .login-landing.is-handoff .login-karate-audience-image{opacity:.6}.cho-login-shell .login-karate-fog{z-index:2;opacity:0;pointer-events:none;filter:blur(28px);will-change:opacity, transform;background:radial-gradient(at 50% 55%,#d6cdb814 0%,#746f6509 38%,#0000 72%),radial-gradient(at 23% 61%,#c7c2b40a,#0000 54%),radial-gradient(at 77% 57%,#c7c2b40a,#0000 55%);transition:opacity 1.25s cubic-bezier(.22,1,.36,1),transform 1.45s cubic-bezier(.22,1,.36,1);position:absolute;inset:-8% -15% -10%;transform:translateY(4px)scale(1.03)}.cho-login-shell .login-landing.is-handoff .login-karate-fog{opacity:.42;transform:translate(0,0)scale(1)}.cho-login-shell .login-karate-fighter-glow{z-index:2;opacity:0;pointer-events:none;filter:blur(25px);mix-blend-mode:screen;background:radial-gradient(at 50% 52%,#e7b85213 0%,#c28b2306 40%,#0000 74%);border-radius:50%;width:min(72%,320px);height:126%;transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);position:absolute;top:-14%;left:50%;transform:translate(-50%,3px)scale(.97)}.cho-login-shell .login-landing.is-handoff .login-karate-fighter-glow{opacity:.34;transform:translate(-50%)scale(1)}.cho-login-shell .login-karate-character-shadow{z-index:4;opacity:0;pointer-events:none;mix-blend-mode:multiply;transform-origin:50% 100%;width:100%;height:26%;transition:opacity .46s cubic-bezier(.16,1,.3,1);display:block;position:absolute;top:73%;left:0;transform:translateZ(0)}.cho-login-shell .login-landing.is-handoff .login-karate-stage.is-ready .login-karate-character-shadow.is-current[data-shadow-ready=true]{opacity:.82}.cho-login-shell .login-landing.is-handoff .login-karate-stage.is-ready.is-transitioning .login-karate-character-shadow.is-current[data-shadow-ready=true]{opacity:0;transition-duration:.22s;transition-timing-function:cubic-bezier(.55,0,1,.45)}.cho-login-shell .login-landing.is-handoff .login-karate-stage.is-ready.is-transitioning .login-karate-character-shadow.is-next[data-shadow-ready=true]{opacity:.82;transition-delay:.17s}.cho-login-shell .login-karate-transition-veil{z-index:5;opacity:0;pointer-events:none;filter:blur(30px);will-change:opacity, transform;background:radial-gradient(#fff6d724 0%,#e0ad400b 38%,#0000 74%);border-radius:50%;width:min(76%,340px);height:132%;position:absolute;top:-16%;left:50%;transform:translate(-50%)scale(.82)}.cho-login-shell .login-karate-video,.cho-login-shell .login-karate-poster{--karate-facing:1;z-index:3;object-fit:contain;opacity:0;width:auto;max-width:min(78%,340px);height:100%;transform:translate3d(-50%, 0, 0) scaleX(var(--karate-facing));transform-origin:50% 52%;filter:brightness(.88)contrast(.98)drop-shadow(0 17px 22px #0000009e)drop-shadow(0 0 14px #f4e2b814);backface-visibility:hidden;will-change:opacity, transform;transition:opacity .46s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1),filter .46s;display:block;position:absolute;top:0;left:50%}.cho-login-shell .login-karate-fighter-canvas{image-rendering:auto}.cho-login-shell .login-karate-video-source{z-index:1;opacity:.001;pointer-events:none;width:448px;height:768px;display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}.cho-login-shell .login-karate-video.is-facing-left{--karate-facing:-1}.cho-login-shell .login-karate-stage.is-ready .login-karate-poster,.cho-login-shell .login-karate-stage.is-ready .login-karate-video.is-current.is-buffered{opacity:1;transform:translate3d(-50%, 0, 0) scaleX(var(--karate-facing)) scale(1)}.cho-login-shell .login-karate-stage.is-ready .login-karate-poster.is-covered{opacity:0}.cho-login-shell .login-karate-stage.is-ready.is-transitioning .login-karate-video.is-current.is-buffered{opacity:0;transform:translate3d(-50%, 0, 0) scaleX(var(--karate-facing));filter:brightness(.88)contrast(.98)drop-shadow(0 17px 22px #0000009e)blur(.75px);transition-duration:.22s,.36s,.22s;transition-timing-function:cubic-bezier(.55,0,1,.45),cubic-bezier(.4,0,.6,1),ease-out}.cho-login-shell .login-karate-stage.is-ready.is-transitioning .login-karate-video.is-next.is-buffered{opacity:1;transform:translate3d(-50%, 0, 0) scaleX(var(--karate-facing)) scale(1);filter:brightness(.88)contrast(.98)drop-shadow(0 17px 22px #0000009e)drop-shadow(0 0 15px #f4e2b81c);transition-delay:.17s,.14s,.17s}.cho-login-shell .login-karate-stage.is-transitioning .login-karate-transition-veil{animation:.62s cubic-bezier(.22,1,.36,1) both karateTransitionVeil}.cho-login-shell .login-karate-stage[data-karate-active=true] .login-karate-light{animation:5.2s ease-in-out infinite karateAmbientBreath}@keyframes karateAmbientBreath{0%,to{opacity:.38;transform:translate(-50%)scale(.985)}50%{opacity:.5;transform:translate(-50%)scale(1.018)}}@keyframes karateTransitionVeil{0%,to{opacity:0;transform:translate(-50%)scale(.82)}45%{opacity:.46;transform:translate(-50%)scale(1.04)}70%{opacity:.18;transform:translate(-50%)scale(1.1)}}.cho-login-shell .login-dojo-placeholder:before,.cho-login-shell .login-dojo-placeholder:after{content:"";position:absolute;inset:0}.cho-login-shell .login-dojo-placeholder:before{background:radial-gradient(at 50% 34%,#e1ad401c,#0000 46%),linear-gradient(#080909,#020303)}.cho-login-shell .login-dojo-placeholder:after{background:radial-gradient(at 50% 66%,#f6de9a0e,#0000 48%)}.cho-login-shell .login-dojo-fallback{background:radial-gradient(at 50% 35%,#e1ad401f,#0000 43%),linear-gradient(#080909 0%,#030404 62%,#010202 100%);position:absolute;inset:0;overflow:hidden}.cho-login-shell .login-dojo-fallback-halo{filter:blur(18px);background:radial-gradient(#f6de9a1f 0%,#bd84200a 36%,#0000 70%);border-radius:50%;width:min(90%,560px);height:58%;position:absolute;top:12%;left:50%;transform:translate(-50%)}.cho-login-shell .login-dojo-fallback-fighter{filter:drop-shadow(0 18px 25px #000000ad);width:min(58%,290px);height:min(54%,440px);position:absolute;bottom:28%;left:50%;overflow:visible;transform:translate(-50%)}.cho-login-shell .login-panel-wrap{z-index:50;width:min(100% - 20px,420px);height:100%;min-height:100%;padding-bottom:max(clamp(60px, 8svh, 88px), env(safe-area-inset-bottom));align-content:end;place-self:stretch center;gap:16px;display:grid;position:relative}.cho-login-shell .login-discipline-quotes{z-index:1;opacity:0;pointer-events:none;contain:layout paint style;isolation:isolate;place-items:center;width:100%;height:clamp(76px,9.6svh,88px);min-height:0;padding:0 clamp(8px,2.4vw,14px);transition:opacity .9s cubic-bezier(.22,1,.36,1);display:grid;position:relative;overflow:hidden}.cho-login-shell .login-discipline-quotes.is-active.is-layout-safe{opacity:1}.cho-login-shell .login-discipline-quotes.is-layout-unsafe{opacity:0;visibility:hidden;transition-duration:0s}.cho-login-shell .login-discipline-quote{color:#fffaecad;opacity:1;backface-visibility:hidden;width:100%;max-width:440px;height:100%;margin:0;position:relative}.cho-login-shell .login-discipline-beat{opacity:1;backface-visibility:hidden;will-change:opacity;position:absolute;inset:0}.cho-login-shell .login-discipline-beat.is-current{z-index:2;animation:loginDisciplinePhraseDissolve var(--discipline-phrase-fade-duration) cubic-bezier(.45, 0, .55, 1) var(--discipline-phrase-fade-delay) both}.cho-login-shell .login-discipline-beat.is-outgoing{z-index:1;animation:loginDisciplineBeatOut var(--discipline-crossfade-duration) cubic-bezier(.4, 0, .2, 1) both}.cho-login-shell .login-discipline-phrase{white-space:nowrap;justify-content:center;align-items:baseline;gap:clamp(.32rem,1.3vw,.56rem);width:min(96%,430px);min-height:1.6em;margin:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cho-login-shell .login-discipline-word{color:#f7f2e499;letter-spacing:.075em;text-align:center;text-transform:uppercase;opacity:0;animation:loginDisciplineWordReveal var(--discipline-word-reveal-duration) cubic-bezier(.33, 1, .68, 1) calc(var(--discipline-word-order) * var(--discipline-word-stagger)) both;text-shadow:0 2px 12px #000000e6,0 0 18px #0000008a,0 0 1px #fff4d64d;backface-visibility:hidden;font-family:Cho Cormorant,Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1.07rem,4vw,1.32rem);font-style:normal;font-weight:600;line-height:1;position:static}.cho-login-shell .login-discipline-author{color:#ddb56685;letter-spacing:.13em;text-align:right;opacity:1;transform-origin:100% 100%;text-shadow:0 2px 12px #000000eb,0 0 14px #bc84222e;width:min(72%,320px);font-family:Cho Cinematic Quote,Cho Cormorant,Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(.84rem,3.2vw,.98rem);font-style:italic;font-weight:600;line-height:1;position:absolute;bottom:4px;right:calc(3% - 10px)}.cho-login-shell .login-discipline-author.is-quote-opening{opacity:0;animation:1.2s cubic-bezier(.33,1,.68,1) both loginDisciplineAuthorReveal}.cho-login-shell .login-discipline-author.is-quote-finale{animation:loginDisciplinePhraseDissolve var(--discipline-phrase-fade-duration) cubic-bezier(.45, 0, .55, 1) var(--discipline-phrase-fade-delay) both}.cho-login-shell .login-discipline-static-quote{color:#efebde80;letter-spacing:.075em;text-align:center;text-transform:uppercase;text-wrap:balance;text-shadow:0 2px 10px #000000d1,0 0 16px #00000070;width:min(94%,420px);margin:0;font-family:Cho Cormorant,Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(.82rem,3.15vw,.94rem);font-style:normal;font-weight:600;line-height:1.18;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.cho-login-shell .login-discipline-static-author{color:#dbbe836b;letter-spacing:.1em;text-align:right;text-shadow:0 2px 9px #000000b3;width:min(72%,320px);margin:0;font-family:Cho Cinematic Quote,Cho Cormorant,Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(.62rem,2.25vw,.72rem);font-style:italic;font-weight:600;line-height:1;position:absolute;bottom:2px;left:auto;right:-10px}.cho-login-shell .login-discipline-quotes:not(.is-active) .login-discipline-beat,.cho-login-shell .login-discipline-quotes:not(.is-active) .login-discipline-word,.cho-login-shell .login-discipline-quotes:not(.is-active) .login-discipline-author{animation-play-state:paused}.cho-login-shell .login-discipline-quotes.is-paused .login-discipline-beat.is-current,.cho-login-shell .login-discipline-quotes.is-paused .login-discipline-word,.cho-login-shell .login-discipline-quotes.is-paused .login-discipline-author{opacity:1;animation:none}.cho-login-shell .login-discipline-quotes.is-paused .login-discipline-beat.is-outgoing{display:none}.cho-login-shell .login-discipline-quotes:not(.is-active) .login-discipline-quote{opacity:0}.cho-login-shell .login-panel{gap:clamp(9px,1.25svh,14px);padding-bottom:4px;display:grid}.cho-login-shell .login-mode-banner{min-height:32px;color:var(--gold-pale);letter-spacing:.02em;background:#1f190de0;border:1px solid #e1ad406b;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem;font-weight:800;display:flex}.cho-login-shell .login-landing.is-handoff .login-panel,.cho-login-shell .login-landing.is-handoff .login-divider{opacity:0;backface-visibility:hidden;will-change:opacity;animation:.6s cubic-bezier(.22,1,.36,1) .3s both loginControlsHandoff}.cho-login-shell .login-field{border:1.5px solid var(--login-control-border-strong);background:repeating-linear-gradient(2deg, #ffffff05 0 1px, transparent 1px 3px), linear-gradient(180deg, #ffffff12, #0000003d), var(--login-control-panel);min-height:clamp(52px,6.2svh,60px);color:var(--login-control-gold);box-shadow:inset 0 1px 0 #ffffff29, var(--login-control-shadow);border-radius:16px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:0 16px;transition:border-color .16s,background .16s,box-shadow .16s,color .16s;display:grid}.cho-login-shell .login-field:focus-within{background:linear-gradient(180deg, #e1ad4024, #00000029), var(--login-control-panel-strong);box-shadow:inset 0 1px 0 #fff3, 0 0 0 3px #e1ad402e, var(--login-control-shadow);border-color:#e1ad40e0}.cho-login-shell .login-field.has-error{background:linear-gradient(180deg, #89222d1f, #0000002e), var(--login-control-panel-strong);box-shadow:inset 0 1px 0 #ffffff24, 0 0 0 2px #ff66741a, var(--login-control-shadow);border-color:#ff848ee0}.cho-login-shell .login-field.has-error:focus-within{box-shadow:inset 0 1px 0 #ffffff2b, 0 0 0 3px #ff707d29, var(--login-control-shadow)}.cho-login-shell .login-field-entry{align-content:center;min-width:0;height:100%;display:grid}.cho-login-shell .login-field input{width:100%;min-width:0;color:var(--login-control-text);font-family:var(--login-font);background:0 0;border:0;outline:0;font-size:clamp(1.05rem,2.1vw,1.22rem);font-weight:800}.cho-login-shell .login-field>svg{width:28px;height:28px}.cho-login-shell .login-field input::placeholder{color:var(--login-control-muted);opacity:1}.cho-login-shell .login-field-message{color:#ffadb4;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 8px #000000d1;min-width:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(.61rem,1.55vw,.69rem);font-weight:750;line-height:1.05;overflow:hidden}.cho-login-shell .login-field-action{width:42px;height:42px;color:var(--login-control-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;transition:border-color .16s,background .16s,color .16s;display:grid}.cho-login-shell .login-field-action:hover,.cho-login-shell .login-field-action:focus-visible{color:var(--login-control-gold);background:#e1ad4024;border-color:#e1ad4094;outline:none}.cho-login-shell .login-field-action svg{width:26px;height:26px}.cho-login-shell .login-submit,.cho-login-shell .login-create{min-height:clamp(46px,5.8svh,56px);font-family:var(--login-font);cursor:pointer;border-radius:16px;font-size:clamp(1.02rem,2.1vw,1.18rem);font-weight:900;transition:border-color .16s,background .16s,box-shadow .16s,color .16s,transform .16s}.cho-login-shell .login-submit{background:linear-gradient(112deg, transparent 0 34%, #fff7d242 46%, transparent 58%), linear-gradient(145deg, #f4d47e 0%, var(--login-control-gold) 48%, var(--login-control-gold-deep) 100%);color:#111212;border:1px solid #ffe59ce0;justify-content:center;align-items:center;gap:9px;display:flex;box-shadow:inset 0 1px #ffffff57,0 18px 36px #bb7e1861}.cho-login-shell .login-secondary-actions{grid-template-columns:1fr;gap:10px;display:grid}.cho-login-shell .login-create{width:100%;color:var(--gold-pale);background:linear-gradient(145deg,#171713 0%,#0a0b0b 58%,#050606 100%);border:1px solid #e1ad40b8;box-shadow:inset 0 1px #ffffff1a,0 18px 36px #00000075}.cho-login-shell .login-secondary-actions .login-back-to-sign-in{justify-content:center;align-items:center;gap:8px;display:flex}.cho-login-shell .login-submit:hover,.cho-login-shell .login-submit:focus-visible,.cho-login-shell .login-create:hover,.cho-login-shell .login-create:focus-visible{outline:none;transform:translateY(-1px)}.cho-login-shell .login-submit:active:not(:disabled),.cho-login-shell .login-create:active:not(:disabled){transition-duration:70ms;transform:translateY(1px)scale(.995)}.cho-login-shell .login-submit:hover,.cho-login-shell .login-submit:focus-visible{border-color:#fff1bf;box-shadow:inset 0 1px #ffffff61,0 20px 40px #bb7e1880}.cho-login-shell .login-create:hover,.cho-login-shell .login-create:focus-visible{border-color:var(--gold-bright);box-shadow:inset 0 1px #ffffff24,0 20px 40px #bd842047}.cho-login-shell .login-submit:disabled,.cho-login-shell .login-create:disabled{cursor:wait;opacity:.68;transform:none}.cho-login-shell .login-button-spinner{flex:none;animation:.74s linear infinite loginButtonSpin}.cho-login-shell .login-recovery-row{justify-content:flex-end;align-items:center;min-height:16px;margin:-7px 4px 0;display:flex}.cho-login-shell .login-forgot-password{color:#f4d47ed1;letter-spacing:.01em;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:24px;padding:0 3px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.72rem;font-weight:720;transition:color .15s,background .15s}.cho-login-shell .login-forgot-password:hover,.cho-login-shell .login-forgot-password:focus-visible{color:#ffe7a5;background:#e1ad401a;outline:none}.cho-login-shell .login-forgot-password:disabled{cursor:wait;opacity:.55}.cho-login-shell .login-error{color:#ff9da5;text-shadow:0 2px 8px #000c;margin:-8px 4px 0;font-weight:800}.cho-login-shell .login-form-error{text-align:center;margin:0 4px}.cho-login-shell .login-notice{color:#bfe8cf;text-align:center;text-shadow:0 2px 8px #000c;margin:0 4px;font-size:.84rem;font-weight:800}.cho-login-shell .login-divider{display:none}.cho-login-shell .login-account-overlay{z-index:240;padding:18px 14px max(24px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:linear-gradient(#01030561,#010305e6);place-items:end center;animation:.22s ease-out both loginAccountOverlayIn;display:grid;position:absolute;inset:0}.cho-login-shell .login-account-sheet{color:#fffdf5;background:radial-gradient(circle at 18% 0,#e1ad4029,#0000 36%),linear-gradient(160deg,#1f1b12fc,#050707fe);border:1px solid #e1ad4080;border-radius:24px;width:min(100%,420px);padding:24px 20px 20px;animation:.36s cubic-bezier(.22,1,.36,1) both loginAccountSheetIn;position:relative;box-shadow:inset 0 1px #ffffff21,0 30px 78px #000000b8}.cho-login-shell .login-account-close{color:#fffc;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;top:14px;right:14px}.cho-login-shell .login-account-close:focus-visible,.cho-login-shell .login-account-close:hover{color:var(--gold-pale);border-color:#e1ad40ad;outline:none}.cho-login-shell .login-account-close:disabled{cursor:wait;opacity:.5}.cho-login-shell .login-account-eyebrow{color:#efd58f;letter-spacing:.015em;text-wrap:balance;text-shadow:0 1px 12px #e1ad4024;margin:0 44px 8px 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI Variable,Segoe UI,sans-serif;font-size:clamp(.9rem,3.6vw,1.05rem);font-weight:650;line-height:1.3}.cho-login-shell .login-account-sheet h2{margin:0;font-size:clamp(1.55rem,6vw,2rem);line-height:1.04}.cho-login-shell .login-account-sheet>p:not(.login-account-eyebrow,.login-account-error,.login-account-privacy){color:#efe6cfc2;margin:8px 0 17px;font-family:system-ui,sans-serif;font-size:.82rem;line-height:1.42}.cho-login-shell .login-provider-list{gap:10px;display:grid}.cho-login-shell .login-provider-button{cursor:pointer;border-radius:14px;grid-template-columns:28px 1fr 28px;align-items:center;gap:10px;width:100%;min-height:50px;padding:0 16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.93rem;font-weight:700;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.cho-login-shell .login-provider-button>:first-child{justify-self:center}.cho-login-shell .login-provider-button span{text-align:center;grid-column:2}.cho-login-shell .login-provider-button:hover,.cho-login-shell .login-provider-button:focus-visible{outline:none;transform:translateY(-1px)}.cho-login-shell .login-provider-button:disabled{cursor:wait;opacity:.7;transform:none}.cho-login-shell .login-provider-google{color:#18212d;background:#fff;border:1px solid #e0e6eee6;box-shadow:0 10px 24px #0000003d}.cho-login-shell .login-provider-google:hover,.cho-login-shell .login-provider-google:focus-visible{box-shadow:0 13px 28px #00000052}.cho-login-shell .login-provider-apple{color:#fff;background:#050505;border:1px solid #ffffff52;box-shadow:0 10px 24px #00000057}.cho-login-shell .login-provider-apple:hover,.cho-login-shell .login-provider-apple:focus-visible{border-color:#ffffff9e;box-shadow:0 13px 28px #0000006b}.cho-login-shell .login-provider-facebook{color:#fff;background:#1877f2;border:1px solid #ffffff57;box-shadow:0 10px 24px #06418f57}.cho-login-shell .login-provider-facebook:hover,.cho-login-shell .login-provider-facebook:focus-visible{background:#166fe5;border-color:#ffffffad;box-shadow:0 13px 28px #06418f75}.cho-login-shell .login-provider-email{color:var(--gold-pale);background:#302611c7;border:1px solid #e1ad4085}.cho-login-shell .login-provider-email:hover,.cho-login-shell .login-provider-email:focus-visible{border-color:#e1ad40d1;box-shadow:0 10px 24px #bd842042}.cho-login-shell .login-provider-guest{color:#f7efdbdb;background:#ffffff0e;border:1px solid #eee4cb3d}.cho-login-shell .login-provider-guest:hover,.cho-login-shell .login-provider-guest:focus-visible{background:#ffffff17;border-color:#eee4cb7a;box-shadow:0 10px 24px #00000042}.cho-login-shell .login-google-mark{width:21px;height:21px}.cho-login-shell .login-facebook-mark{width:24px;height:24px}.cho-login-shell .login-provider-divider{color:#e8dcbe94;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-family:system-ui,sans-serif;font-size:.72rem;display:grid}.cho-login-shell .login-provider-divider span{background:#e1ad4038;height:1px}.cho-login-shell .login-account-error{color:#ffb0b7;text-align:center;margin:12px 2px 0;font-family:system-ui,sans-serif;font-size:.77rem;font-weight:700;line-height:1.4}.cho-login-shell .login-account-privacy{color:#ddd3bb94;text-align:center;margin:15px 3px 0;font-family:system-ui,sans-serif;font-size:.67rem;line-height:1.42}@keyframes loginAccountOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes loginAccountSheetIn{0%{opacity:0;transform:translateY(28px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loginButtonSpin{to{transform:rotate(360deg)}}@keyframes loginControlsHandoff{0%{opacity:0}to{opacity:1}}@keyframes loginPremiumArchitectureIn{0%{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@keyframes loginDisciplineWordReveal{0%{opacity:0}to{opacity:1}}@keyframes loginDisciplinePhraseDissolve{0%{opacity:1}to{opacity:0}}@keyframes loginDisciplineAuthorReveal{0%{opacity:0}to{opacity:1}}@media (width>=980px){.cho-login-shell .auth-gate{--auth-logo-final-center-y:calc(max(env(safe-area-inset-top,0px), 0px) + clamp(94px, 11.2svh, 108px));--auth-logo-center-width:min(58vw, 650px);--auth-logo-final-scale:.58}}@media (width<=560px){.cho-login-shell .auth-gate{--auth-logo-final-center-y:calc(max(env(safe-area-inset-top,0px), 0px) + clamp(92px, 10.5svh, 104px));--auth-logo-center-width:min(88vw, 680px);--auth-logo-final-scale:.8}.cho-login-shell .login-landing{padding:max(12px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom))}.cho-login-shell .login-dojo-fallback-fighter{width:min(62%,270px);bottom:30%}.cho-login-shell .login-panel{gap:clamp(8px,1.15svh,10px)}.cho-login-shell .login-field{border-radius:13px;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;min-height:clamp(50px,6.1svh,58px);padding:0 12px}.cho-login-shell .login-field>svg{width:24px;height:24px}.cho-login-shell .login-field input{font-size:clamp(1rem,4vw,1.12rem)}.cho-login-shell .login-field-message{font-size:clamp(.59rem,2.5vw,.66rem)}.cho-login-shell .login-field-action{width:36px;height:36px}.cho-login-shell .login-field-action svg{width:23px;height:23px}.cho-login-shell .login-submit,.cho-login-shell .login-create{border-radius:13px;min-height:clamp(46px,5.9svh,54px);font-size:clamp(.98rem,3.8vw,1.08rem)}.cho-login-shell .login-premium-auth-frame{inset:calc(clamp(476px,58svh,538px) - 7px) 6px calc(clamp(55px,8.7svh,81px) - 6px)}}@media (width<=560px) and (height<=720px){.cho-login-shell .auth-gate{--auth-logo-final-center-y:calc(max(env(safe-area-inset-top,0px), 0px) + clamp(82px, 11svh, 92px));--auth-logo-final-scale:.82}.cho-login-shell .login-karate-stage{--karate-scene-top:clamp(76px, 12svh, 88px)}.cho-login-shell .login-panel-wrap{gap:16px}.cho-login-shell .login-discipline-quotes{height:clamp(60px,9.3svh,68px);padding-inline:10px}.cho-login-shell .login-discipline-word{font-size:clamp(1.08rem,4.1vw,1.28rem)}.cho-login-shell .login-discipline-author{font-size:clamp(.72rem,2.65vw,.84rem)}.cho-login-shell .login-discipline-quote blockquote{font-size:clamp(.78rem,3.15vw,.9rem);line-height:1.18}.cho-login-shell .login-discipline-quote figcaption{font-size:clamp(.58rem,2.15vw,.64rem)}.cho-login-shell .login-field{border-radius:12px;min-height:46px}.cho-login-shell .login-submit,.cho-login-shell .login-create{min-height:44px}.cho-login-shell .login-account-overlay{padding:10px}.cho-login-shell .login-account-sheet{border-radius:18px;padding:18px 16px 14px}.cho-login-shell .login-account-sheet h2{font-size:1.35rem}.cho-login-shell .login-account-sheet>p:not(.login-account-eyebrow,.login-account-error,.login-account-privacy){margin-bottom:11px}.cho-login-shell .login-provider-list{gap:7px}.cho-login-shell .login-provider-button{min-height:43px}.cho-login-shell .login-premium-auth-frame{height:256px;top:auto}}@media (width<=560px) and (height<=620px){.cho-login-shell .login-karate-stage{--karate-scene-top:clamp(62px, 11.5svh, 68px);--karate-scene-height:clamp(238px, 43svh, 250px)}.cho-login-shell .login-panel-wrap{padding-bottom:env(safe-area-inset-bottom)}.cho-login-shell .login-discipline-quotes{height:clamp(56px,10svh,62px)}.cho-login-shell .login-discipline-word{font-size:clamp(.98rem,3.7vw,1.08rem)}.cho-login-shell .login-discipline-author{font-size:clamp(.66rem,2.5vw,.76rem)}.cho-login-shell .login-discipline-quote blockquote{font-size:clamp(.76rem,3.1vw,.82rem);line-height:1.15}.cho-login-shell .login-discipline-quote figcaption{font-size:clamp(.55rem,2.05vw,.6rem)}.cho-login-shell .login-premium-auth-frame{top:auto;bottom:max(4px, env(safe-area-inset-bottom));height:250px}}@media (orientation:landscape) and (width<=920px) and (height<=560px){.cho-login-shell .portrait-app-frame{width:100vw;max-width:100%}.cho-login-shell .auth-gate{--auth-logo-final-center-y:calc(max(env(safe-area-inset-top,0px), 0px) + clamp(40px, 11.5svh, 52px));--auth-logo-final-scale:.38}.cho-login-shell .portrait-app-frame .cho-intro-root .cho-intro-logo{transition:left .92s cubic-bezier(.22,1,.36,1)}.cho-login-shell .portrait-app-frame .cho-intro-root:is(.is-handoff,.is-complete,.is-reduced,.is-fallback) .cho-intro-logo{left:29%}.cho-login-shell .login-landing{padding:8px 12px}.cho-login-shell .login-dojo-stage,.cho-login-shell .login-karate-stage{width:58%}.cho-login-shell .login-karate-scene-lock{height:72%;top:20%}.cho-login-shell .login-karate-audience-image{top:8px}.cho-login-shell .login-karate-video,.cho-login-shell .login-karate-poster{max-width:78%;height:100%;top:0}.cho-login-shell .login-karate-light{height:140%;top:-20%}.cho-login-shell .login-karate-transition-veil{height:132%;top:-16%}.cho-login-shell .login-dojo-fallback-fighter{width:min(48%,230px);bottom:8%}.cho-login-shell .login-panel-wrap{align-content:center;justify-self:end;gap:5px;width:min(44vw,430px);min-height:calc(100dvh - 16px);padding-bottom:0}.cho-login-shell .login-discipline-quotes{width:52%;height:56px;padding-inline:10px;position:fixed;inset:auto auto 7% 29%;transform:translate(-50%)}.cho-login-shell .login-discipline-word{font-size:clamp(.76rem,1.7vw,.9rem)}.cho-login-shell .login-discipline-author{font-size:clamp(.56rem,1.35vw,.66rem)}.cho-login-shell .login-discipline-quote blockquote{font-size:clamp(.59rem,1.5vw,.7rem);line-height:1.15}.cho-login-shell .login-discipline-quote figcaption{font-size:clamp(.47rem,1.1vw,.55rem)}.cho-login-shell .login-panel{gap:5px;padding-bottom:0}.cho-login-shell .login-field{border-radius:9px;grid-template-columns:28px minmax(0,1fr) auto;min-height:clamp(34px,9.3svh,40px);padding:0 9px}.cho-login-shell .login-field>svg,.cho-login-shell .login-field-action svg{width:19px;height:19px}.cho-login-shell .login-field input{font-size:clamp(.74rem,1.8vw,.86rem)}.cho-login-shell .login-field-message{font-size:clamp(.5rem,1.25vw,.59rem)}.cho-login-shell .login-recovery-row{min-height:12px;margin-top:-5px}.cho-login-shell .login-forgot-password{min-height:18px;font-size:.58rem}.cho-login-shell .login-field-action{width:28px;height:28px}.cho-login-shell .login-submit,.cho-login-shell .login-create{border-radius:9px;min-height:clamp(34px,9.2svh,40px);font-size:clamp(.74rem,1.8vw,.86rem)}.cho-login-shell .login-account-overlay{align-items:center;padding:8px 12px}.cho-login-shell .login-account-sheet{border-radius:16px;width:min(46vw,430px);padding:14px 16px 12px}.cho-login-shell .login-account-sheet h2{font-size:1.2rem}.cho-login-shell .login-account-sheet>p:not(.login-account-eyebrow,.login-account-error,.login-account-privacy){margin:4px 0 8px;font-size:.7rem}.cho-login-shell .login-provider-list{gap:6px}.cho-login-shell .login-provider-button{border-radius:10px;min-height:38px;font-size:.78rem}.cho-login-shell .login-account-privacy{display:none}.cho-login-shell .login-premium-auth-frame{inset:6px 2px 6px 55%}}.cho-login-shell .portrait-app-frame .auth-gate{--auth-logo-center-width:min(86%, 430px)}.cho-login-shell .portrait-app-frame .launch-stage{max-width:calc(100% - 32px)}@media (prefers-reduced-motion:reduce){.cho-login-shell .login-landing,.cho-login-shell .login-dojo-stage,.cho-login-shell .login-karate-stage,.cho-login-shell .login-karate-video,.cho-login-shell .login-karate-poster,.cho-login-shell .login-karate-light,.cho-login-shell .login-karate-transition-veil,.cho-login-shell .login-karate-audience-image,.cho-login-shell .login-karate-fighter-glow,.cho-login-shell .login-karate-character-shadow,.cho-login-shell .login-premium-architecture,.cho-login-shell .login-discipline-quote,.cho-login-shell .login-panel,.cho-login-shell .login-divider,.cho-login-shell .login-account-overlay,.cho-login-shell .login-account-sheet{transition:none;animation:none}.cho-login-shell .login-button-spinner{animation:none}.cho-login-shell .login-landing.is-handoff .login-dojo-stage,.cho-login-shell .login-landing.is-handoff .login-karate-stage{opacity:1}.cho-login-shell .login-karate-light{animation:none}.cho-login-shell .login-landing.is-handoff .login-panel{opacity:1;transform:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--page:#fff;--surface:#fff;--surface-soft:#f6f6f5;--surface-deep:#0a0b0b;--ink:#111212;--muted:#606261;--line:#e8e8e6;--gold:#bd8420;--gold-bright:#e1ad40;--gold-pale:#f6de9a;--blue:#0b9ee8;--green:#41bd22;--danger:#b4322a;--shadow-panel:0 10px 30px #14120d1f, 0 2px 8px #14120d0d;--shadow-card:0 8px 22px #100e082e;--radius-panel:16px;--radius-card:14px;--nav-height:72px;--app-max:940px;--ease:.22s cubic-bezier(.2, .8, .2, 1);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#101111;--surface:#181919;--surface-soft:#222323;--ink:#f7f7f4;--muted:#b8b9b6;--line:#323332;--shadow-panel:0 10px 30px #00000059}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}html{background:var(--page);scroll-behavior:smooth}body{background:var(--page);min-width:0;min-height:0;color:var(--ink);overscroll-behavior:none;-webkit-font-smoothing:antialiased;margin:0}body,button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{flex:none}:focus-visible{outline:3px solid color-mix(in srgb, var(--gold-bright) 75%, white);outline-offset:3px}::selection{color:#111;background:var(--gold-pale)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{background:var(--page);height:100dvh;min-height:0;overflow:hidden}.app-content{height:calc(100dvh - var(--nav-height) - env(safe-area-inset-bottom));min-height:0;overflow:hidden}.app-content>*{min-height:0}.standard-page{overscroll-behavior:contain;width:min(100%,800px);height:100%;min-height:0;margin:0 auto;padding:clamp(12px,2.2dvh,20px) clamp(14px,3.5vw,28px) clamp(24px,4dvh,36px);overflow:hidden auto}:where(.standard-page,.home-page,.login-page,.conversation-list,.message-list,.conversation-info,.composer-attachments,.modal-card){scrollbar-width:none;-ms-overflow-style:none}:where(.standard-page,.home-page,.login-page,.conversation-list,.message-list,.conversation-info,.composer-attachments,.modal-card)::-webkit-scrollbar{width:0;height:0;display:none}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(10px,2dvh,18px);display:flex}.page-header-main{align-items:center;gap:8px;min-width:0;display:flex}.page-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,4vw,1.85rem);line-height:1.08}.page-header p{color:var(--muted);margin:5px 0 0;font-size:.86rem}.page-header-actions{flex:none}.icon-button{cursor:pointer;width:44px;height:44px;transition:color var(--ease), background var(--ease), transform var(--ease);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover:not(:disabled),.icon-button.active{color:var(--gold);background:color-mix(in srgb, var(--gold-pale) 42%, transparent)}.icon-button:active:not(:disabled){transform:scale(.94)}.icon-button:disabled{cursor:not-allowed;opacity:.35}.icon-button svg{stroke-width:2px;width:22px;height:22px}.gold-button,.outline-button,.danger-button{cursor:pointer;min-height:44px;transition:transform var(--ease), box-shadow var(--ease), background var(--ease);border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:750;display:inline-flex}.gold-button{color:#111;background:linear-gradient(145deg,#f2cb70,#bc801d);box-shadow:0 7px 18px #bb7e1838}.gold-button:hover{transform:translateY(-1px);box-shadow:0 9px 22px #bb7e184d}.gold-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.gold-button.small{border-radius:9px;min-height:34px;padding:6px 12px;font-size:.82rem}.gold-button.confirmed{color:#23751f;box-shadow:none;background:#e7f5e4;border-color:#add9a8}.outline-button{color:var(--ink);background:var(--surface);border-color:var(--line)}.danger-button{color:var(--danger);background:color-mix(in srgb, var(--danger) 7%, var(--surface));border-color:color-mix(in srgb, var(--danger) 25%, var(--line))}.wide{width:100%}.skeleton{background:linear-gradient(90deg,#ececea 25%,#f7f7f5 50%,#ececea 75%) 0 0/200% 100%;border-radius:10px;animation:1.25s linear infinite skeleton;display:block}.skeleton-avatar{border-radius:50%;width:58px;height:58px}.skeleton-copy{width:55%;height:38px}.logo-skeleton{width:210px;height:80px}@keyframes skeleton{to{background-position:-200% 0}}.app-loading{height:100dvh;min-height:0;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.empty-state{text-align:center;min-height:240px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;display:flex}.empty-state svg{width:42px;height:42px;color:var(--gold);margin-bottom:12px}.empty-state h2,.empty-state h3{color:var(--ink);margin:0 0 7px}.empty-state p{max-width:340px;margin:0}.empty-state a{color:var(--gold);margin-top:8px;font-weight:700}.empty-state.compact{min-height:150px}.avatar{--avatar-size:64px;width:var(--avatar-size);height:var(--avatar-size);background:var(--surface);border-radius:50%;flex:none;padding:2px;display:inline-flex;position:relative;box-shadow:0 2px 8px #0a0a0a29}.avatar-image{border-radius:inherit;background-image:url(/assets/contact-portraits.webp);background-size:400% 200%;background-position:var(--avatar-x) var(--avatar-y);background-repeat:no-repeat;width:100%;height:100%;display:block}.avatar-upload{border-radius:inherit;object-fit:cover;background:var(--surface-soft);width:calc(100% - 4px);height:calc(100% - 4px);position:absolute;inset:2px}.avatar-small{--avatar-size:42px}.avatar-medium{--avatar-size:58px}.avatar-large{--avatar-size:clamp(62px, 16vw, 82px)}.avatar-hero{--avatar-size:clamp(72px, 18vw, 104px)}.avatar-ring-gold{outline:2px solid var(--gold);outline-offset:1px}.avatar-ring-blue{outline:3px solid var(--blue);outline-offset:2px;box-shadow:0 0 0 5px var(--gold)}.avatar-ring-none{outline:1px solid #c8c8c5}.presence-dot{aspect-ratio:1;background:var(--green);border:2px solid var(--surface);border-radius:50%;width:clamp(12px,25%,18px);position:absolute;bottom:4%;right:0}.presence-recent{background:var(--gold)}.bottom-nav{z-index:80;min-height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);color:#efefeb;background:radial-gradient(circle at 18% -20%,#d3a33d1f,#0000 38%),#080909;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #0000001f}.bottom-nav-inner{width:min(100%,900px);min-height:var(--nav-height);grid-template-columns:repeat(5,1fr);align-items:center;margin:0 auto;padding:3px clamp(8px,3vw,22px) 2px;display:grid}.nav-item{color:#ddd;min-width:0;min-height:58px;transition:color var(--ease), background var(--ease), transform var(--ease);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:clamp(.67rem,2.5vw,.76rem);display:flex}.nav-item:hover{color:#fff}.nav-item.active{color:#f4c856;background:radial-gradient(circle,#e9b8412e,#ae74160a 65%,#0000 70%);box-shadow:inset 0 0 0 1px #e4b84e,0 0 18px #dcab3447}.nav-icon{display:inline-flex;position:relative}.nav-icon svg{stroke-width:2px;width:25px;height:25px}.nav-item.active .nav-icon svg{fill:currentColor;stroke:#b57918;filter:drop-shadow(0 2px 4px #edba3a80)}.nav-badge{color:#111;background:var(--gold-bright);border:2px solid #080909;border-radius:10px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:.63rem;font-weight:900;display:grid;position:absolute;top:-7px;right:-12px}.in-app-notification{z-index:100;left:50%;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 14px);text-align:left;color:#fff;cursor:pointer;width:min(100% - 28px,390px);animation:toast-in var(--ease) both;background:#0b0c0cf5;border:1px solid #e0ae41b3;border-radius:16px;align-items:center;gap:11px;padding:11px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 45px #00000047}.in-app-notification span{min-width:0;display:grid}.in-app-notification small{color:#d5d5d2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,15px)}}.login-page{overscroll-behavior:contain;background:radial-gradient(circle at 50% 10%,#fff 0,#f5f3ee 50%,#e9e5dc 100%);place-items:center;height:100dvh;min-height:0;padding:24px;display:grid;overflow:hidden auto}.login-card{text-align:center;width:min(100%,390px);box-shadow:var(--shadow-panel);background:#fffffff2;border:1px solid #bf842040;border-radius:20px;padding:26px}.login-logo{object-fit:contain;width:clamp(142px,40vw,176px);height:clamp(60px,14dvh,82px);margin:-5px auto 4px}.login-card h1{letter-spacing:-.04em;margin:0;font-size:1.7rem}.login-card>p{color:var(--muted);line-height:1.55}.login-card form{text-align:left;gap:15px;margin-top:22px;display:grid}.login-card label,.modal-card label{color:var(--muted);gap:7px;font-size:.84rem;font-weight:700;display:grid}.input-with-icon{border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.input-with-icon input{width:100%;height:46px;color:var(--ink);background:0 0;border:0;outline:0}.form-note{margin-bottom:0;font-size:.8rem}.form-error,.composer-error{color:var(--danger);margin:0;font-size:.83rem}@media (width>=700px) and (width<=1023px){:root{--nav-height:clamp(80px, 9vw, 92px)}.bottom-nav-inner{padding-block:4px 7px}.nav-item{border-radius:20px;justify-self:center;gap:4px;width:78px;min-height:68px;font-size:.8rem}.nav-icon svg{width:30px;height:30px}}@media (width>=1024px){.bottom-nav-inner{width:720px}.nav-item{padding-inline:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.home-page{overscroll-behavior:contain;width:min(100%,880px);height:100%;margin:0 auto;padding:2px clamp(10px,4vw,44px) 18px;overflow:hidden auto}.brand-header{justify-content:center;align-items:center;height:clamp(64px,9dvh,90px);display:flex}.brand-header img{object-fit:contain;width:clamp(136px,38vw,210px);height:clamp(54px,8dvh,76px)}.recent-messages-panel{background:var(--surface);border-radius:var(--radius-panel);height:clamp(288px,36dvh,352px);box-shadow:var(--shadow-panel);overscroll-behavior-y:contain;scroll-snap-type:y proximity;scrollbar-width:none;touch-action:pan-x;cursor:grab;-webkit-user-select:none;user-select:none;margin-top:clamp(7px,1.2dvh,10px);padding:0 clamp(8px,1.8vw,13px);overflow:hidden auto}.recent-messages-panel[data-dragging=true]{scroll-snap-type:none;cursor:grabbing}.recent-messages-panel::-webkit-scrollbar{width:0;height:0;display:none}.message-row{min-height:clamp(72px,9dvh,88px);color:var(--ink);scroll-snap-align:start;-webkit-user-drag:none;grid-template-columns:auto minmax(0,1fr) auto 18px;align-items:center;column-gap:clamp(8px,2vw,14px);padding:5px 2px;display:grid;position:relative}.recent-messages-panel .avatar-hero{--avatar-size:clamp(50px, 13vw, 62px)}.message-row+.message-row:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:0;right:0}.message-row:hover{background:color-mix(in srgb, var(--gold-pale) 10%, transparent)}.message-row.unread{background:linear-gradient(90deg,#ecc05233 0%,#e5af371a 58%,#e5af370a 100%);box-shadow:inset 0 0 18px #bc7b1424}.message-row.unread:hover{background:linear-gradient(90deg,#ecc05240 0%,#e5af3721 58%,#e5af370f 100%)}[data-theme=dark] .message-row.unread{background:linear-gradient(90deg,#d59d2f2e,#d59d2f12);box-shadow:inset 0 0 18px #eebc531a}.message-copy{align-content:center;gap:4px;min-width:0;display:grid}.message-name{letter-spacing:-.025em;align-items:center;gap:6px;font-size:clamp(.95rem,2.2vw,1.08rem);font-weight:800;line-height:1.1;display:flex}.verified-badge{width:clamp(19px,4.7vw,26px);height:clamp(19px,4.7vw,26px);color:var(--gold);fill:var(--gold);stroke:#fff}.message-preview{-webkit-line-clamp:2;color:#343534;-webkit-box-orient:vertical;font-size:clamp(.76rem,1.9vw,.86rem);line-height:1.32;display:-webkit-box;overflow:hidden}[data-theme=dark] .message-preview{color:var(--muted)}.message-meta{flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-end;gap:5px;min-width:46px;display:flex}.message-time{color:#3e403f;white-space:nowrap;font-size:clamp(.76rem,2.9vw,.95rem)}.row-chevron{stroke-width:2.1px;width:clamp(18px,4.5vw,25px);height:clamp(18px,4.5vw,25px)}.message-skeleton{gap:20px;display:flex}.home-section{margin-top:clamp(9px,1.5dvh,15px)}.section-heading{justify-content:space-between;align-items:center;height:25px;margin:0 0 clamp(6px,1dvh,8px);display:flex}.section-heading h2{letter-spacing:-.02em;margin:0;padding-left:14px;font-size:clamp(.9rem,2.4vw,1.05rem);position:relative}.section-heading h2:before{content:"";background:linear-gradient(#eecb6f,#b47714);border-radius:3px;width:4px;position:absolute;top:1px;bottom:1px;left:1px}.section-heading a{color:var(--gold);align-items:center;font-size:clamp(.76rem,3vw,.95rem);display:inline-flex}.section-heading a svg{width:18px}.event-grid{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;gap:clamp(8px,2vw,14px);display:flex;overflow-x:auto}.event-grid[data-dragging=true]{scroll-snap-type:none;cursor:grabbing}.event-grid::-webkit-scrollbar{display:none}.event-card{aspect-ratio:1.85;color:#fff;border:1px solid var(--gold);border-radius:var(--radius-card);box-shadow:var(--shadow-card);scroll-snap-align:start;transition:transform var(--ease), box-shadow var(--ease);-webkit-user-drag:none;background-position:50%;background-size:cover;flex-direction:column;flex:0 0 clamp(190px,72%,270px);justify-content:space-between;padding:clamp(8px,1.8vw,12px);display:flex;position:relative;overflow:hidden}.event-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px #100e0847}.event-skeleton{aspect-ratio:1.85;border-radius:var(--radius-card);scroll-snap-align:start;flex:0 0 clamp(190px,72%,270px)}.event-date{text-shadow:0 1px 5px #000;align-self:flex-start;display:grid}.event-date span{color:#f5c64c;font-size:clamp(.58rem,2.6vw,.8rem);font-weight:700}.event-date strong{color:#fff;font-size:clamp(1.3rem,4.5vw,1.75rem);line-height:.95}.event-info{min-width:0}.event-info h3{letter-spacing:-.02em;text-shadow:0 2px 7px #000;white-space:nowrap;margin:0 0 clamp(4px,1vw,7px);font-size:clamp(.82rem,2.2vw,1.08rem);line-height:1.05}.event-info p{white-space:nowrap;text-shadow:0 1px 4px #000;align-items:center;gap:5px;margin:3px 0 0;font-size:clamp(.65rem,1.8vw,.76rem);display:flex}.event-info p svg{color:#efb932;stroke-width:2.6px;width:clamp(12px,3.2vw,17px);height:clamp(12px,3.2vw,17px)}.event-arrow{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,#dda43a,#9a610f);border:1px solid #ffe59c;border-radius:50%;place-items:center;width:clamp(28px,6vw,36px);display:grid;position:absolute;bottom:clamp(6px,1.5vw,10px);right:clamp(6px,1.5vw,10px);box-shadow:0 0 12px #e5b24699}.event-arrow svg{width:54%}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,2.4vw,17px);display:grid}.quick-card{aspect-ratio:1.12;color:#fff;transition:transform var(--ease), border-color var(--ease), box-shadow var(--ease);background:linear-gradient(145deg,#101110 0%,#050606 58%,#020303 100%);border:1.5px solid #e1a01b;border-radius:clamp(15px,4vw,24px);flex-direction:column;justify-content:center;align-items:center;gap:clamp(6px,1dvh,9px);padding:5px 3px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffd05c1f,0 7px 17px #0d0d0c38}.quick-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 29%,#ffbc281a,#0000 34%);position:absolute;inset:0}.quick-card:hover{border-color:#ffc541;transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffe08624,0 8px 18px #5d3d082e}.quick-card:active{transform:translateY(0)scale(.97)}.quick-card svg{color:#ffc542;stroke-width:2.05px;filter:drop-shadow(0 0 1px #fff3b1b3)drop-shadow(0 0 3px #ffb81d7a);width:clamp(30px,8vw,46px);height:clamp(30px,8vw,46px);position:relative}.quick-card span{color:#fff;letter-spacing:-.02em;text-shadow:0 1px 2px #000;font-size:clamp(.72rem,3.1vw,.98rem);font-weight:850;line-height:1;position:relative}.quick-card i{display:none}@media (width<=359px){.home-page{padding-inline:10px}.event-info h3{white-space:normal}.event-arrow{display:none}.quick-grid{gap:6px}.quick-card{aspect-ratio:1.02}}@media (width>=700px){.home-page{padding-bottom:18px}.event-card,.event-skeleton{aspect-ratio:2.3;flex-basis:270px}.quick-card{aspect-ratio:1.4}}@media (width>=1024px) and (height<=1000px){.event-card,.event-skeleton{aspect-ratio:2.7}.quick-card{aspect-ratio:1.6}}.chat-page{width:min(100%,1440px);height:calc(100dvh - var(--nav-height) - env(safe-area-inset-bottom));background:var(--surface);margin:0 auto;overflow:hidden}.conversation-list-pane{background:var(--surface);flex-direction:column;height:100%;display:flex}.inbox-heading{justify-content:space-between;align-items:center;padding:16px 14px 9px;display:flex}.inbox-heading h1{letter-spacing:-.04em;margin:0;font-size:1.55rem}.inbox-heading p{color:var(--muted);margin:4px 0 0;font-size:.82rem}.people-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);height:clamp(64px,8dvh,68px);margin:0 12px 9px;padding:clamp(5px,.8dvh,7px);overflow:hidden;box-shadow:0 5px 16px #14120d17}.people-scroll{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:clamp(8px,2vw,12px);height:100%;padding:2px;display:flex;overflow-x:auto}.people-scroll[data-dragging=true]{scroll-snap-type:none;cursor:grabbing}.people-scroll::-webkit-scrollbar{display:none}.story-button{scroll-snap-align:start;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;display:inline-flex;position:relative}.story-button:active{transform:scale(.95)}.story-skeleton{aspect-ratio:1;border-radius:50%;flex:none;width:clamp(42px,6dvh,52px)}.story-photo{aspect-ratio:1;background-position:50%;background-size:cover;border:2px solid #c9cbc9;border-radius:50%;width:clamp(42px,6dvh,52px);display:block}.people-panel .avatar-large{--avatar-size:clamp(42px, 6dvh, 52px)}.dojo-story{background-image:url(/assets/dojo-punching-bag.webp)}.story-plus{aspect-ratio:1;color:#fff;background:#050606;border:2px solid #fff;border-radius:50%;place-items:center;width:clamp(18px,5vw,23px);display:grid;position:absolute;bottom:-2px;right:-2px}.story-plus svg{stroke-width:3px;width:70%;height:70%}.chat-search,.page-search{height:44px;color:var(--muted);background:var(--surface-soft);border:1px solid #0000;border-radius:22px;align-items:center;gap:9px;margin:0 14px 12px;padding:0 13px;display:flex}.chat-search:focus-within,.page-search:focus-within{border-color:var(--gold)}.chat-search svg,.page-search svg{width:19px;height:19px}.chat-search input,.page-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.92rem}.conversation-list{overscroll-behavior:contain;flex:1;overflow-y:auto}.conversation-row{min-height:68px;transition:background var(--ease);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 12px;display:grid;position:relative}.conversation-row:hover,.conversation-row.selected{background:color-mix(in srgb, var(--gold-pale) 25%, var(--surface))}.conversation-copy{gap:5px;min-width:0;display:grid}.conversation-copy>span:last-child{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.conversation-name{white-space:nowrap;text-overflow:ellipsis;font-size:.97rem;font-weight:750;overflow:hidden}.conversation-row.unread .conversation-copy>span:last-child{color:var(--ink);font-weight:600}.conversation-copy .typing-copy{font-style:italic;font-weight:650;color:var(--gold)!important}.conversation-meta{color:var(--muted);flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-end;gap:8px;font-size:.69rem;display:flex}.conversation-flags{align-items:center;gap:5px;display:flex}.conversation-flags svg{width:13px;height:13px}.conversation-flags b{color:#111;background:var(--gold-bright);border-radius:11px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.66rem;display:grid}.chat-placeholder{height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:none}.chat-placeholder>svg{width:70px;height:70px;color:var(--gold);stroke-width:1.2px;margin-bottom:16px}.chat-placeholder h2{color:var(--ink);margin:0}.chat-placeholder p{margin:8px 0 20px}.conversation-view{background:var(--surface);flex-direction:column;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.chat-header{z-index:5;background:color-mix(in srgb, var(--surface) 94%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);align-items:center;gap:8px;min-height:60px;padding:6px 9px;display:flex;position:relative}.chat-back{margin-left:-6px;display:inline-flex}.chat-person{flex:1;min-width:0}.chat-person h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;overflow:hidden}.chat-person p{color:var(--muted);margin:3px 0 0;font-size:.73rem}.chat-actions{margin-left:auto;display:flex}.chat-actions .icon-button{width:39px;height:39px;color:var(--gold)}.conversation-search{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:9px;height:50px;padding:6px 12px;display:flex}.conversation-search input{height:37px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:18px;outline:0;flex:1;padding:0 12px}.conversation-search button{min-height:38px;color:var(--gold);cursor:pointer;background:0 0;border:0;font-weight:700}.conversation-search svg{width:18px;color:var(--muted)}.message-list{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;padding:13px 10px 10px;position:relative;overflow-y:auto}.load-older{min-height:36px;color:var(--gold);background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;border-radius:18px;margin:4px auto 12px;padding:7px 13px;font-size:.78rem;font-weight:700;display:block}.load-older:disabled{cursor:wait;opacity:.68}.date-separator{color:var(--muted);justify-content:center;align-items:center;margin:15px 0 10px;font-size:.7rem;font-weight:700;display:flex}.date-separator span{background:var(--surface-soft);border-radius:11px;padding:4px 9px}.message-bubble-row{transition:background var(--ease);align-items:flex-end;gap:7px;margin:6px 0;padding-inline:3px;display:flex;position:relative}.message-bubble-row.outgoing{flex-direction:row-reverse}.message-bubble-row.grouped{margin-top:2px}.message-avatar-slot{flex:0 0 34px;width:34px}.message-avatar-slot .avatar-small{--avatar-size:32px}.bubble-stack{flex-direction:column;align-items:flex-start;max-width:min(76%,620px);display:flex}.outgoing .bubble-stack{align-items:flex-end}.message-bubble{text-align:left;max-width:100%;min-height:36px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 18px 6px;gap:5px;padding:9px 12px;display:grid}.outgoing .message-bubble{color:#17130b;background:linear-gradient(145deg,#f0cf78,#d19a30);border-color:#d7a43c;border-radius:18px 18px 6px}.message-bubble.removed{color:var(--muted);box-shadow:none;background:0 0;border-style:dashed}.message-bubble em{font-size:.82rem}.bubble-text{font-size:.92rem;line-height:1.4}.bubble-text a{color:inherit;text-underline-offset:2px;text-decoration-thickness:1px}.edited-label{opacity:.6;justify-self:end;font-size:.61rem}.bubble-time{color:var(--muted);margin:3px 6px 0;font-size:.64rem}.image-attachment{cursor:zoom-in;border-radius:12px;min-width:190px;display:block;position:relative;overflow:hidden}.image-attachment img{object-fit:cover;width:100%;max-height:310px}.image-attachment span{color:#fff;background:#000000a6;border-radius:8px;padding:3px 7px;font-size:.62rem;position:absolute;bottom:7px;right:7px}.file-attachment{background:#ffffff75;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:210px;padding:8px;display:grid}.file-attachment>svg{width:25px}.file-attachment>span{min-width:0;display:grid}.file-attachment b{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.file-attachment small{opacity:.65;font-size:.65rem}.file-attachment a{border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.file-attachment a:hover{background:#00000014}.reply-preview{text-align:left;max-width:95%;color:var(--muted);background:var(--surface-soft);border:0;border-left:3px solid var(--gold);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin:0 4px 4px;padding:6px 9px;display:flex}.reply-preview svg{width:14px}.reply-preview span{min-width:0;font-size:.67rem;display:grid}.reply-preview span:not(b){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reply-preview b{color:var(--ink)}.reaction-summary{z-index:1;gap:3px;margin:-5px 8px 0;display:flex}.reaction-summary button{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:2px;height:23px;padding:1px 6px;font-size:.76rem;display:flex;box-shadow:0 2px 5px #00000014}.reaction-summary button.mine{border-color:var(--gold)}.reaction-summary span{color:var(--muted);font-size:.62rem}.delivery-state{color:var(--muted);text-transform:capitalize;margin:2px 5px 0;font-size:.6rem}.delivery-state button{color:var(--danger);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;display:inline-flex}.delivery-state button svg{width:12px}.seen-avatar{color:#fff;background:var(--gold);border-radius:50%;place-items:center;width:15px;height:15px;font-size:.55rem;display:grid}.bubble-actions{opacity:0;transition:opacity var(--ease);align-self:center;display:flex;position:relative}.message-bubble-row:hover .bubble-actions,.bubble-actions:focus-within{opacity:1}.bubble-actions>button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.bubble-actions>button:hover{color:var(--gold);background:var(--surface-soft)}.bubble-actions svg{width:16px}.reaction-picker,.message-menu,.emoji-picker{z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:14px;padding:6px;display:flex;position:absolute}.reaction-picker{bottom:34px;left:0}.outgoing .reaction-picker{left:auto;right:0}.reaction-picker button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:1.1rem}.reaction-picker button:hover{background:var(--surface-soft);transform:scale(1.12)}.message-menu{flex-direction:column;width:130px;bottom:34px;right:0}.message-menu button{cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:6px 9px;font-size:.78rem;display:flex}.message-menu button:hover{background:var(--surface-soft)}.message-menu button.danger{color:var(--danger)}.message-menu svg{width:15px}.inline-edit{gap:6px;width:min(100%,420px);display:grid}.inline-edit textarea{width:280px;min-height:70px;color:var(--ink);background:var(--surface);border:1px solid var(--gold);resize:vertical;border-radius:12px;padding:9px}.inline-edit>span{justify-content:flex-end;gap:6px;display:flex}.inline-edit>span>button:not(.gold-button){color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.76rem}.message-highlight{background:color-mix(in srgb, var(--gold-pale) 30%, transparent);border-radius:12px}.typing-indicator{color:var(--muted);align-items:flex-end;gap:7px;margin:8px 3px;display:flex}.typing-indicator .avatar-small{--avatar-size:30px}.typing-indicator>span{background:var(--surface-soft);border-radius:17px;gap:3px;padding:10px 12px;display:flex}.typing-indicator i{background:var(--muted);border-radius:50%;width:5px;height:5px;animation:1s infinite alternate typing}.typing-indicator i:nth-child(2){animation-delay:.2s}.typing-indicator i:nth-child(3){animation-delay:.4s}.typing-indicator em{margin-bottom:8px;font-size:.64rem}@keyframes typing{to{opacity:.45;transform:translateY(-4px)}}.new-messages-button{z-index:7;color:#111;background:var(--gold-bright);min-height:36px;box-shadow:var(--shadow-panel);cursor:pointer;border:0;border-radius:18px;align-items:center;gap:5px;padding:7px 13px;font-size:.75rem;font-weight:750;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.new-messages-button svg{width:15px}.message-composer{z-index:6;padding:6px max(8px, env(safe-area-inset-left)) max(7px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));background:var(--surface);border-top:1px solid var(--line);flex:none;position:relative}.composer-row{align-items:flex-end;gap:5px;display:flex}.composer-icon{width:38px;height:42px;color:var(--gold);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.composer-icon:hover{background:var(--surface-soft)}.composer-icon input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.composer-icon svg{width:21px}.composer-input-wrap{background:var(--surface-soft);border:1px solid var(--line);border-radius:22px;flex:1;align-items:flex-end;min-width:0;display:flex;position:relative}.composer-input-wrap textarea{min-width:0;min-height:40px;max-height:120px;color:var(--ink);resize:none;background:0 0;border:0;outline:0;flex:1;padding:10px 5px 9px 14px;line-height:1.35}.composer-input-wrap>button{width:38px;height:40px;color:var(--gold);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.composer-input-wrap>button svg{width:20px}.send-button{color:#15110a;cursor:pointer;width:42px;height:42px;transition:transform var(--ease);background:linear-gradient(145deg,#f2ce78,#b77813);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.send-button:active:not(:disabled){transform:scale(.91)}.send-button:disabled{opacity:.35;cursor:not-allowed}.send-button svg{width:20px}.composer-reply{color:var(--muted);background:var(--surface-soft);border-left:3px solid var(--gold);border-radius:8px;align-items:center;gap:8px;margin:-1px 42px 6px;padding:6px 9px;display:flex}.composer-reply>span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.68rem;display:grid;overflow:hidden}.composer-reply b{color:var(--ink)}.composer-reply button{cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:28px;display:grid}.composer-reply svg{width:14px}.composer-attachments{gap:6px;padding:3px 42px 7px;display:flex;overflow-x:auto}.composer-attachments>span{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;min-width:96px;max-width:150px;height:64px;padding:6px;display:flex;position:relative}.composer-attachments img{object-fit:cover;border-radius:7px;width:46px;height:50px}.composer-attachments b{white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.composer-attachments button{color:#fff;cursor:pointer;background:#191a19;border:0;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-5px;right:-5px}.composer-attachments button svg{width:12px}.upload-progress{background:var(--line);border-radius:3px;height:3px;margin:0 42px 4px;overflow:hidden}.upload-progress span{background:var(--gold);height:100%;transition:width var(--ease);display:block}.composer-error{padding:0 44px 5px}.emoji-picker{grid-template-columns:repeat(4,1fr);width:190px;display:grid;bottom:48px;right:0}.emoji-picker button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:40px;height:40px;font-size:1.2rem}.emoji-picker button:hover{background:var(--surface-soft)}.conversation-info{z-index:12;text-align:center;background:var(--surface);border-left:1px solid var(--line);width:min(88%,310px);animation:drawer-in var(--ease) both;padding:16px;position:absolute;inset:0 0 0 auto;overflow-y:auto;box-shadow:-14px 0 30px #0000001f}@keyframes drawer-in{0%{transform:translate(100%)}}.info-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.info-top h2{margin:0;font-size:1.05rem}.info-top button{transform:rotate(180deg)}.conversation-info>h3{margin:13px 0 3px}.conversation-info>p{color:var(--muted);margin:0;font-size:.8rem}.info-shortcuts{grid-template-columns:repeat(2,1fr);gap:7px;margin:20px 0;display:grid}.info-shortcuts button{background:var(--surface-soft);cursor:pointer;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:64px;font-size:.66rem;display:flex}.info-shortcuts button:disabled{cursor:default;opacity:.56}.info-shortcuts svg{width:20px;color:var(--gold)}.conversation-info>.info-action-error{color:var(--danger);margin:-10px 0 14px;font-size:.7rem;line-height:1.4}.conversation-info section{text-align:left;border-top:1px solid var(--line);padding:14px 0}.conversation-info h4{margin:0 0 10px;font-size:.82rem}.shared-media{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.shared-media img{aspect-ratio:1;object-fit:cover;border-radius:7px;width:100%}.info-empty{color:var(--muted);align-items:center;gap:7px;font-size:.73rem;display:flex}.info-empty svg{width:17px}.shared-file{color:var(--muted);align-items:center;gap:7px;padding:7px 0;font-size:.75rem;display:flex}.shared-file svg{width:17px;color:var(--gold)}.safety-actions{gap:5px;display:grid}.safety-actions button{text-align:left;min-height:38px;color:var(--muted);opacity:.6;background:0 0;border:0}.safety-actions small{color:var(--muted);font-size:.64rem;line-height:1.4}.image-viewer{z-index:200;background:#000000e6;place-items:center;padding:50px 16px 20px;display:grid;position:fixed;inset:0}.image-viewer img{object-fit:contain;max-width:min(100%,1200px);max-height:calc(100vh - 80px)}.image-viewer button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:20px;min-height:40px;padding:7px 14px;position:absolute;top:14px;right:16px}@media (width<=767px){.chat-page.has-selection .conversation-list-pane,.chat-page:not(.has-selection) .conversation-view,.conversation-route .bottom-nav{display:none}.conversation-route .app-content,.conversation-route .chat-page{height:100dvh}.bubble-actions{opacity:.82}.bubble-actions>button:first-child{display:none}}@media (width>=768px){.chat-page{border-inline:1px solid var(--line);grid-template-columns:310px minmax(0,1fr);display:grid}.conversation-list-pane{border-right:1px solid var(--line)}.chat-placeholder{display:flex}.chat-back{display:none}.message-list{padding-inline:clamp(20px,4vw,58px)}.message-composer{padding-inline:clamp(18px,3vw,46px)}}@media (width>=1180px){.chat-page{grid-template-columns:340px minmax(0,1fr)}:is(.conversation-view:has(.conversation-info) .message-list,.conversation-view:has(.conversation-info) .message-composer,.conversation-view:has(.conversation-info) .conversation-search){margin-right:310px}.conversation-view:has(.conversation-info) .chat-header{padding-right:320px}}.page-search{border-radius:14px;margin:0 0 14px}.segmented-control{background:var(--surface-soft);border-radius:13px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.segmented-control button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:7px;font-size:.78rem;font-weight:650}.segmented-control button.active{color:#111;background:var(--gold-bright);box-shadow:0 2px 7px #84560d2e}.contact-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);margin-top:12px;overflow:hidden}.contact-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:8px 11px;display:grid;position:relative}.contact-row+.contact-row{border-top:1px solid var(--line)}.contact-row>div{min-width:0}.contact-row h2{align-items:center;gap:6px;margin:0;font-size:1rem;display:flex}.contact-row h2 svg{width:17px;color:var(--gold);fill:var(--gold);stroke:#fff}.contact-row p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:3px 0;font-size:.76rem;overflow:hidden}.contact-row div>span{color:var(--green);font-size:.68rem}.circle-action{color:#111;background:var(--gold-bright);cursor:pointer;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.circle-action svg{width:20px}.profile-hero{flex-direction:column;align-items:center;padding:5px 0 16px;display:flex}.profile-hero h2{letter-spacing:-.03em;align-items:center;gap:6px;margin:15px 0 3px;font-size:1.6rem;display:flex}.profile-hero h2 svg{width:21px;color:var(--gold);fill:var(--gold);stroke:#fff}.profile-hero p{color:var(--muted);margin:0}.profile-hero>span{color:#6e4810;background:var(--gold-pale);border:1px solid #dcad4c;border-radius:13px;margin-top:8px;padding:5px 11px;font-size:.74rem;font-weight:750}.profile-stats{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px;display:grid}.profile-stats article{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:88px;padding:8px;display:flex;box-shadow:0 5px 16px #0000000d}.profile-stats svg{width:23px;color:var(--gold)}.profile-stats strong{margin-top:5px;font-size:1.18rem}.profile-stats span{color:var(--muted);font-size:.64rem}.success-toast{z-index:100;color:#225c20;box-shadow:var(--shadow-panel);background:#e2f3de;border:1px solid #9dcc94;border-radius:18px;align-items:center;gap:6px;padding:9px 14px;font-size:.78rem;font-weight:700;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.success-toast svg{width:17px}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);margin-bottom:12px;padding:13px;box-shadow:0 5px 15px #0000000d}.settings-card>h2{margin:0 0 7px;font-size:.88rem}.setting-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;display:grid}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row>svg{width:21px;color:var(--gold)}.setting-row>span{gap:3px;display:grid}.setting-row b{font-size:.87rem}.setting-row small{color:var(--muted);font-size:.68rem;line-height:1.35}.toggle{cursor:pointer;width:47px;height:28px;transition:background var(--ease);background:#c8c9c6;border:0;border-radius:15px;padding:3px}.toggle span{width:22px;height:22px;transition:transform var(--ease);background:#fff;border-radius:50%;display:block;box-shadow:0 2px 5px #0003}.toggle.on{background:var(--gold)}.toggle.on span{transform:translate(19px)}.appearance-row select{min-height:38px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;padding:0 9px}.settings-notice{color:#70501c;background:var(--gold-pale);border-radius:10px;padding:10px 12px;font-size:.76rem}.profile-details p{align-items:center;gap:12px;margin:0;padding:12px 0;display:flex}.profile-details p+p{border-top:1px solid var(--line)}.profile-details p>svg{width:20px;color:var(--gold)}.profile-details p>span{color:var(--muted);gap:3px;font-size:.76rem;display:grid}.profile-details b{color:var(--ink);font-size:.8rem}.modal-backdrop{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050606ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{overscroll-behavior:contain;background:var(--surface);border-radius:20px;gap:13px;width:min(100%,440px);max-height:calc(100dvh - 36px);padding:22px;display:grid;overflow:hidden auto;box-shadow:0 24px 60px #0000004d}.modal-title{justify-content:space-between;align-items:center;display:flex}.modal-title h2{margin:0}.modal-card input{width:100%;height:43px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:0 11px}.calendar-list{gap:9px;display:grid}.calendar-event{background:var(--surface);border:1px solid var(--line);min-height:100px;transition:transform var(--ease);border-radius:14px;grid-template-columns:54px 78px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 11px 8px 8px;display:grid;box-shadow:0 5px 15px #0000000f}.calendar-event:hover{transform:translateY(-2px)}.calendar-date{justify-items:center;display:grid}.calendar-date b{color:var(--gold);font-size:.7rem}.calendar-date strong{font-size:1.8rem;line-height:1}.calendar-date small{color:var(--muted)}.calendar-image{background-position:50%;background-size:cover;border-radius:10px;width:78px;height:82px}.calendar-copy{gap:6px;min-width:0;display:grid}.calendar-copy>b{font-size:1rem}.calendar-copy small{color:var(--muted);align-items:center;gap:5px;font-size:.71rem;display:flex}.calendar-copy svg{width:15px;color:var(--gold)}.calendar-event>svg{width:19px}.event-hero{color:#fff;border:1px solid var(--gold);min-height:210px;box-shadow:var(--shadow-card);background-position:50%;background-size:cover;border-radius:17px;flex-direction:column;justify-content:flex-end;padding:18px;display:flex}.event-hero span{color:var(--gold-bright);font-weight:700}.event-hero h2{letter-spacing:-.04em;margin:5px 0 0;font-size:2rem}.detail-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:15px;margin-top:12px;padding:16px}.detail-card>p{color:var(--muted);line-height:1.6}.detail-card dl{gap:2px;margin:18px 0;display:grid}.detail-card dl div{border-top:1px solid var(--line);grid-template-columns:100px 1fr;gap:12px;padding:11px 0;display:grid}.detail-card dt{color:var(--muted);align-items:center;gap:6px;font-size:.76rem;display:flex}.detail-card dt svg{width:16px;color:var(--gold)}.detail-card dd{margin:0;font-size:.82rem;font-weight:650}.resource-hero{color:#fff;border:1px solid var(--gold);min-height:120px;box-shadow:var(--shadow-card);background:radial-gradient(circle at 80% 15%,#2c2820,#080909 60%);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:16px;display:grid}.resource-hero>svg{width:56px;height:56px;color:var(--gold-bright);stroke-width:1.2px;filter:drop-shadow(0 3px 3px #5a3a08)}.resource-hero span{color:var(--gold-bright);font-size:.7rem;font-weight:700}.resource-hero h2{margin:5px 0 12px;font-size:1.4rem}.resource-progress{background:#ffffff29;border-radius:4px;height:6px;overflow:hidden}.resource-progress i{border-radius:inherit;height:100%;transition:width var(--ease);background:linear-gradient(90deg,#a86d10,#f3cb6c);display:block}.lesson-list{background:var(--surface);border:1px solid var(--line);border-radius:15px;margin-top:12px;overflow:hidden;box-shadow:0 5px 15px #0000000d}.lesson-list>h2{margin:0;padding:13px;font-size:.94rem}.lesson-list>button{text-align:left;width:100%;min-height:62px;color:var(--ink);border:0;border-top:1px solid var(--line);cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 12px;display:grid}.lesson-list>button:hover,.lesson-list>button.active{background:color-mix(in srgb, var(--gold-pale) 17%, var(--surface))}.lesson-list button>span:nth-child(2){gap:4px;display:grid}.lesson-list button b{font-size:.86rem}.lesson-list button small{color:var(--muted);font-size:.68rem}.lesson-list button>svg{width:19px;color:var(--muted)}.lesson-list .complete-check{color:var(--green)}.lesson-number,.requirement-check{color:#6d480f;background:var(--gold-pale);border-radius:50%;place-items:center;width:34px;height:34px;font-size:.75rem;font-weight:800;display:grid}.requirement-check{background:var(--surface-soft);border:1px solid var(--line)}.requirement-check.done{color:#fff;background:var(--green);border-color:var(--green)}.requirement-check svg{width:17px}.resource-coach{color:#edd793;background:#121313;border-radius:14px;align-items:flex-start;gap:10px;margin-top:12px;padding:13px;display:flex}.resource-coach>svg{width:25px;color:var(--gold-bright)}.resource-coach h2{color:#fff;margin:0 0 5px;font-size:.92rem}.resource-coach p{color:#c8c6bd;margin:0;font-size:.74rem;line-height:1.5}.video-stage{background:var(--surface);border:1px solid var(--line);border-radius:15px;margin-top:12px;padding:16px}.video-stage>div{min-height:150px;color:var(--gold-bright);background:radial-gradient(circle,#30281a,#070808 65%);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.video-stage>div svg{fill:currentColor;width:47px;height:47px}.video-stage>div span{font-size:.74rem}.video-stage h2{margin-bottom:5px}.video-stage p{color:var(--muted);font-size:.78rem;line-height:1.5}.belt-display{background:var(--surface);border:1px solid var(--line);border-radius:15px;flex-direction:column;align-items:center;margin-top:12px;padding:18px;display:flex}.belt-display>svg{width:60px;height:60px;color:var(--gold);stroke-width:1.3px}.belt-display h2{margin:7px 0 2px}.belt-display p{color:var(--muted);margin:0;font-size:.75rem}.belt-stripe{background:linear-gradient(#dfaa39,#b77613);justify-content:flex-end;align-items:center;gap:8px;width:min(100%,330px);height:46px;margin-top:18px;padding-right:24px;display:flex;box-shadow:inset 0 3px 5px #ffffff59,0 5px 10px #0000001f}.belt-stripe i{background:#111;width:12px;height:100%}.belt-stripe i.pending{opacity:.15}@media (width<=520px){.standard-page{padding-top:14px}.page-header p{max-width:260px}.profile-stats article{min-height:82px}.calendar-event{grid-template-columns:44px 62px minmax(0,1fr) 15px;gap:7px;padding-inline:7px}.calendar-image{width:62px;height:70px}.calendar-copy>b{font-size:.85rem}.calendar-copy small{font-size:.62rem}.event-hero{min-height:176px}}
