/* SOHBERA Platinum — Phase 3: Story, Radio, WebRTC, NickServ.
   Presentation only. Existing events, IDs, playback, story uploads and auth are untouched. */

/* NickServ: independent dialog uses the same editorial surfaces as Platinum */
body.sohbera-platinum .identify-overlay{
  padding:18px;background:rgba(44,72,83,.30);backdrop-filter:blur(7px);
}
body.sohbera-platinum .identify-card{
  width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 30px);
  overflow:auto;padding:30px;border:1px solid #d9e7e9;border-radius:25px;
  background:linear-gradient(160deg,#fff 0%,#f8fbfc 100%);
  box-shadow:0 28px 90px rgba(33,62,75,.20);
  color:#223e4b;
}
body.sohbera-platinum .identify-card::before{
  content:"";display:block;position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,#3b95a2,#b2dfe0);border-radius:25px 25px 0 0;
}
body.sohbera-platinum .identify-close{
  right:16px;top:16px;width:36px;height:36px;border:1px solid #dae7e9;
  border-radius:12px;background:#fff;color:#63828d;font-size:16px;
}
body.sohbera-platinum .identify-icon{
  width:59px;height:59px;margin:0 0 17px;border-radius:19px;
  color:#268394;background:#eaf6f6;border:1px solid #d0e9e9;font-size:25px;
}
body.sohbera-platinum .identify-copy small{
  color:#258292;font-size:10px;letter-spacing:.17em;
}
body.sohbera-platinum .identify-copy h2{
  color:#203e4a;font-size:27px;font-weight:850;letter-spacing:-.055em;margin:7px 0 9px;
}
body.sohbera-platinum .identify-copy p{
  color:#718791;font-size:13px;line-height:1.65;
}
body.sohbera-platinum .identify-field{margin-top:24px}
body.sohbera-platinum .identify-field>span{font-size:12px;color:#3f6470;font-weight:750}
body.sohbera-platinum #identifyPass{
  min-height:51px;font-size:15px;letter-spacing:.08em;color:#213f4b;
  background:#f3f7f8;border:1px solid #d9e6e9;border-radius:14px;
}
body.sohbera-platinum #identifyPass:focus{
  border-color:#62abb4;box-shadow:0 0 0 3px rgba(73,157,170,.13);
}
body.sohbera-platinum .identify-remember{
  margin:16px 0 20px;gap:10px;color:#58737f;font-size:12px;
}
body.sohbera-platinum .identify-remember input{accent-color:#29879a}
body.sohbera-platinum .identify-submit{
  width:100%;min-height:50px;border-radius:14px;background:#258596;
  font-size:13px;font-weight:800;box-shadow:0 12px 24px rgba(31,126,145,.17);
}
body.sohbera-platinum .identify-hint{
  margin-top:14px;font-size:10.5px;line-height:1.6;color:#7f959d;
}
body.sohbera-platinum .identify-error{font-size:11.5px;line-height:1.5;border-radius:12px}

/* Radio mini player's rich companion popover */
body.sohbera-platinum .radio-panel{
  top:76px;right:74px;width:min(385px,calc(100vw - 20px));
  border:1px solid #dce8ea;border-radius:23px;background:#fbfcfd;
  box-shadow:0 26px 74px rgba(34,66,77,.18);
}
body.sohbera-platinum .radio-panel-head{
  height:72px;padding:0 20px;border-bottom:1px solid #e1eaed;
  background:linear-gradient(110deg,#fff 10%,#edf7f8 100%);
}
body.sohbera-platinum .radio-panel-head small{color:#268796;font-size:10px;letter-spacing:.16em}
body.sohbera-platinum .radio-panel-head b{color:#213e4d;font-size:20px;letter-spacing:-.045em;margin-top:4px}
body.sohbera-platinum .radio-panel-head button{
  width:36px;height:36px;border:1px solid #dbe7e9;border-radius:12px;
  background:#fff;font-size:17px;color:#6e838b;
}
body.sohbera-platinum .radio-now-card{
  grid-template-columns:92px minmax(0,1fr);gap:15px;
  margin:16px 16px 12px;padding:12px;border:1px solid #dfeaec;
  border-radius:18px;background:linear-gradient(135deg,#f4f9fa,#fff);
}
body.sohbera-platinum .radio-cover{
  width:92px;height:92px;border-radius:16px;background:linear-gradient(135deg,#d7eaed,#a9d3da);
  color:#287d8c;font-size:31px;box-shadow:0 7px 18px rgba(53,111,124,.10);
}
body.sohbera-platinum .radio-live-row{gap:8px;margin-bottom:8px;flex-wrap:wrap}
body.sohbera-platinum .radio-mode{
  height:24px;padding:0 9px;border-radius:99px;font-size:9px;
}
body.sohbera-platinum .radio-listeners{font-size:10.5px;color:#68838e}
body.sohbera-platinum .radio-track h3{
  color:#22424f;font-size:16px;font-weight:850;line-height:1.36;letter-spacing:-.02em;
}
body.sohbera-platinum .radio-track p{font-size:11.5px;color:#748b95;line-height:1.5}
body.sohbera-platinum .radio-dj-card{
  grid-template-columns:43px minmax(0,1fr) auto;gap:11px;
  margin:0 16px;padding:12px;border:1px solid #e2ecee;
  border-radius:15px;background:#fff;
}
body.sohbera-platinum .radio-dj-avatar{
  width:43px;height:43px;border-radius:14px;background:#eaf5f6;color:#278494;
}
body.sohbera-platinum .radio-dj-card small{font-size:9px;color:#73939c}
body.sohbera-platinum .radio-dj-card b{font-size:12px;color:#253f4c}
body.sohbera-platinum .radio-dj-card span{font-size:10.5px;color:#718891}
body.sohbera-platinum .radio-dj-card em{font-size:10px}
body.sohbera-platinum .radio-controls{
  grid-template-columns:111px 42px minmax(0,1fr);
  gap:10px;padding:16px 16px 12px;
}
body.sohbera-platinum .radio-main-play{
  height:43px;border-radius:13px;background:#248497;box-shadow:0 8px 18px rgba(30,134,153,.13);
}
body.sohbera-platinum .radio-main-play b{font-size:12px}
body.sohbera-platinum .radio-mute{
  width:42px;height:43px;border-radius:12px;border-color:#dce9eb;color:#547480;
}
body.sohbera-platinum .radio-volume span{font-size:9px;color:#70919a}
body.sohbera-platinum .radio-volume input{accent-color:#278b9c}
body.sohbera-platinum .radio-auto-row{
  margin:3px 16px 16px;padding:13px 14px;border-color:#e2ecee;
  border-radius:14px;background:#eff6f7;
}
body.sohbera-platinum .radio-auto-row input{accent-color:#268a99}
body.sohbera-platinum .radio-auto-row b{font-size:11.5px;color:#294c57}
body.sohbera-platinum .radio-auto-row small{font-size:10px;line-height:1.5;color:#718b95}
body.sohbera-platinum .radio-foot{
  padding:0 16px;min-height:49px;font-size:10.5px;border-top:1px solid #e1eaec;
}
body.sohbera-platinum .radio-foot button{font-size:11px;color:#247b8c}

/* Story viewer: pale framing, high-contrast media only inside media stage */
body.sohbera-platinum .story-viewer-v3{
  background:rgba(43,65,75,.78);backdrop-filter:blur(8px);padding:18px;
}
body.sohbera-platinum .story-viewer-shell{
  width:min(500px,100%);height:min(805px,calc(100dvh - 36px));
  grid-template-rows:16px 66px minmax(0,1fr) 66px;
  border:1px solid rgba(237,247,249,.98);border-radius:23px;
  background:#f9fbfc;box-shadow:0 32px 94px rgba(20,47,59,.28);
}
body.sohbera-platinum .story-progress{gap:4px;padding:9px 16px 0;background:#f9fbfc}
body.sohbera-platinum .story-progress span{height:4px;background:#dce9eb;border-radius:99px}
body.sohbera-platinum .story-progress span i{background:linear-gradient(90deg,#318e9c,#52b3ae)}
body.sohbera-platinum .story-viewer-head{
  padding:8px 16px;background:#f9fbfc;color:#254453;
  border-bottom:1px solid #e3edf0;
}
body.sohbera-platinum .story-viewer-user>span{
  width:40px;height:40px;border-radius:14px;border:2px solid #d5e8eb;
  background:#dceff1;color:#207f90;font-size:13px;overflow:hidden;
}
body.sohbera-platinum .story-viewer-user b{font-size:13px;color:#203f4d}
body.sohbera-platinum .story-viewer-user small{font-size:10.5px;color:#8399a1}
body.sohbera-platinum .story-viewer-actions{gap:7px}
body.sohbera-platinum .story-viewer-actions button{
  width:37px;height:37px;border-radius:11px;
  border:1px solid #dfeaec;background:#fff;color:#587b88;font-size:15px;
}
body.sohbera-platinum .story-viewer-actions button:hover{background:#eaf5f6;color:#217f90}
body.sohbera-platinum .story-media-stage{background:#dfecef}
body.sohbera-platinum .story-media-v3{background:#dfecef}
body.sohbera-platinum .story-viewer-foot{
  padding:9px 16px;color:#779099;background:#f9fbfc;
  border-top:1px solid #e1e9ed;font-size:11px;
}
body.sohbera-platinum .story-like-btn{
  min-width:70px;height:39px;border:1px solid #dae8e9;border-radius:12px;
  background:#fff;color:#527785;gap:8px;
}
body.sohbera-platinum .story-like-btn span{color:#d64c6b}
body.sohbera-platinum .story-like-btn b{font-size:12px}
body.sohbera-platinum .story-like-btn.liked{background:#fff0f3;border-color:#eebdca}
body.sohbera-platinum .story-likes-pop{
  top:85px;right:14px;width:min(240px,calc(100% - 28px));max-height:330px;
  border:1px solid #dfeaec;border-radius:16px;
  background:#fff;color:#244652;box-shadow:0 18px 38px rgba(33,64,74,.17);
}
body.sohbera-platinum .story-likes-pop>div{
  min-height:48px;padding:0 12px;background:#f7fbfc;border-color:#e3edef;
}
body.sohbera-platinum .story-likes-pop>div b{font-size:12px}
body.sohbera-platinum .story-likes-pop>div button{color:#69848c}
body.sohbera-platinum .story-likes-pop section div{padding:6px 7px}
body.sohbera-platinum .story-likes-pop section div span{background:#e9f4f5;color:#2b7e8f;border-radius:10px}
body.sohbera-platinum .story-likes-pop section div b{font-size:11.5px}
body.sohbera-platinum .story-likes-pop section p{color:#7e929c;font-size:11px}

/* Calling surface: Platinum audio card, subtle cool slate letterboxing for video */
body.sohbera-platinum .call-overlay{
  background:rgba(40,64,76,.48);backdrop-filter:blur(8px);
}
body.sohbera-platinum .call-card{
  width:min(650px,calc(100vw - 32px));border-radius:24px;
  border:1px solid #d8e7e9;background:#f8fbfc;color:#214452;
  box-shadow:0 30px 90px rgba(30,56,68,.27);
}
body.sohbera-platinum .call-topbar{
  min-height:70px;padding:13px 20px;
  border-bottom:1px solid #e0eced;
  background:linear-gradient(110deg,#fff,#edf6f7);
}
body.sohbera-platinum .call-brand small{
  color:#368c99;font-size:10px;letter-spacing:.17em;
}
body.sohbera-platinum .call-brand b{color:#244654;font-size:17px;letter-spacing:-.035em}
body.sohbera-platinum .call-security{
  color:#228892;font-size:11px;background:#eaf6f5;
  padding:8px 11px;border:1px solid #d1e9e8;border-radius:99px;
}
body.sohbera-platinum .call-stage{
  min-height:380px;aspect-ratio:16/10;
  background:radial-gradient(circle at 50% 43%,#eff8f8 0%,#d7e9ec 78%,#cadee2 100%);
}
body.sohbera-platinum .call-avatar{
  width:114px;height:114px;border:5px solid rgba(255,255,255,.94);
  border-radius:31px;background:linear-gradient(145deg,#8fcbd2,#2e8799);
  box-shadow:0 15px 40px rgba(37,90,102,.19);
}
body.sohbera-platinum .call-audio-rings i{border-color:rgba(47,132,145,.22)}
body.sohbera-platinum .call-local-video{
  border:3px solid #f6fcfc;border-radius:18px;
  background:#476a75;box-shadow:0 14px 33px rgba(31,55,69,.25);
}
body.sohbera-platinum .call-remote-video{background:#294957}
/* Audio-only calls do not need an empty video layer covering the light stage. */
body.sohbera-platinum .audio-call .call-remote-video,
body.sohbera-platinum .audio-call .call-local-video{display:none!important}
body.sohbera-platinum .audio-call .call-stage{background:radial-gradient(circle at 50% 40%,#f5fbfa,#dbecef 76%,#cee3e8)}
body.sohbera-platinum .audio-call .call-copy{
  left:50%;right:auto;bottom:26px;transform:translateX(-50%);
  background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.93);
  border-radius:15px;min-width:200px;padding:10px 18px;box-shadow:0 10px 30px rgba(50,98,107,.07);
}
body.sohbera-platinum .audio-call .call-copy h2{color:#244654;font-size:19px}
body.sohbera-platinum .audio-call .call-copy p{color:#63838d;font-size:11.5px}
body.sohbera-platinum .audio-call .call-copy span{color:#2a8495;font-size:11px}
body.sohbera-platinum .video-call .call-copy{
  background:rgba(27,57,72,.74);border:1px solid rgba(219,240,243,.16);
  border-radius:14px;padding:9px 13px;
}
body.sohbera-platinum .video-call .call-copy h2{font-size:17px;color:#fff}
body.sohbera-platinum .video-call .call-copy p{color:#e2f0f3;font-size:11px}
body.sohbera-platinum .video-call .call-copy span{color:#9de1da;font-size:11px}
body.sohbera-platinum .call-incoming-actions,
body.sohbera-platinum .call-controls,
body.sohbera-platinum .call-outgoing-actions{
  min-height:98px;padding:16px 20px;gap:17px;
  background:#f8fbfc;border-top:1px solid #e1ecee;
}
body.sohbera-platinum .call-incoming-actions button,
body.sohbera-platinum .call-controls button,
body.sohbera-platinum .call-outgoing-actions button{color:#385968;min-width:77px}
body.sohbera-platinum .call-incoming-actions button i,
body.sohbera-platinum .call-controls button i,
body.sohbera-platinum .call-outgoing-actions button i{
  width:49px;height:49px;border-radius:17px;
  background:#e7f1f3;color:#287b8b;font-size:19px;
  box-shadow:0 6px 14px rgba(34,82,95,.05);
}
body.sohbera-platinum .call-incoming-actions button span,
body.sohbera-platinum .call-controls button span,
body.sohbera-platinum .call-outgoing-actions button span{font-size:11px;font-weight:800}
body.sohbera-platinum .call-accept i{background:#3da981!important;color:#fff!important}
body.sohbera-platinum .call-decline i,
body.sohbera-platinum .call-controls .hangup i{background:#d65e65!important;color:#fff!important}
body.sohbera-platinum .call-controls button.off i{background:#f4c87a;color:#6d531b}

/* Device sizes, safe areas and reduced motion */
@media(max-width:760px){
  body.sohbera-platinum .radio-panel{
    top:calc(58px + 6px);right:8px;left:8px;width:auto;
    max-height:calc(100dvh - 130px);overflow:auto;border-radius:20px;
  }
  body.sohbera-platinum .radio-panel-head{height:62px}
  body.sohbera-platinum .radio-panel-head b{font-size:17px}
  body.sohbera-platinum .radio-now-card{grid-template-columns:74px minmax(0,1fr);margin:12px;gap:11px}
  body.sohbera-platinum .radio-cover{width:74px;height:74px}
  body.sohbera-platinum .radio-track h3{font-size:14px}
  body.sohbera-platinum .radio-dj-card{margin:0 12px}
  body.sohbera-platinum .radio-controls{grid-template-columns:105px 38px minmax(0,1fr);gap:7px;padding:12px}
  body.sohbera-platinum .radio-mute{width:38px}
  body.sohbera-platinum .radio-auto-row{margin:0 12px 12px}
  body.sohbera-platinum .story-viewer-v3{padding:0;background:#e8f0f2;backdrop-filter:none}
  body.sohbera-platinum .story-viewer-shell{
    width:100%;height:100dvh;max-height:none;border:0;border-radius:0;
    grid-template-rows:calc(14px + env(safe-area-inset-top)) 64px minmax(0,1fr) calc(67px + env(safe-area-inset-bottom));
  }
  body.sohbera-platinum .story-progress{padding-top:calc(7px + env(safe-area-inset-top))}
  body.sohbera-platinum .story-viewer-head{padding:8px 13px}
  body.sohbera-platinum .story-viewer-foot{padding:9px 15px max(12px,env(safe-area-inset-bottom))}
  body.sohbera-platinum .story-likes-pop{top:auto;bottom:76px;left:12px;right:12px;width:auto;max-height:42dvh}
  body.sohbera-platinum .call-overlay{padding:0}
  body.sohbera-platinum .call-card{width:100%;height:100%;border:0;border-radius:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
  body.sohbera-platinum .call-stage{min-height:0;aspect-ratio:auto}
  body.sohbera-platinum .call-local-video{width:94px;height:122px;right:12px;top:12px}
  body.sohbera-platinum .call-incoming-actions,
  body.sohbera-platinum .call-controls,
  body.sohbera-platinum .call-outgoing-actions{min-height:96px;padding:13px 8px max(14px,env(safe-area-inset-bottom));gap:8px}
  body.sohbera-platinum .call-incoming-actions button,
  body.sohbera-platinum .call-controls button,
  body.sohbera-platinum .call-outgoing-actions button{min-width:67px}
  body.sohbera-platinum .call-incoming-actions button span,
  body.sohbera-platinum .call-controls button span,
  body.sohbera-platinum .call-outgoing-actions button span{font-size:10px}
  body.sohbera-platinum .identify-overlay{padding:10px}
  body.sohbera-platinum .identify-card{padding:25px 22px;border-radius:20px}
}
@media(max-width:390px){
  body.sohbera-platinum .radio-now-card{grid-template-columns:66px minmax(0,1fr)}
  body.sohbera-platinum .radio-cover{width:66px;height:66px}
  body.sohbera-platinum .radio-controls{grid-template-columns:93px 34px minmax(0,1fr)}
  body.sohbera-platinum .radio-mute{width:34px}
  body.sohbera-platinum .identify-card{padding:23px 18px}
  body.sohbera-platinum .call-incoming-actions button i,
  body.sohbera-platinum .call-controls button i,
  body.sohbera-platinum .call-outgoing-actions button i{width:43px;height:43px}
}
@media(prefers-reduced-motion:reduce){
  body.sohbera-platinum .radio-panel,body.sohbera-platinum .identify-overlay,
  body.sohbera-platinum .call-audio-rings i{animation:none!important;transition:none!important}
}
