/* Google+ as it looked in October 2015 (before the November redesign).
   Loaded on top of ganson.css when theme() is '2015'.

   Every value here was measured from these Wayback Machine captures,
   rendered in a browser at 1653px wide. Nothing from other years.
     [P] web.archive.org/web/20151015193227/https://plus.google.com/+%C3%81guedaALlorcaBravo/posts
     [S] web.archive.org/web/20151014102130/https://plus.google.com/+%C3%81NGELESMADRIDBERLANGA/posts/RL9Tm8HTjir
     [L] web.archive.org/web/20151004144612/https://plus.google.com/+LarryPage/posts/9ZCR5Mf2mta
   Fonts: Roboto v15 as linked by [P] (fonts.gstatic.com/s/roboto/v15/…).
   Sprite: ssl.gstatic.com/s2/oz/images/sprites/stream_showroom-d8de88384f6e5817983d0fcec12c128a.png as used by [P].
     [CSS] the stylesheet [P] loads, captured the same day: web.archive.org/web/20151015193310/
           https://plus.google.com/_/scs/apps-static/_/ss/k=oz.home.tpv5jmsh9naj.L.X.O/...
           Google class names in the comments below (.SOb, .Ide, .Sb ...) are from that file.
   Only the parts of the site those captures show are restyled; see
   docs/THEME-2015.md for what has no 2015 source. */

@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: url(fonts/roboto-v15-300.ttf) format('truetype'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: url(fonts/roboto-v15-400.ttf) format('truetype'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: url(fonts/roboto-v15-700.ttf) format('truetype'); }

[data-theme="2015"] {
  --col: 440px; /* [P] post card width */
  --gap: 20px;  /* [P] 371 -> 831: 440 + 20 */
}

/* Page: [P] body { -webkit-font-smoothing: antialiased }, background #e5e5e5 */
[data-theme="2015"] body {
  background: #e5e5e5;
  font-family: Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}
/* [P] the grey bar under the top bar: 44px, #f5f5f5 */
[data-theme="2015"] .gp-subheader { height: 44px; background: #f5f5f5; }
/* [P] stream wrapper: padding 30px 20px; columns 440px, 20px apart, 900px total */
[data-theme="2015"] .gp-main { padding: 30px 20px 1px; }
[data-theme="2015"] .stream-col { gap: 20px; padding-top: 0; }
[data-theme="2015"] .stream > * { margin-bottom: 20px; }
[data-theme="2015"] .stream-col > .hot-header:first-child { margin-top: 0; }

/* ---------- Post card [P] .Ee.BK.ge / .ki.ve ---------- */
[data-theme="2015"] .post-front {
  display: block;
  min-height: 0;
  border: 1px solid #d8d8d8;
  border-top: 0;
  border-bottom-width: 2px;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
}
[data-theme="2015"] .post-main { padding: 0 20px; }
/* [P] header .ys: margin-bottom 20px; avatar 46px round, margin 20px 15px 0 0 */
[data-theme="2015"] .post-head { margin-bottom: 20px; }
[data-theme="2015"] .post-avatar { width: 46px; height: 46px; margin: 20px 15px 0 0; border-radius: 50%; }
/* [P] name block padding-top 23px; name 700 14px/19.6px #262626; "Shared publicly" 400 12px/16.8px #999 */
[data-theme="2015"] .post-who { padding-top: 23px; }
[data-theme="2015"] .post-author { color: #262626; font: 700 14px/19.6px Roboto, sans-serif; }
[data-theme="2015"] .post-who .post-meta { margin-top: 0; }
[data-theme="2015"] .post-meta, [data-theme="2015"] .post-meta a { color: #999; font: 400 12px/16.8px Roboto, sans-serif; }
/* [S] post text .Ct: 400 13px/18.2px #404040; its block has padding-bottom 20px */
[data-theme="2015"] .post-content { margin: 0; padding-bottom: 20px; color: #404040; font: 400 13px/18.2px Roboto, sans-serif; }
/* [CSS] .Pm: in the stream, post text stops at 91px; .gj "Read more" / "Show less": 12px #999,
   inline-block, 2px above, middle-aligned; .Xa.va (the post you're on) turns it #427fed over .218s.
   The 20px under the text moves below the link while it's there. */
[data-theme="2015"] .post-main > .post-content.is-long { max-height: 91px; overflow: hidden; margin-bottom: 0; padding-bottom: 0; }
[data-theme="2015"] .post-main > .post-content.is-long.expanded,
[data-theme="2015"] .single-post .post-main > .post-content.is-long { max-height: none; }
[data-theme="2015"] .read-more { display: inline-block; margin: 2px 0 0; padding: 0; border: 0; background: none; color: #999; font: 400 12px/16.8px Roboto, sans-serif; vertical-align: middle; cursor: pointer; transition: color .218s; }
[data-theme="2015"] .post-main > .read-more { margin-bottom: 20px; }
[data-theme="2015"] .post:hover .read-more { color: #427fed; }
[data-theme="2015"] .post-edit + .read-more,
[data-theme="2015"] .single-post .read-more { display: none; }
[data-theme="2015"] .single-post .post-main > .post-content.is-long { padding-bottom: 20px; }
/* [P] attachments sit 14px wider than the text on each side, framed by 1px rgba(0,0,0,.05) lines */
[data-theme="2015"] .post-photos,
[data-theme="2015"] .post-video,
[data-theme="2015"] .post-link { margin: 0 -14px; outline: 1px solid rgba(0, 0, 0, 0.05); outline-offset: -1px; }
/* [P] link preview .VwVwbf: padding 15px; title 300 16px/22.4px #404040; site 400 12px/16.8px #999, 15px below */
[data-theme="2015"] .post-link { display: block; padding: 15px; border: 0; border-radius: 0; background: none; }
[data-theme="2015"] .post-link .icon-link { display: none; }
[data-theme="2015"] .post-link-text strong { display: block; color: #404040; font: 300 16px/22.4px Roboto, sans-serif; }
[data-theme="2015"] .post-link-text span { display: block; margin-bottom: 15px; color: #999; font: 400 12px/16.8px Roboto, sans-serif; }

/* ---------- Footer: +1 and comment box [P] .Qg ---------- */
/* Google+ put the +1 row above the comments. */
[data-theme="2015"] .post-comments { display: flex; flex-direction: column-reverse; border-radius: 0 0 2px 2px; background: #fff; }
[data-theme="2015"] .comment-form {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 0;
  margin-top: 20px;
  padding: 0 0 20px 12px;
  background: #fff;
}
/* [P] +1 button .esw: 0 10px padding, 1px #d9d9d9 border, 3px radius, 0 1px 0 rgba(0,0,0,.05) shadow, 8px left margin */
[data-theme="2015"] .comment-form .plus-one {
  position: static;
  flex: none;
  width: auto;
  height: 30px;
  margin-left: 8px;
  padding: 0 10px;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  background: #fff;
  color: #262626;
  font: 700 14px/28px Roboto, sans-serif;
}
/* [P] +1 glyph: 8x8 at -166px -34px in stream_showroom, margin 0 2px 1px 0 */
[data-theme="2015"] .plus-icon {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 2px 1px 0;
  background: url(img/stream_showroom-d8de88384f6e5817983d0fcec12c128a.png) no-repeat -166px -34px;
}
/* [P] comment box .Tt/.Dt: 20px side margins, then 8px; padding 6px 8px; 1px #ddd; 400 12px/16.8px #999 */
[data-theme="2015"] .comment-input {
  position: static;
  left: auto;
  flex: 1;
  width: auto;
  height: 31px;
  margin: 0 20px 0 28px;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 0;
  background: #fff;
  color: #999;
  font: 400 12px/16.8px Roboto, sans-serif;
}

/* ---------- Comments [L] .Cx.fr ---------- */
/* [CSS] .EP.lC: in the stream the comments scroll after 400px; the post's own page (.lna) shows them all */
[data-theme="2015"] .comment-list {
  max-height: 400px;
  overflow-y: auto;
  padding: 0;
  border-top: 1px solid #e5e5e5;
  border-radius: 0 0 2px 2px;
  background: #f5f5f5;
}
/* [L] "339 comments": 400 12px/16.8px #262626, margin 0 20px 12px */
[data-theme="2015"] .more-comments { padding: 16px 20px 12px; background: #f5f5f5; color: #262626; font: 400 12px/16.8px Roboto, sans-serif; }
/* [CSS] .Cx.fr: the grey area opens with its 1px #e5e5e5 line (.fr>.vt), then the "N comments"
   bar (.TC, full width), then the comments (.lC). (.post-comments runs bottom-up, so the
   bar's order sits between the comments and the +1 row.) */
[data-theme="2015"] .more-comments { order: 1; align-self: stretch; margin: 0; border-top: 1px solid #e5e5e5; text-align: left; transition: color .218s; }
[data-theme="2015"] .comment-form { order: 2; }
[data-theme="2015"] .more-comments + .comment-list { border-top: 0; }
/* [L] each comment .Wi: padding 0 20px 16px 58px; avatar 28px, radius 2px, margin 4px 0 0 -38px */
[data-theme="2015"] .comment { display: block; margin: 0; padding: 0 20px 16px 58px; }
[data-theme="2015"] .comment:first-child { padding-top: 16px; }
/* [CSS] .Ik+.Ik: each comment after the first sits 4px higher */
[data-theme="2015"] .comment + .comment { margin-top: -4px; }
[data-theme="2015"] .single-post .comment-list { max-height: none; }
[data-theme="2015"] .comment > a:first-child { float: left; margin: 4px 0 0 -38px; line-height: 0; }
[data-theme="2015"] .comment-avatar { width: 28px; height: 28px; border-radius: 2px; }
[data-theme="2015"] .comment-head { display: block; }
/* [L] name 700 13px/18.2px #404040 with 8px after it; time 400 12px/16.8px #999; text 400 13px/18.2px #404040 */
[data-theme="2015"] .comment-author { margin-right: 8px; color: #404040; font: 700 13px/18.2px Roboto, sans-serif; }
[data-theme="2015"] .comment-head time { margin: 0; color: #999; font: 400 12px/16.8px Roboto, sans-serif; }
[data-theme="2015"] .comment-content { color: #404040; font: 400 13px/18.2px Roboto, sans-serif; }
/* [CSS] .gA: comment text stops at 73px; its "Read more" (.YR .dp) sits 2px below */
[data-theme="2015"] .comment-content.is-long { max-height: 73px; overflow: hidden; }
[data-theme="2015"] .comment-content.is-long.expanded { max-height: none; }
/* [L] comment +1 count 700 11px/12.1px #737373; "Reply" 400 11px/15.4px, 8px left margin */
[data-theme="2015"] .comment-plus,
[data-theme="2015"] .comment-delete,
[data-theme="2015"] .comment-report { margin-left: 8px; padding: 0; border: 0; background: none; color: #737373; font: 700 11px/12.1px Roboto, sans-serif; }

/* ---------- Profile [P] .k5 cover, .M3 left panel, .INc tab bar ---------- */
/* [P] the cover starts 1px under the grey bar */
[data-theme="2015"] .profile { max-width: none; margin: -29px auto 0; }
/* [P] cover: 1120x427, centred, #404040 behind the image */
[data-theme="2015"] .banner { width: 1120px; max-width: 100%; height: 427px; margin: 0 auto; background: #404040; }
/* [P] the cover photo fills only the right 760px (.lHa) */
[data-theme="2015"] .banner-img { left: 360px; width: 760px; }
/* [P] left panel (.JPnoh/.XYxCee/.wtJUvc): a softened copy of the cover at 101% of the panel
   height, centred. Google's image server softened it (URL option Soften=1,60,0, radius 60);
   blur(20px) is the CSS equivalent (a Gaussian reaches about 3x its setting). */
[data-theme="2015"] .banner-blur { position: absolute; top: 0; bottom: 0; left: 0; width: 360px; overflow: hidden; }
[data-theme="2015"] .banner-blur img { position: absolute; top: 0; left: 50%; height: 101%; width: auto; max-width: none; transform: translateX(-50%); filter: blur(20px); }
/* [P] left panel: 360px wide, the cover under a black layer at opacity .3 */
[data-theme="2015"] .banner-shade { right: auto; width: 360px; background: rgba(0, 0, 0, 0.3); }
/* [P] panel content: padding 15px 15px 66px, centred column; avatar 120px round (63px from the top) */
[data-theme="2015"] .profilestuff {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  width: 360px;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 63px 15px 66px;
  text-align: center;
}
[data-theme="2015"] img.pfp-picture { width: 120px; height: 120px; margin-bottom: 15px; border-radius: 50%; }
/* [P] name 400 22px white, 15px below; stats 400 13px white with bold numbers */
[data-theme="2015"] .profile-username { margin: 0 0 15px; padding: 0; color: #fff; font: 400 22px/normal Roboto, sans-serif; }
/* [P] the stats line starts 101px below the top of the name (27px name + 74px of margins) */
[data-theme="2015"] .profile-stats { margin-top: 59px; color: #fff; font: 400 13px/normal Roboto, sans-serif; }
[data-theme="2015"] .profile-stats b { font-weight: 700; }
/* [P] tab bar: 1120x44, white; tabs 400 14px/19.6px #737373, padding 13px 0 10px, margin 0 18px,
   2px bottom border; the current tab 700 #262626 with #427fed */
[data-theme="2015"] .profile-tabs { display: block; width: 1120px; max-width: 100%; height: 44px; margin: 0 auto; background: #fff; text-align: center; }
[data-theme="2015"] .profile-tabs a {
  display: inline-block;
  margin: 0 18px;
  padding: 13px 0 10px;
  border-bottom: 2px solid transparent;
  color: #737373;
  font: 400 14px/19.6px Roboto, sans-serif;
}
[data-theme="2015"] .profile-tabs a:hover { text-decoration: none; }
[data-theme="2015"] .profile-tabs a.active { border-bottom-color: #427fed; color: #262626; font-weight: 700; }
/* [P] posts start 30px under the tab bar */
[data-theme="2015"] .profile > .stream, [data-theme="2015"] .profile-pane > .stream { margin-top: 30px; }

/* ---------- Single post [S] author card .Gyd + 520px post ---------- */
[data-theme="2015"] .single-post { max-width: 900px; margin: 0 auto; padding: 0; gap: 20px; justify-content: flex-start; }
[data-theme="2015"] .single-post-card {
  width: 360px;
  height: auto;
  margin: 0 0 44px;
  padding: 90px 20px 40px;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  background: #fff;
}
[data-theme="2015"] .single-post-who { width: auto; margin: 0; }
[data-theme="2015"] .single-post-avatar { width: 100px; height: 100px; margin: 0 auto; border-radius: 50%; }
/* [S] name 300 20px #262626, margin 10px 0 5px */
[data-theme="2015"] .single-post-name { width: auto; margin: 10px 0 5px; color: #262626; font: 300 20px/normal Roboto, sans-serif; }
[data-theme="2015"] .single-post > .post { width: 520px; margin: 0; }

/* ================= Grey bar, menu button and menu: [CSS] ================= */
[data-theme="2015"] { --sub-h: 44px; }
/* .GY 44px #f5f5f5; .qMc holds the button */
[data-theme="2015"] .gp-subheader { align-items: flex-start; padding: 0; }
/* .SOb the white menu button */
[data-theme="2015"] .gp-menu-toggle {
  display: block;
  flex: none;
  margin: 7px 0 7px 30px;
  padding: 5px 5px 5px 8px;
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .2);
  white-space: nowrap;
  font: 400 14px Roboto, sans-serif;
  line-height: normal;
}
/* .utb icon box 20x20, margin-right 7px, bottom-aligned */
[data-theme="2015"] .gp-menu-toggle .gp-crumb-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 7px 0 0;
  vertical-align: bottom;
  transform: none;
}
/* .pMc label */
[data-theme="2015"] .gp-menu-label {
  position: static;
  display: inline-block;
  max-width: 128px;
  margin: 0 5px 1px 0;
  overflow: hidden;
  color: #737373;
  font-size: 14px;
  text-overflow: ellipsis;
  vertical-align: bottom;
}
/* .UVa chevron: sprite -40px 0, 16x16, 70% opacity */
[data-theme="2015"] .gp-menu-chevron {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: 0 0 2px 0;
  opacity: .7;
  font-size: 0;
  vertical-align: bottom;
  background: url(img/ribbon-nav-1x-7f2ff444a9831b4e82675ae39f1e0a1a.png) no-repeat -40px 0;
}

/* Ribbon sprite positions: .Nua home, .x0a profile, .nBa people, .oBa photos (24px),
   .Fmb communities, .gJb settings, .zmb what's hot, .Cmb notifications */
[data-theme="2015"] .gp-crumb-icon,
[data-theme="2015"] .gp-ribbon .icon { background: url(img/ribbon-nav-1x-7f2ff444a9831b4e82675ae39f1e0a1a.png) no-repeat 0 0; }
[data-theme="2015"] .rb-profile .icon { background-position: -20px -20px; }
[data-theme="2015"] .rb-people .icon { background-position: -60px 0; }
[data-theme="2015"] .rb-photos .icon { background-position: -124px -40px; }
[data-theme="2015"] .rb-communities .icon { background-position: -148px -20px; }
[data-theme="2015"] .rb-settings .icon { background-position: -20px -40px; }
[data-theme="2015"] .rb-hot .icon { background-position: -104px 0; }
[data-theme="2015"] .rb-notifications .icon { background-position: 0 -20px; }
[data-theme="2015"] .rb-mod .icon { background: none; }

/* .Ide the menu: 230px, white, 1px #e5e5e5 top line, z-index 984. It sits at the
   top of the grey bar (over the button, as in the January 2015 screenshot), starts
   5px up and transparent; Google's script then sets its height and shows it. */
[data-theme="2015"] .gp-ribbon {
  position: fixed;
  top: var(--header-h);
  bottom: auto;
  left: 0;
  width: 230px;
  height: auto;
  max-height: calc(100vh - var(--header-h));
  overflow-x: hidden;
  overflow-y: auto;
  background-color: #fff;
  border: 0;
  border-top: 1px solid #e5e5e5;
  z-index: 984;
  opacity: 0;
  transform: translate3d(0, -5px, 0);
  visibility: hidden;
  /* .yld: opacity and transform ease over .218s; it stays visible until the fade-out ends */
  transition: opacity .218s, transform .218s, visibility 0s linear .218s;
}
[data-theme="2015"] body.ribbon-open .gp-ribbon { opacity: 1; transform: none; visibility: visible; transition: opacity .218s, transform .218s, visibility 0s; }
@media (prefers-reduced-motion: reduce) { [data-theme="2015"] .gp-ribbon, [data-theme="2015"] body.ribbon-open .gp-ribbon { transition: none; } }
[data-theme="2015"] .gp-ribbon li { margin: 0; }
/* .uVd row, .BIa link: 44px tall, 30px in */
[data-theme="2015"] .gp-ribbon li a,
[data-theme="2015"] .gp-ribbon li a.current {
  display: block;
  height: 44px;
  padding: 0 0 0 30px;
  border: 0;
  background-color: #fff;
  font-size: 14px;
  text-decoration: none;
}
/* .wVd icon: 20x20 under 12px of padding, bottom-aligned */
[data-theme="2015"] .gp-ribbon li .icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  padding-top: 12px;
  box-sizing: content-box;
  background-origin: content-box;
  background-clip: content-box;
  vertical-align: bottom;
  transform: none;
  filter: none;
}
/* .Hyc label */
[data-theme="2015"] .gp-ribbon li .icon + span {
  display: inline-block;
  max-width: 138px;
  margin: 0 0 2px 8px;
  padding-top: 12px;
  overflow: hidden;
  color: #737373;
  font-size: 14px;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}
/* Photos uses a 24px icon: .gkPkR and .u1cLBe */
[data-theme="2015"] .gp-ribbon li.rb-photos .icon { width: 24px; height: 24px; margin-left: -2px; padding-top: 9px; }
[data-theme="2015"] .gp-ribbon li.rb-photos .icon + span { margin-left: 6px; padding-top: 9px; }
/* .USa the highlighted row */
[data-theme="2015"] .gp-ribbon li a.current,
[data-theme="2015"] .gp-ribbon li a:hover { background-color: #f5f5f5; }
[data-theme="2015"] .gp-ribbon li a.current .icon + span,
[data-theme="2015"] .gp-ribbon li a:hover .icon + span { color: #262626; }
/* .yVd divider */
[data-theme="2015"] .gp-ribbon li.rb-divider { margin: 8px 0; border-bottom: 1px solid #e5e5e5; }
/* .Lde footer, .Nde/.Ode lines, links #aaa turning #427fed */
[data-theme="2015"] .gp-ribbon-foot { width: 230px; margin-top: 15px; padding: 10px 20px 15px; color: #aaa; font-size: 11px; line-height: 1.4; }
[data-theme="2015"] .gp-ribbon-foot a { color: #aaa; }
[data-theme="2015"] .gp-ribbon-foot a:hover { color: #427fed; text-decoration: none; }

/* Stream tabs: same bar as the profile tabs in [P] (.profile-tabs above),
   centred across the page as in the January 2015 screenshot. */
[data-theme="2015"] .gp-tabs { height: 44px; margin: 0 auto; padding: 0; }
[data-theme="2015"] .gp-tabs > a,
[data-theme="2015"] .gp-tab-more > button {
  height: auto;
  margin: 0 18px;
  padding: 13px 0 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #737373;
  font: 400 14px/19.6px Roboto, sans-serif;
}
[data-theme="2015"] .gp-tabs > a:hover,
[data-theme="2015"] .gp-tab-more > button:hover { color: #737373; text-decoration: none; }
[data-theme="2015"] .gp-tabs > a.active { padding-bottom: 10px; border-bottom: 2px solid #427fed; color: #262626; font-weight: 700; }

/* ================= Share box (closed): [CSS] .Sb / .es / .iH / .j7 ================= */
/* .Sb card */
[data-theme="2015"] .share-box {
  width: auto;
  min-width: 320px;
  max-width: 540px;
  margin: 10px 0 20px 0;
  padding: 20px;
  background-color: #f5f5f5;
  border: 1px solid #d8d8d8;
  border-bottom-width: 2px;
  border-radius: 3px;
  box-shadow: none;
}
/* .es the text box: white, #e4e4e4 sides and top, no bottom line, faint inset shadow */
[data-theme="2015"] .share-box .share-collapsed {
  width: auto;
  height: 60px;
  margin: 0;
  padding: 10px 0 0 10px;
  box-sizing: content-box;
  background-color: #fff;
  border: 1px solid #e4e4e4;
  border-bottom: none;
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .04);
  color: #404040;
  font: 400 16px Roboto, sans-serif;
}
[data-theme="2015"] .share-caret { display: none; }
/* .iH the line under it, holding the tabs */
[data-theme="2015"] .share-box .share-quick.sb15 {
  display: block;
  margin: 0;
  border-top: 1px solid #e4e4e4;
  font-size: 0;
}
/* .j7 each tab is 16% wide; .aj centred, pointer */
[data-theme="2015"] .share-box .sb15 button {
  display: inline-block;
  width: 16%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
}
[data-theme="2015"] .share-box .sb15 button:hover { background: none; }
/* .m7 notch holder 20x19; .mB triangles; .k7 grey edge and .l7 white fill on the chosen tab (.Be) */
[data-theme="2015"] .sb15 .sb-notch { position: relative; display: block; width: 20px; height: 19px; margin: 0 auto; }
[data-theme="2015"] .sb15 .on .sb-notch::before,
[data-theme="2015"] .sb15 .on .sb-notch::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
}
[data-theme="2015"] .sb15 .on .sb-notch::before { border-top: 10px solid #e4e4e4; }
[data-theme="2015"] .sb15 .on .sb-notch::after { border-top: 10px solid white; margin-top: -2px; }
/* .yl icons 24px at 40%, 70% on hover, full on the chosen tab */
[data-theme="2015"] .sb15 .sb-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  opacity: .4;
  transform: none;
  background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat 0 0;
}
[data-theme="2015"] .sb15 button:hover .sb-icon { opacity: .7; }
[data-theme="2015"] .sb15 button.on .sb-icon { opacity: 1; }
/* .lH text, .FD photos, .kH link, .mH video; .Be versions in colour */
[data-theme="2015"] .sb15 .sb-text { background-position: 0 -25px; }
[data-theme="2015"] .sb15 .on .sb-text { background-position: 0 -177px; }
[data-theme="2015"] .sb15 .sb-photo { background-position: 0 -787px; }
[data-theme="2015"] .sb15 .on .sb-photo { background-position: 0 -528px; }
[data-theme="2015"] .sb15 .sb-link { background-position: 0 -620px; }
[data-theme="2015"] .sb15 .on .sb-link { background-position: 0 -762px; }
[data-theme="2015"] .sb15 .sb-video { background-position: 0 -282px; }
[data-theme="2015"] .sb15 .on .sb-video { background-position: 0 -712px; }
/* .dv labels */
[data-theme="2015"] .sb15 .sb-label {
  display: block;
  padding-top: 5px;
  overflow: hidden;
  color: #999;
  font: 400 12px Roboto, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-theme="2015"] .sb15 button:hover .sb-label { color: #404040; }
[data-theme="2015"] .sb15 button.on .sb-label { color: #262626; font-weight: bold; }
/* Undo the 2013 closed-box height and top offset; .Sb .cv is the closed area, 140px */
[data-theme="2015"] .share-box:not([data-state="open"]) { height: auto; }
[data-theme="2015"] .stream-col > .share-box:first-child { margin-top: 10px; }
[data-theme="2015"] .share-box .share-collapsed-wrap { height: 140px; }
/* On the home stream the share box is a white stream card (January 2015 screenshot of
   plus.google.com/u/0/): the card rule is the post card's from [P] (.Ee.BK.ge above),
   the inside is .Sb's 20px padding, .es text area and .iH tab row. */
[data-theme="2015"] .share-box:not([data-state="open"]) {
  background-color: #fff;
  border: 1px solid #d8d8d8;
  border-top: 0;
  border-bottom-width: 2px;
  border-radius: 3px;
}
/* The home card in that screenshot shows only the top and bottom #e4e4e4 lines:
   no side lines on the text area and no notch under the chosen tab. */
[data-theme="2015"] .share-box .share-collapsed { border-left: 0; border-right: 0; }
[data-theme="2015"] .sb15 .on .sb-notch::before,
[data-theme="2015"] .sb15 .on .sb-notch::after { content: none; }

/* ================= Signed-in top bar, right side =================
   No archive has the signed-in bar's CSS, so this follows the January 2015
   screenshot of plus.google.com/u/0/: +Name, then the icons, then a round
   avatar, all on one line and evenly spaced. Colours are 2015 G+ ones from [CSS]. */
[data-theme="2015"] .gp-header-right {
  position: absolute;
  top: 0;
  right: 20px;
  display: flex;
  align-items: center;
  height: 60px;
}
[data-theme="2015"] .gp-me-name { position: static; order: 1; margin-right: 24px; color: #404040; font: 400 13px Roboto, sans-serif; }
[data-theme="2015"] .gp-bell {
  position: static;
  order: 2;
  width: 20px;
  height: 20px;
  margin-right: 24px;
  padding: 0;
  border-radius: 50%;
  background: #737373;
  color: #fff;
  font: 700 11px/20px Roboto, sans-serif;
  text-align: center;
}
[data-theme="2015"] .gp-bell.has-unread { background: #db4437; }
[data-theme="2015"] .gp-me-avatar { position: static; order: 3; }
[data-theme="2015"] .gp-me-avatar img { width: 32px; height: 32px; border-radius: 50%; }

/* Menu: in the screenshot the current row (Home) has no grey fill; only its label is dark. */
[data-theme="2015"] .gp-ribbon li a.current,
[data-theme="2015"] .gp-ribbon li a:hover { background-color: #fff; }

/* ================= Opened comment box: [CSS] =================
   .Fr>.Qp the editor row: #e5e5e5 line on top, 20px 20px 20px 58px, on the
   comments' #f5f5f5 (.fr); avatar in the 58px gutter like a comment's (28px, 2px corners).
   .cp the text box: white, 1px #ccc, 6px padding, min-height 3.9em, 7px under it. */
[data-theme="2015"] .comment-form.expanded {
  position: relative;
  display: block;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 20px 20px 20px 58px;
  border-top: 1px solid #e5e5e5;
  background-color: #f5f5f5;
}
[data-theme="2015"] .comment-form.expanded .plus-one { display: none; }
[data-theme="2015"] .comment-form.expanded .comment-form-avatar { position: absolute; left: 20px; top: 24px; width: 28px; height: 28px; border-radius: 2px; }
[data-theme="2015"] .comment-form.expanded .comment-input {
  position: static;
  left: auto;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 3.9em;
  margin: 0 0 7px 0;
  padding: 6px 6px;
  border: 1px solid #ccc;
  background-color: #fff;
  color: #404040;
  font: 400 13px Roboto, sans-serif;
  text-indent: 0;
}
[data-theme="2015"] .comment-form.expanded .comment-buttons { display: block; width: auto; max-width: none; padding: 0; }
/* .b-c buttons: 28px, 2px corners, 12px bold, 0 8px, min 54px wide, 16px apart */
[data-theme="2015"] .comment-buttons .g-btn {
  box-sizing: content-box;
  display: inline-block;
  height: 28px;
  min-width: 54px;
  margin: 0 16px 0 0;
  padding: 0 8px;
  border-radius: 2px;
  font: 700 12px/28px Roboto, sans-serif;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}
/* .b-c-R Cancel: white, #404040, 1px rgba(0,0,0,.15), 0 1px 0 rgba(0,0,0,.05); hover (.b-c-u) #b8b8b8 */
[data-theme="2015"] .comment-buttons .g-btn:not(.g-btn-green) { background-color: #fff; border: 1px solid rgba(0, 0, 0, .15); box-shadow: 0 1px 0 rgba(0, 0, 0, .05); color: #404040; }
[data-theme="2015"] .comment-buttons .g-btn:not(.g-btn-green):hover { border: 1px solid #b8b8b8; box-shadow: 0 1px 0 rgba(0, 0, 0, .1); color: #404040; }
/* .b-c-Ba Post comment: #53a93f, white, 1px transparent; hover (.b-c-u) #65b045 with a #4c8534 bottom edge */
[data-theme="2015"] .comment-buttons .g-btn-green { background-color: #53a93f; border: 1px solid transparent; box-shadow: 0 1px 0 rgba(0, 0, 0, .05); color: #fff; }
[data-theme="2015"] .comment-buttons .g-btn-green:hover { background-color: #65b045; border: 1px solid transparent; border-bottom: 1px solid #4c8534; box-shadow: inset 0 -1px 0 #4c8534; }

/* Top bar icons, in the screenshot's order: +Name, apps grid, notifications, Share, avatar.
   Icons from Google's 2015 bar sprite ssl.gstatic.com/gb/images/i1_1967ca6a.png
   (web.archive.org/web/20151231212035): grid 16x16 at -139px -45px, share 21x18 at -504px -41px. */
[data-theme="2015"] .gp-apps,
[data-theme="2015"] .gp-share-top {
  position: static;
  flex: none;
  margin-right: 24px;
  padding: 0;
  border: 0;
  background: url(img/i1_1967ca6a.png) no-repeat;
  opacity: .55;
  cursor: pointer;
}
[data-theme="2015"] .gp-apps { order: 2; width: 16px; height: 16px; background-position: -139px -45px; }
[data-theme="2015"] .gp-share-top { order: 4; width: 21px; height: 18px; background-position: -504px -41px; }
[data-theme="2015"] .gp-apps:hover,
[data-theme="2015"] .gp-share-top:hover { opacity: .85; }
[data-theme="2015"] .gp-bell { order: 3; }
[data-theme="2015"] .gp-me-avatar { order: 5; }

/* Menu rows for Events (.ymb), Hangouts (.Amb), Pages (.Dmb), Local (.Bmb) */
[data-theme="2015"] .rb-events .icon { background-position: -148px -40px; }
[data-theme="2015"] .rb-hangouts .icon { background-position: -104px -40px; }
[data-theme="2015"] .rb-pages .icon { background-position: -80px 0; }
[data-theme="2015"] .rb-local .icon { background-position: -104px -20px; }

/* Share box Event (.jH / .Be .jH) and Poll (.TCROWb / .Be .TCROWb in the polls sprite) */
[data-theme="2015"] .sb15 .sb-event { background-position: 0 -666px; }
[data-theme="2015"] .sb15 .sb-poll { background: url(img/polls-7972619541f738bb44693d8b864a2c8a.png) no-repeat -417px -49px; }

/* ================= Explore card: [CSS] .Hdb ================= */
[data-theme="2015"] .explore-card {
  overflow: hidden;
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid #d8d8d8;
  border-top: 0;
  border-bottom-width: 2px;
  border-radius: 3px;
}
/* .z9c header: #4374e0, 20px; .zj title 20px weight 300, white */
[data-theme="2015"] .explore-head { display: block; padding: 20px; background: #4374e0; }
[data-theme="2015"] .explore-title { padding-right: 10px; color: #fff; font: 300 20px Roboto, sans-serif; }
/* .g6bbge illustration: explore_header.png centred on #4374e0, 91px */
[data-theme="2015"] .explore-art { height: 91px; background: #4374e0 url(img/explore_header.png) center no-repeat; }
/* .Hdb .nMa 20px; .xj two 50% columns, .p3 13px right / .q3 12px left */
[data-theme="2015"] .explore-body { padding: 20px; }
[data-theme="2015"] .explore-col { display: inline-block; width: 50%; vertical-align: top; }
[data-theme="2015"] .explore-left > a { margin-right: 13px; }
[data-theme="2015"] .explore-right > a { margin-left: 12px; }
/* .k1b links: 13px #404040, 2px padding, one line, underline on hover */
[data-theme="2015"] .explore-col > a {
  display: block;
  padding: 2px;
  overflow: hidden;
  color: #404040;
  font: 400 13px Roboto, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-theme="2015"] .explore-col > a:hover { text-decoration: underline; }
/* .M05o1c hashtag box: 15px down, 38px short of the right; .HmkYbd 3px corners, 2px 8px 2px 16px;
   .LUYZJd the # at 8px, 7px. Border: the comment box's 1px #ddd (.wu). */
[data-theme="2015"] .explore-tag { position: relative; margin: 15px 38px 0 0; }
[data-theme="2015"] .explore-tag input {
  box-sizing: border-box;
  width: 100%;
  padding: 2px 8px 2px 16px;
  border: 1px solid #ddd;
  border-radius: 3px;
  color: #404040;
  font: 400 13px/20px Roboto, sans-serif;
}
[data-theme="2015"] .explore-hash { position: absolute; left: 8px; top: 3px; color: #404040; font: 400 13px/20px Roboto, sans-serif; }

/* Menu footer: .Lde 10px 0 15px, 11px/1.4 #aaa; each line .Ode 0 20px 4px */
[data-theme="2015"] .gp-ribbon-foot { padding: 10px 0 15px 0; }
[data-theme="2015"] .rb-foot-line { margin: 0 20px 4px 20px; overflow: hidden; text-overflow: ellipsis; }
/* Explore topics: each .k1b sits in a .b2d (5px above) */
[data-theme="2015"] .explore-col > a { margin-top: 5px; line-height: normal; }

/* ================= Sizes from the April 2015 recording =================
   Its first full frame is shown at almost exactly 1:1 (the 230px menu measures 227px),
   so these are read straight off it. */
/* Stream cards are 360px there, Google's 360 column (.Vf .Bc{max-width:360px}); the
   profile keeps the 440px measured on [P]. */
[data-theme="2015"] .stream { --col: 360px; }
[data-theme="2015"] .profile .stream { --col: 440px; }
/* Logo 28px in; search box 578x28 starting 196px in, 16px down; button 57x28 */
[data-theme="2015"] .gp-logo { margin-left: 13px; }
[data-theme="2015"] .gp-search { position: absolute; left: 196px; top: 16px; margin: 0; }
[data-theme="2015"] .gp-search input { width: min(578px, calc(100vw - 620px)); height: 28px; }
[data-theme="2015"] .gp-search button { display: flex; align-items: center; justify-content: center; width: 57px; height: 28px; padding: 0; }

/* ================= Community page ================= [C] a community as Google+ showed it:
   web.archive.org/web/20151015191201/https://plus.google.com/communities/100004713082056818215
   measured at 1920px; rules from [CSS]. */
/* .zdb table centred; .AZd side cell; .v5 main cell, 20px in; .ty.he 20px 20px 100px */
/* Google's content area starts 20px under the bar (.ty.he), ours 30px */
[data-theme="2015"] .community-page.c15 { display: table; gap: 0; margin: -10px auto 0; padding-bottom: 80px; }
[data-theme="2015"] .c15-side { display: table-cell; vertical-align: top; }
[data-theme="2015"] .c15-main { display: table-cell; box-sizing: content-box; width: 900px; min-width: 900px; padding-left: 20px; vertical-align: top; }
[data-theme="2015"] .c15 .stream { --col: 440px; }
/* .MZd the panel: 220px, white, 3px corners, 1px 1px 3px rgba(0,0,0,.1), 10px 0 20px */
[data-theme="2015"] .c15-panel { position: relative; width: 220px; margin: 10px 0 20px 0; overflow: hidden; background-color: #fff; border-radius: 3px; box-shadow: 1px 1px 3px rgba(0, 0, 0, .1); }
/* .S0d 15px, #404040; .T0d 300 20px, 5px under; .P0d 12px #aaa */
[data-theme="2015"] .c15-head { margin: 15px; color: #404040; }
[data-theme="2015"] .c15-name { margin-bottom: 5px; font: 300 20px Roboto, arial, sans-serif; word-wrap: break-word; }
[data-theme="2015"] .c15-tagline { color: #aaa; font-size: 12px; word-wrap: break-word; }
/* .U0d cover box; .V0d 265x265 at -22px; .H0d the dark gradient; .N0d white 12px bold at 15px, 15px */
[data-theme="2015"] .c15-cover { position: relative; overflow: hidden; line-height: 0; }
[data-theme="2015"] .c15-cover img { position: relative; left: -22px; max-width: none; width: 265px; height: 265px; border-radius: 0; object-fit: cover; }
[data-theme="2015"] .c15-shade { position: absolute; left: 0; bottom: 0; width: 220px; height: 265px; background-image: url(img/gradient_1px_673d3f79c10e2619102c9824f7dbf8d6.png); background-repeat: repeat-x; }
[data-theme="2015"] .c15-stats { position: absolute; left: 15px; bottom: 15px; width: 190px; color: #fff; font-size: 12px; font-weight: bold; line-height: 1.5; }
/* .g0d 7px, 1px #d5d5d5 under; the box 1px #d9d9d9, 3px corners, 5px 10px 5px 25px, 13px */
[data-theme="2015"] .c15-search { position: relative; margin: 0; padding: 7px; border-bottom: 1px solid #d5d5d5; white-space: nowrap; }
[data-theme="2015"] .c15-search input { box-sizing: border-box; width: 100%; height: 29px; padding: 5px 10px 5px 25px; border: 1px solid #d9d9d9; border-radius: 3px; background: #fff; color: #404040; font: 13px Roboto, arial, sans-serif; }
/* .h0d search icon: communities sprite -17px -21px, 12x12, at 15px, 16px */
[data-theme="2015"] .c15-search-icon { position: absolute; left: 15px; top: 16px; width: 12px; height: 12px; background: url(img/communities-9c0a17ce2ead705b02d3c5f1ab319fa3.png) no-repeat -17px -21px; }
/* .UCc rows: 1px #f5f5f5 under (the last #d5d5d5); .TZd 13px/1.4em #404040, 10px 15px */
[data-theme="2015"] .c15-nav > * { display: block; width: 100%; margin: 0; padding: 0; border: 0; border-bottom: 1px solid #f5f5f5; background: none; text-align: left; text-decoration: none; cursor: pointer; }
[data-theme="2015"] .c15-nav > *:last-child { border-bottom: 1px solid #d5d5d5; }
[data-theme="2015"] .c15-nav span { display: block; padding: 10px 15px; color: #404040; font: 13px/1.4em Roboto, arial, sans-serif; white-space: nowrap; }
[data-theme="2015"] .c15-nav > *:hover span { padding-left: 13px; border-left: 2px solid #4285f4; }
[data-theme="2015"] .c15-nav > .current span { color: #262626; }
/* .QZd.MEd "Members (N)" 13px #aaa, 15px; .R8c grid 15px 5px 15px 15px; .fA 28px, 0 4px 4px 0, 2px corners */
[data-theme="2015"] .c15-members-head { margin: 15px; color: #aaa; font-size: 13px; }
[data-theme="2015"] .c15-members-grid { display: flex; flex-wrap: wrap; margin: 15px 5px 15px 15px; }
[data-theme="2015"] .c15-members-grid a { display: block; width: 28px; height: 28px; }
/* Member tile with the moderator star, from [CSS] (Dec 2015 community page):
   .R8c .fA {display:inline-block; line-height:0; position:relative; margin:0 4px 4px 0}
   .hC {communities sprite -155px 0; 10x10; position:absolute; bottom:0; right:0} title="Moderator" */
[data-theme="2015"] .c15-member { display: inline-block; position: relative; line-height: 0; margin: 0 4px 4px 0; }
[data-theme="2015"] .c15-mod-star { position: absolute; right: 0; bottom: 0; width: 10px; height: 10px; background: url(img/communities-9c0a17ce2ead705b02d3c5f1ab319fa3.png) no-repeat -155px 0; }
[data-theme="2015"] .c15-members-grid img { width: 28px; height: 28px; border-radius: 2px; object-fit: cover; }
/* Join bar: .Wha 10px down; .nSb.c9c.iZd #f5f5f5, 1px rgba(0,0,0,.098), 4px corners, 10px 0, 20px under;
   text 13px #666, 0 14px, 30px line; button .b-c-Wa #d73d32, 12px bold white, 30px, 0 8px, 16px from the edge */
[data-theme="2015"] .c15-join { display: flex; align-items: center; margin: 10px 0 20px 0; padding: 10px 0; background-color: #f5f5f5; border: 1px solid rgba(0, 0, 0, .098); border-radius: 4px; }
[data-theme="2015"] .c15-join-text { flex: 1; padding: 0 14px; color: #666; font: 13px/30px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-join-button { height: 30px; margin-right: 16px; padding: 0 8px; border: 0; border-radius: 2px; background-color: #d73d32; color: #fff; font: 700 12px Roboto, arial, sans-serif; cursor: pointer; }
/* .Ee.fP.Ue side cards: white, 3px corners, 2px #d8d8d8 under, 20px, 10px 0 20px */
[data-theme="2015"] .c15-card { margin: 10px 0 20px 0; padding: 20px; background-color: #fff; border: 1px solid #d8d8d8; border-top: 0; border-bottom-width: 2px; border-radius: 3px; }
/* .zj titles 20px 300 #262626; body 20px under */
[data-theme="2015"] .c15-card-title { margin: 0; color: #262626; font: 300 20px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-owner { display: flex; align-items: center; margin-top: 33px; color: #262626; font-weight: 700; text-decoration: none; }
[data-theme="2015"] .c15-owner img { width: 46px; height: 46px; margin-right: 12px; object-fit: cover; }
[data-theme="2015"] .c15-about { margin-top: 20px; color: #404040; font: 13px/18.2px Roboto, arial, sans-serif; }
/* Wide screens: Google used its 440 column there (440px columns in [C] at 1920px). */
@media (min-width: 1600px) { [data-theme="2015"] .stream { --col: 440px; } }

/* ================= Profile circles card: [P] .Ue.qAd ================= */
/* card: white, 3px corners, 20px, 10px 0 20px */
[data-theme="2015"] .p15-circles { margin: 10px 0 20px 0; padding: 20px; background-color: #fff; border-radius: 3px; }
/* each block 40px apart; head 20px above the list; title 20px 300 #262626 (.Xqc); count 13px #999, right */
[data-theme="2015"] .p15-sec + .p15-sec { margin-top: 40px; }
[data-theme="2015"] .p15-sec-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 20px; }
[data-theme="2015"] .p15-sec-title { color: #262626; font: 300 20px Roboto, arial, sans-serif; }
[data-theme="2015"] .p15-count { color: #999; font: 13px/18.2px Roboto, arial, sans-serif; }
/* rows 12px apart; 46px face, 2px corners; name 13px #262626, 6px down and 17px in (.brc/.Yqc) */
[data-theme="2015"] .p15-person { display: flex; align-items: flex-start; margin-top: 12px; color: #262626; font: 13px/18.2px Roboto, arial, sans-serif; text-decoration: none; }
[data-theme="2015"] .p15-sec-head + .p15-person { margin-top: 12px; }
[data-theme="2015"] .p15-person img { flex: none; width: 46px; height: 46px; border-radius: 2px; object-fit: cover; }
[data-theme="2015"] .p15-person span { margin: 6px 0 0 17px; }
/* faces row: 46px, 4px apart (.QVb) */
[data-theme="2015"] .p15-faces { display: flex; flex-wrap: wrap; }
[data-theme="2015"] .p15-faces a { margin: 0 4px 4px 0; }
[data-theme="2015"] .p15-faces img { width: 46px; height: 46px; border-radius: 2px; object-fit: cover; }

/* Wide screens: Google+ grew the profile header to 1360x518 (440px panel, 920px cover,
   1360px tabs), measured on a 1920px capture of a 2015 profile. Same 0.381 shape as the
   1120x427 one in [P]; the avatar starts 106px down instead of 63px. */
@media (min-width: 1800px) {
  [data-theme="2015"] .banner { width: 1360px; height: 518px; }
  [data-theme="2015"] .banner-img { left: 440px; width: 920px; }
  [data-theme="2015"] .banner-blur,
  [data-theme="2015"] .banner-shade,
  [data-theme="2015"] .profilestuff { width: 440px; }
  [data-theme="2015"] .profilestuff { padding-top: 106px; }
  [data-theme="2015"] .profile-tabs { width: 1360px; }
}

/* YouTube play button: [CSS] .vf, the 72x72 button at 0 -52px in Google's stream sprite
   (stream-9d991e56752b6d57f78fa1d4650083b8), centred on the thumbnail. */
[data-theme="2015"] .play-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 72px;
  height: 72px;
  margin: -36px 0 0 -36px;
  border-radius: 0;
  background: url(img/stream-9d991e56752b6d57f78fa1d4650083b8.webp) no-repeat 0 -52px;
}
[data-theme="2015"] .play-badge::after { content: none; }
[data-theme="2015"] .post-video-play:hover .play-badge { background: url(img/stream-9d991e56752b6d57f78fa1d4650083b8.webp) no-repeat 0 -52px; }
[data-theme="2015"] .post-video-play img { opacity: 1; }

/* ================= Share box, open: [CSS] .Sb.hd =================
   Opens in place: 540px (content), 30px 30px 20px, square, 0 2px 40px rgba(0,0,0,.4),
   over the next column (z-index 4), with .Sb's #f5f5f5 and its transitions. */
[data-theme="2015"] .share-box {
  transition: left .5s cubic-bezier(0.250, 0.460, 0.450, 0.940), width .4s ease, padding .4s ease, box-shadow .4s ease, margin .4s ease, border .4s ease;
}
[data-theme="2015"] .share-box[data-state="open"] {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  box-sizing: content-box;
  width: 540px;
  max-width: none;
  min-width: 0;
  min-height: 0;
  margin: 10px 0 0 0;
  padding: 30px 30px 20px 30px;
  background-color: #f5f5f5;
  border: 0;
  border-radius: 0;
  box-shadow: 0 2px 40px 0 rgba(0, 0, 0, .4);
  transition: left .4s cubic-bezier(0.175, 0.885, 0.320, 1.275), width .4s ease, padding .4s ease, box-shadow .4s ease, margin .4s ease, border .4s ease;
}
[data-theme="2015"] .share-box[data-state="open"] .share-form { order: 1; display: block; }
/* avatar .Ml 80x80; text box .es 100px in, 68px tall, now with its bottom line */
[data-theme="2015"] .share-box[data-state="open"] .share-level-1 { display: block; position: relative; min-height: 80px; }
[data-theme="2015"] .share-box[data-state="open"] .share-pfp { position: absolute; left: 0; top: 0; width: 80px; height: 80px; margin: 0; border-radius: 0; }
[data-theme="2015"] .share-box[data-state="open"] .share-triangle { display: none; }
[data-theme="2015"] .share-box[data-state="open"] .share-text {
  display: block;
  box-sizing: content-box;
  width: auto;
  max-width: none;
  height: 68px;
  min-height: 0;
  margin: 0 0 0 100px;
  padding: 10px 0 0 10px;
  border: 1px solid #e4e4e4;
  background-color: #fff;
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .04);
  color: #404040;
  font: 400 16px Roboto, sans-serif;
  resize: none;
}
/* the tab row stays under it (.hd .iH: no line, .hd .mB: no notch) */
[data-theme="2015"] .share-box[data-state="open"] .share-collapsed-wrap { display: block; order: 2; height: auto; margin-left: 100px; }
[data-theme="2015"] .share-box[data-state="open"] .share-collapsed { display: none; }
[data-theme="2015"] .share-box[data-state="open"] .share-quick.sb15 { border-top: none; }
[data-theme="2015"] .share-box[data-state="open"] .sb-notch::before,
[data-theme="2015"] .share-box[data-state="open"] .sb-notch::after { content: none; }
[data-theme="2015"] .share-box[data-state="open"] .share-attach-row { display: none; }
[data-theme="2015"] .share-box[data-state="open"] .share-attachments { margin: 10px 0 0 100px; }
/* .Sb.hd .cc the white action bar: 20px 0 20px 20px, pulled 30px left and 20px down to the edges */
[data-theme="2015"] .share-box[data-state="open"] .share-actions {
  position: relative;
  left: -30px;
  bottom: -20px;
  order: 3;
  box-sizing: border-box;
  width: 600px;
  height: auto;
  margin-top: 0;
  padding: 20px 0 20px 20px;
  background: white;
}
/* Share / Cancel: .b-c .b-c-Ba and .b-c .b-c-R, as on comments */
[data-theme="2015"] .share-box .share-button,
[data-theme="2015"] .share-box .cancel-button {
  box-sizing: content-box;
  height: 28px;
  min-width: 54px;
  margin-right: 16px;
  padding: 0 8px;
  border-radius: 2px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .05);
  font: 700 12px/28px Roboto, sans-serif;
}
[data-theme="2015"] .share-box .share-button { background-color: #53a93f; border: 1px solid transparent; color: #fff; }
[data-theme="2015"] .share-box .share-button:hover { background-color: #65b045; border-bottom: 1px solid #4c8534; box-shadow: inset 0 -1px 0 #4c8534; }
[data-theme="2015"] .share-box .cancel-button { background-color: #fff; border: 1px solid rgba(0, 0, 0, .15); color: #404040; }
[data-theme="2015"] .share-box .cancel-button:hover { border: 1px solid #b8b8b8; box-shadow: 0 1px 0 rgba(0, 0, 0, .1); }

/* Change cover (own profile): on the cover photo, bottom right, as a Google .b-c.b-c-R button */
[data-theme="2015"] .c15-cover-button {
  position: absolute;
  right: 15px;
  bottom: 15px;
  z-index: 2;
  display: inline-block;
  width: auto;
  height: 28px;
  min-width: 54px;
  margin: 0;
  padding: 0 8px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 2px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .05);
  color: #404040;
  font: 700 12px/28px Roboto, sans-serif;
  text-align: center;
  cursor: pointer;
}
[data-theme="2015"] .c15-cover-button:hover { border: 1px solid #b8b8b8; box-shadow: 0 1px 0 rgba(0, 0, 0, .1); }
/* order inside the open box: text, attachments, tabs, then the action bar at the bottom */
[data-theme="2015"] .share-box[data-state="open"] .share-form { display: contents; }
[data-theme="2015"] .share-box[data-state="open"] .share-level-1 { order: 1; }
[data-theme="2015"] .share-box[data-state="open"] .share-attachments { order: 2; }
[data-theme="2015"] .share-box[data-state="open"] .share-collapsed-wrap { order: 3; }
[data-theme="2015"] .share-box[data-state="open"] .share-actions { order: 4; }
[data-theme="2015"] .share-box[data-state="open"] .share-text { width: calc(100% - 110px); }
[data-theme="2015"] .share-box[data-state="open"] .share-actions { width: calc(100% + 60px); }

/* ================= Signed-out profile: [P] ================= */
[data-theme="2015"] .g15-gb { position: relative; }
/* .Q7.lXd Join bar: #262626, 30px + 7px 0, one line; .m8c centred, 13px bold white */
[data-theme="2015"] .g15-join { height: 30px; padding: 7px 0; overflow: hidden; background-color: #262626; white-space: nowrap; }
[data-theme="2015"] .g15-join-in { display: table; margin: auto; color: #fff; font-size: 13px; font-weight: bold; }
/* .b-c.b-c-Wa with .m8c's #db4b39: 28px, 2px corners, 12px bold, 0 8px, 16px gap; hover .b-c-u */
[data-theme="2015"] .g15-join-btn {
  display: inline-block; box-sizing: content-box; height: 28px; min-width: 54px; margin-right: 16px; padding: 0 8px;
  border: 1px solid transparent; border-radius: 2px; background-color: #db4b39; box-shadow: 0 1px 0 rgba(0, 0, 0, .05);
  color: #fff; font: 700 12px/28px Roboto, arial, sans-serif; text-align: center; text-decoration: none; text-shadow: 0 1px rgba(0, 0, 0, .1);
}
[data-theme="2015"] .g15-join-btn:hover { background-color: #e74b37; border-bottom-color: #bd3d2a; box-shadow: inset 0 -1px 0 #bd3d2a; color: #fff; text-decoration: none; }
[data-theme="2015"] .g15-join-text { display: inline-block; line-height: 30px; vertical-align: top; }
/* .rw.Uc grey bar, 44px #f5f5f5 */
[data-theme="2015"] .g15-guestbar { height: 44px; background-color: #f5f5f5; }
/* Dialog .rk: black backdrop at 75%; 800x435 box, 0 0 40px rgba(0,0,0,.4); photo side 515px with
   26px white text (1px 0 2px #000, text 0 2px 4px black, 30px in); white side 285px, 20px 0 20px 20px,
   1.4em, -5px 0 5px black; close .wq at 15px/15px; button .rk .b-c-Wa 18px down, 100px wide */
[data-theme="2015"] .g15-dialog-bg { position: fixed; inset: 0; z-index: 1100; background-color: #000; opacity: .75; }
[data-theme="2015"] .g15-dialog {
  position: fixed; left: 50%; top: 50%; z-index: 1101; width: 800px; height: 435px; margin: -218px 0 0 -400px;
  background: #fff; box-shadow: 0 0 40px rgba(0, 0, 0, .4); outline: 0;
}
[data-theme="2015"] .g15-dialog[hidden], [data-theme="2015"] .g15-dialog-bg[hidden] { display: none; }
[data-theme="2015"] .g15-dialog-photo {
  float: left; width: 515px; height: 435px; color: #fff; font-size: 26px; line-height: 24px; text-shadow: 1px 0 2px #000;
  background: url(img/stream-loggedout-dialogs-90132e1665fd89ef286b116c1b832321.png) no-repeat 0 -48px;
}
[data-theme="2015"] .g15-dialog-text { float: left; margin: 30px; line-height: 1.3; text-shadow: 0 2px 4px black; }
[data-theme="2015"] .g15-dialog-side {
  position: relative; float: right; box-sizing: border-box; width: 285px; height: 435px; padding: 20px 0 20px 20px;
  background-color: #fff; box-shadow: -5px 0 5px black; line-height: 1.4em; word-wrap: break-word;
}
[data-theme="2015"] .g15-dialog-close {
  position: absolute; right: 15px; top: 15px; width: 10px; height: 10px; padding: 0; border: 0; cursor: pointer;
  background: url(img/stream-loggedout-dialogs-90132e1665fd89ef286b116c1b832321.png) no-repeat 0 0;
}
[data-theme="2015"] .g15-dialog-close:hover { background-position: -62px -21px; }
[data-theme="2015"] .g15-dialog-logo { display: block; margin-top: 20px; }
[data-theme="2015"] .g15-dialog-copy { margin: 20px 20px 0 0; color: #404040; font-size: 13px; }
[data-theme="2015"] .g15-dialog-join { margin-top: 18px; min-width: 100px; }
[data-theme="2015"] .g15-dialog-signin { margin: 20px 20px 0 0; color: #737373; font-size: 12px; }
[data-theme="2015"] .g15-dialog-signin a { color: #427fed; }
[data-theme="2015"] .g15-join .g15-join-btn { vertical-align: top; }
[data-theme="2015"] .g15-join { box-sizing: content-box; }
[data-theme="2015"] .stream-col:empty { display: none; }
[data-theme="2015"] .profile-stats-sep { margin: 0 5px; opacity: .5; }

/* Pinned post header: [C] .hf.VD 15px 15px 0 on white, 12px #999; .UD the line (1px #e5e5e5, 15px under);
   .CX the green pin, communities sprite 0 -30px, 16x16, top right */
[data-theme="2015"] .post-pinned { padding: 15px 15px 0; background-color: #fff; border-radius: 3px 3px 0 0; color: #999; font-size: 12px; }
[data-theme="2015"] .post-pinned-in { position: relative; padding: 0 0 15px 0; border-bottom: 1px solid #e5e5e5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-theme="2015"] .post-pin-icon { position: absolute; right: 0; top: 0; width: 16px; height: 16px; background: url(img/communities-9c0a17ce2ead705b02d3c5f1ab319fa3.png) no-repeat 0 -30px; }

/* Plain grey panel some profiles had; colour sampled from the user's recording (screenshot-derived) */
[data-theme="2015"] .banner-blur.plain { background: #404040; }

/* Profile header social bar, from the Oct 2015 CSS and the markup in [P]
   (div.DAa > div.sHa > div.Erc.Xqa [button], div.O9a stats; div.aZa share row):
   .DAa margin-top 10px; .sHa margin 15px auto; .Erc 29px tall; .O9a 13px. */
[data-theme="2015"] .profilestuff { bottom: 0; }
[data-theme="2015"] .profilestuff .circle-button { margin: 25px auto 0; }
[data-theme="2015"] .profilestuff .circle-button + .profile-stats { margin-top: 15px; }
/* .b-c + .sHa .b-c + .Hza: 12px bold, radius 2px, line-height 27px, padding 0 8px, min-width 54px.
   .Hza.b-c-Wa (not yet in circles) #d73d32 / #fff; .Hza.b-c-R (in circles) #fff, #d4d4d4 border, #404040 text. */
[data-theme="2015"] .profilestuff .add-to-circles,
[data-theme="2015"] .profilestuff .add-to-circles.g-btn-red {
  display: inline-block; height: 29px; min-width: 54px; margin: 0; padding: 0 8px; box-sizing: border-box;
  border: 1px solid transparent; border-radius: 2px; box-shadow: none;
  background: #d73d32; color: #fff; font: 700 12px/27px Roboto, arial, sans-serif; white-space: nowrap; cursor: pointer;
}
[data-theme="2015"] .profilestuff .circle-button.in .add-to-circles { background: #fff; border-color: #d4d4d4; color: #404040; }
/* .Hza.b-c .b9b: cpw sprite, 20x20, margin-right 6px, middle; .b-c-Wa at 0 0; .b-c-Ba 16x16 at 0 -40px */
[data-theme="2015"] .c15-follow-icon { display: inline-block; position: relative; top: 0; width: 20px; height: 20px; margin-right: 6px; vertical-align: middle; background: url(img/cpw-7de38e2bb0.png) no-repeat 0 0; }
[data-theme="2015"] .circle-button.in .c15-follow-icon { width: 16px; height: 16px; background-position: 0 -40px; }
/* .aZa: absolute, 30px from the bottom of the panel; .bZa items margin-right 15px.
   .tkb share 18x18 at 0 -59px, .UVb menu arrow 10x7 at -40px -76px (opacity .7), profiles_sr sprite. */
[data-theme="2015"] .p15-actions { position: absolute; left: 0; right: 0; bottom: 30px; display: block; margin: 0; font-size: 0; }
[data-theme="2015"] .p15-actions > * { display: inline-block; margin: 0 15px 0 0; padding: 0; border: 0; vertical-align: middle; cursor: pointer; opacity: 1; background: url(img/profiles_sr-df78a3bf347b3cdb103b2191751c5d6e.png) no-repeat; }
[data-theme="2015"] .p15-actions > :last-child { margin-right: 0; }
[data-theme="2015"] .p15-share { width: 18px; height: 18px; background-position: 0 -59px; }
[data-theme="2015"] .p15-more { width: 10px; height: 7px; background-position: -40px -76px; opacity: .7; }
/* .Xia name size follows the panel width: .gPa 360px 22px, .hPa 440px 24px. */
@media (min-width: 1800px) { [data-theme="2015"] .profile-username { font-size: 24px; } }

[data-theme="2015"] .p15-more-wrap { position: relative; display: inline-block; vertical-align: middle; }
[data-theme="2015"] .p15-user-menu { position: absolute; top: 20px; left: 50%; transform: translateX(-50%); z-index: 40; min-width: 180px; padding: 6px 0; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.2); text-align: left; }
[data-theme="2015"] .p15-user-menu button { display: block; width: 100%; padding: 8px 16px; border: 0; background: none; color: #404040; font: 400 13px Roboto, arial, sans-serif; text-align: left; cursor: pointer; white-space: nowrap; }
[data-theme="2015"] .p15-user-menu button:hover { background: #f5f5f5; }
[data-theme="2015"] .p15-actions > .p15-more-wrap { width: auto; height: auto; background: none; opacity: 1; }
[data-theme="2015"] .p15-more-wrap .p15-more { display: block; width: 10px; height: 7px; padding: 0; border: 0; opacity: .7; cursor: pointer; background: url(img/profiles_sr-df78a3bf347b3cdb103b2191751c5d6e.png) no-repeat -40px -76px; }
[data-theme="2015"] .p15-user-menu { top: auto; bottom: 16px; }

/* Empty About panel, [CSS] .Mua.TZa.OHb: 1px #c5c5c5 border, #fafafa, black 16px, margin 12px 0 10px, padding 0 10px 10px */
.about-empty-g { clear: both; box-sizing: border-box; max-width: 900px; margin: 12px auto 10px; padding: 0 10px 10px; border: 1px solid #c5c5c5; background-color: #fafafa; color: #000; font: 400 16px Roboto, arial, sans-serif; }
.about-empty-g p { margin: 10px 0 0; }

/* ===== Polls: Google+ April 2016 CSS, verbatim (class names kept), scoped to .g-poll.
 Sprite: polls-7972619541f738bb44693d8b864a2c8a.png. .gzrVtd = results showing. ===== */
.g-poll .kOY1Ab{border-bottom:0;color:#404040;font-size:16px;padding:12px 7px 14px 7px}
.g-poll .wgo7Bb{display:inline-block;margin-left:12px}
.g-poll .UsBbyb{margin:0 -12px;position:relative}
.g-poll .WrxXf{display:inline-block;height:100%;overflow:hidden;position:relative;width:calc(50% - 1px)}
.g-poll .WrxXf:first-of-type{margin-right:1px;width:50%}
.g-poll .gA4dye{transition:color .218s;color:#999;cursor:default;display:inline-block;font-size:12px;font-weight:normal}
.g-poll .uBEhKf.gA4dye:hover{cursor:pointer;text-decoration:underline}
.g-poll .Lbd2td .Rw5lC{width:50%}
.g-poll .Rw5lC{transition:bottom .5s;bottom:-100px;color:#fff;font-size:40px;right:0;position:absolute;text-align:center;width:100%}
.g-poll.gzrVtd .Lbd2td .Rw5lC{bottom:75px}
.g-poll .GydPZd{background-color:transparent;background-image:linear-gradient(to bottom,transparent,rgba(0,0,0,0.26));transition:bottom .5s;bottom:-150px;height:60%;left:-10px;position:absolute;right:-10px}
.g-poll.gzrVtd .Rw5lC{bottom:45px}
.g-poll.gzrVtd .GydPZd{bottom:0}
.g-poll .oXIUaf{margin:-55px -10px 0;position:relative}
.g-poll .jtzGre.dUNvgd{display:inline-block;margin:0;width:50%}
.g-poll .dUNvgd .gvvTmb{display:none}
.g-poll.gzrVtd .dUNvgd .hzTTHf{width:100%}
.g-poll .jtzGre{height:50px;margin:-10px 0 4px;overflow:hidden;position:relative;width:100%}
.g-poll .d273ob{transition:background .5s;background-color:#0288d1;border-radius:4px;bottom:0;box-shadow:0 0 8px rgba(0,0,0,0.35);left:0;margin:2px 0 3px 0;position:absolute;right:0;top:0}
.g-poll .jtzGre:hover .d273ob{background-color:#039be5}
.g-poll.gzrVtd .d273ob{background-color:#212121}
.g-poll.gzrVtd .jtzGre:hover .d273ob{background-color:#424242}
.g-poll .H8BnBf{filter:alpha(opacity=0);opacity:0;transition-duration:.5s;transition-property:background,opacity,width;background-color:#01579b;border-radius:4px;bottom:0;left:0;margin:2px 0 3px 0;position:absolute;right:0;top:0;width:0%}
.g-poll.gzrVtd .H8BnBf{filter:alpha(opacity=100);opacity:1;width:50%}
.g-poll .jtzGre:hover .H8BnBf{background-color:#0277bd}
.g-poll.gzrVtd .umprzc .H8BnBf{background-color:#0288d1}
.g-poll.gzrVtd .umprzc.jtzGre:hover .H8BnBf{background-color:#039be5}
.g-poll .eC4j3e .d273ob:nth-of-type(1), .g-poll .eC4j3e .H8BnBf:nth-of-type(2){margin-top:5px}
.g-poll .eC4j3e{overflow:hidden;padding-top:3px;position:relative;margin:-15px -12px 0}
.g-poll .DyDIGf{cursor:pointer}
.g-poll .bRhRe{bottom:0;cursor:pointer;height:45px;left:0;margin:auto;outline:none;position:absolute;right:0;top:0;white-space:nowrap}
.g-poll .dZRFOb .bRhRe{margin-left:10px;margin-right:10px}
.g-poll .dUNvgd .bRhRe{margin-left:8px;margin-right:8px}
.g-poll .jj61if{background:no-repeat url(img/polls-7972619541f738bb44693d8b864a2c8a.png) -155px -71px;display:inline-block;height:24px;margin:5px 4px 5px 16px;position:relative;vertical-align:middle;visibility:hidden;width:0}
.g-poll .umprzc .jj61if{margin-left:11px;visibility:visible;width:24px}
.g-poll .umprzc .wskiZd{width:calc(100% - 30px - 16px)}
.g-poll .wskiZd{transition:width .5s;color:#fff;display:inline-block;font-size:12px;height:38px;line-height:38px;margin-bottom:3px;margin-top:2px;overflow:hidden;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:normal;width:calc(100% - 30px)}
.g-poll .hzTTHf{display:inline-block;line-height:normal;vertical-align:middle;width:100%}
.g-poll.gzrVtd .hzTTHf{width:calc(100% - 72px)}
.g-poll .gvvTmb{transition:right .5s;color:#fff;cursor:pointer;font-size:18px;right:-100px;padding-right:19px;position:absolute;top:25%}
.g-poll.gzrVtd .gvvTmb{right:0}
.g-poll .a4LYBb{filter:alpha(opacity=0);opacity:0;transition:opacity .5s;background:no-repeat url(img/polls-7972619541f738bb44693d8b864a2c8a.png) -115px 0;cursor:pointer;height:24px;position:absolute;right:9px;top:7px;width:24px}
.g-poll .ej:hover .a4LYBb{filter:alpha(opacity=100);opacity:1}
.g-poll .ej .a4LYBb:hover{transition:opacity 0s;filter:alpha(opacity=70);opacity:.7}
.g-poll .qJD3qd{filter:alpha(opacity=0);opacity:0;background-color:transparent;background-image:linear-gradient(to bottom,rgba(0,0,0,0.26),transparent);transition:opacity .5s;height:calc(.3*100%);position:absolute;top:0;width:100%}
.g-poll .ej:hover .qJD3qd{filter:alpha(opacity=100);opacity:1}
/* Result bar width: Google set it from script; our CSP blocks inline styles, so one class per percent. */
.g-poll.gzrVtd .pw-0 .H8BnBf{width:0%}
.g-poll.gzrVtd .pw-1 .H8BnBf{width:1%}
.g-poll.gzrVtd .pw-2 .H8BnBf{width:2%}
.g-poll.gzrVtd .pw-3 .H8BnBf{width:3%}
.g-poll.gzrVtd .pw-4 .H8BnBf{width:4%}
.g-poll.gzrVtd .pw-5 .H8BnBf{width:5%}
.g-poll.gzrVtd .pw-6 .H8BnBf{width:6%}
.g-poll.gzrVtd .pw-7 .H8BnBf{width:7%}
.g-poll.gzrVtd .pw-8 .H8BnBf{width:8%}
.g-poll.gzrVtd .pw-9 .H8BnBf{width:9%}
.g-poll.gzrVtd .pw-10 .H8BnBf{width:10%}
.g-poll.gzrVtd .pw-11 .H8BnBf{width:11%}
.g-poll.gzrVtd .pw-12 .H8BnBf{width:12%}
.g-poll.gzrVtd .pw-13 .H8BnBf{width:13%}
.g-poll.gzrVtd .pw-14 .H8BnBf{width:14%}
.g-poll.gzrVtd .pw-15 .H8BnBf{width:15%}
.g-poll.gzrVtd .pw-16 .H8BnBf{width:16%}
.g-poll.gzrVtd .pw-17 .H8BnBf{width:17%}
.g-poll.gzrVtd .pw-18 .H8BnBf{width:18%}
.g-poll.gzrVtd .pw-19 .H8BnBf{width:19%}
.g-poll.gzrVtd .pw-20 .H8BnBf{width:20%}
.g-poll.gzrVtd .pw-21 .H8BnBf{width:21%}
.g-poll.gzrVtd .pw-22 .H8BnBf{width:22%}
.g-poll.gzrVtd .pw-23 .H8BnBf{width:23%}
.g-poll.gzrVtd .pw-24 .H8BnBf{width:24%}
.g-poll.gzrVtd .pw-25 .H8BnBf{width:25%}
.g-poll.gzrVtd .pw-26 .H8BnBf{width:26%}
.g-poll.gzrVtd .pw-27 .H8BnBf{width:27%}
.g-poll.gzrVtd .pw-28 .H8BnBf{width:28%}
.g-poll.gzrVtd .pw-29 .H8BnBf{width:29%}
.g-poll.gzrVtd .pw-30 .H8BnBf{width:30%}
.g-poll.gzrVtd .pw-31 .H8BnBf{width:31%}
.g-poll.gzrVtd .pw-32 .H8BnBf{width:32%}
.g-poll.gzrVtd .pw-33 .H8BnBf{width:33%}
.g-poll.gzrVtd .pw-34 .H8BnBf{width:34%}
.g-poll.gzrVtd .pw-35 .H8BnBf{width:35%}
.g-poll.gzrVtd .pw-36 .H8BnBf{width:36%}
.g-poll.gzrVtd .pw-37 .H8BnBf{width:37%}
.g-poll.gzrVtd .pw-38 .H8BnBf{width:38%}
.g-poll.gzrVtd .pw-39 .H8BnBf{width:39%}
.g-poll.gzrVtd .pw-40 .H8BnBf{width:40%}
.g-poll.gzrVtd .pw-41 .H8BnBf{width:41%}
.g-poll.gzrVtd .pw-42 .H8BnBf{width:42%}
.g-poll.gzrVtd .pw-43 .H8BnBf{width:43%}
.g-poll.gzrVtd .pw-44 .H8BnBf{width:44%}
.g-poll.gzrVtd .pw-45 .H8BnBf{width:45%}
.g-poll.gzrVtd .pw-46 .H8BnBf{width:46%}
.g-poll.gzrVtd .pw-47 .H8BnBf{width:47%}
.g-poll.gzrVtd .pw-48 .H8BnBf{width:48%}
.g-poll.gzrVtd .pw-49 .H8BnBf{width:49%}
.g-poll.gzrVtd .pw-50 .H8BnBf{width:50%}
.g-poll.gzrVtd .pw-51 .H8BnBf{width:51%}
.g-poll.gzrVtd .pw-52 .H8BnBf{width:52%}
.g-poll.gzrVtd .pw-53 .H8BnBf{width:53%}
.g-poll.gzrVtd .pw-54 .H8BnBf{width:54%}
.g-poll.gzrVtd .pw-55 .H8BnBf{width:55%}
.g-poll.gzrVtd .pw-56 .H8BnBf{width:56%}
.g-poll.gzrVtd .pw-57 .H8BnBf{width:57%}
.g-poll.gzrVtd .pw-58 .H8BnBf{width:58%}
.g-poll.gzrVtd .pw-59 .H8BnBf{width:59%}
.g-poll.gzrVtd .pw-60 .H8BnBf{width:60%}
.g-poll.gzrVtd .pw-61 .H8BnBf{width:61%}
.g-poll.gzrVtd .pw-62 .H8BnBf{width:62%}
.g-poll.gzrVtd .pw-63 .H8BnBf{width:63%}
.g-poll.gzrVtd .pw-64 .H8BnBf{width:64%}
.g-poll.gzrVtd .pw-65 .H8BnBf{width:65%}
.g-poll.gzrVtd .pw-66 .H8BnBf{width:66%}
.g-poll.gzrVtd .pw-67 .H8BnBf{width:67%}
.g-poll.gzrVtd .pw-68 .H8BnBf{width:68%}
.g-poll.gzrVtd .pw-69 .H8BnBf{width:69%}
.g-poll.gzrVtd .pw-70 .H8BnBf{width:70%}
.g-poll.gzrVtd .pw-71 .H8BnBf{width:71%}
.g-poll.gzrVtd .pw-72 .H8BnBf{width:72%}
.g-poll.gzrVtd .pw-73 .H8BnBf{width:73%}
.g-poll.gzrVtd .pw-74 .H8BnBf{width:74%}
.g-poll.gzrVtd .pw-75 .H8BnBf{width:75%}
.g-poll.gzrVtd .pw-76 .H8BnBf{width:76%}
.g-poll.gzrVtd .pw-77 .H8BnBf{width:77%}
.g-poll.gzrVtd .pw-78 .H8BnBf{width:78%}
.g-poll.gzrVtd .pw-79 .H8BnBf{width:79%}
.g-poll.gzrVtd .pw-80 .H8BnBf{width:80%}
.g-poll.gzrVtd .pw-81 .H8BnBf{width:81%}
.g-poll.gzrVtd .pw-82 .H8BnBf{width:82%}
.g-poll.gzrVtd .pw-83 .H8BnBf{width:83%}
.g-poll.gzrVtd .pw-84 .H8BnBf{width:84%}
.g-poll.gzrVtd .pw-85 .H8BnBf{width:85%}
.g-poll.gzrVtd .pw-86 .H8BnBf{width:86%}
.g-poll.gzrVtd .pw-87 .H8BnBf{width:87%}
.g-poll.gzrVtd .pw-88 .H8BnBf{width:88%}
.g-poll.gzrVtd .pw-89 .H8BnBf{width:89%}
.g-poll.gzrVtd .pw-90 .H8BnBf{width:90%}
.g-poll.gzrVtd .pw-91 .H8BnBf{width:91%}
.g-poll.gzrVtd .pw-92 .H8BnBf{width:92%}
.g-poll.gzrVtd .pw-93 .H8BnBf{width:93%}
.g-poll.gzrVtd .pw-94 .H8BnBf{width:94%}
.g-poll.gzrVtd .pw-95 .H8BnBf{width:95%}
.g-poll.gzrVtd .pw-96 .H8BnBf{width:96%}
.g-poll.gzrVtd .pw-97 .H8BnBf{width:97%}
.g-poll.gzrVtd .pw-98 .H8BnBf{width:98%}
.g-poll.gzrVtd .pw-99 .H8BnBf{width:99%}
.g-poll.gzrVtd .pw-100 .H8BnBf{width:100%}
/* Photo size in a picture poll: screenshot-derived (the capture's images are ~272px tall at 440px wide). */
.g-poll .sp.ej{position:relative;height:272px;overflow:hidden}
.g-poll img.ar.Mc{display:block;width:100%;height:100%;object-fit:cover}
.g-poll .UsBbyb{height:272px;font-size:0;white-space:nowrap}
.g-poll .WrxXf{vertical-align:top}
/* Share box poll inputs (ours; Google's composer isn't archived) */
.share-poll{margin:8px 0 0}
.share-poll-option{display:flex;gap:6px;margin:0 0 6px}
.share-poll-option input[type=text]{flex:1;min-width:0;height:30px;padding:0 8px;border:1px solid #d9d9d9;font:400 13px Roboto,arial,sans-serif}
.share-poll-photo{flex:none;height:30px;padding:0 10px;border:1px solid #d9d9d9;background:#f5f5f5;color:#737373;font:400 12px/30px Roboto,arial,sans-serif;cursor:pointer}
.share-poll-photo.has-photo{background:#e8f0fe;border-color:#4285f4;color:#4285f4}
.share-poll-add{padding:0;border:0;background:none;color:#427fed;font:400 13px Roboto,arial,sans-serif;cursor:pointer}

/* Community posts read "Community > Category"; on the community's own page only the
   category shows, as in the April 2016 capture ("Discussion - 9:45 PM"). */
.community-page .pm-community, .community-page .pm-sep { display: none; }
/* Category picker in a community's share box (ours; the 2015 composer isn't archived) */
.share-category { height: 28px; margin-left: 8px; padding: 0 6px; border: 1px solid #d9d9d9; background: #fff; color: #404040; font: 400 13px Roboto, arial, sans-serif; }

/* Community Photos row: the photos laid out in the main column like a profile's Photos tab */
.c15-photos { margin: 0 0 16px; padding: 0 0 12px; background: #fff; }
.c15-photos .c15-card-title { padding: 15px 15px 5px; }


/* ===== The bar when you scroll down: [CSS] Oct 2015 .fOa / .TVa / .vld / .VVa.
   .VVa is the 44x44 g+ square, parked at margin-left -44px;
   .fOa.TVa turns the bar white and slides it in (.15s linear); .fOa.vld fixes the bar to
   the top once the page header has scrolled away; .fOa.wld eases its top (.15s).
   In that state the menu button gets #f5f5f5 and margin-left 7px, .utb margin-right 5px,
   and the .pMc label collapses (font-size 0, width 0). ===== */
[data-theme="2015"] .gp-sub-home { display: inline-block; flex: none; }
/* Logo: the Jan 2015 rule, the lowercase "g+" square in the ribbon sprite at -60px -20px
   (gplus_icon_flatsq_44dp.png is the capital "G+" from the Sept 2015 rebrand; too new). */
[data-theme="2015"] .VVa { display: block; width: 44px; height: 44px; margin-left: -44px; transition: margin-left .15s linear; background: url(img/ribbon-nav-1x-7f2ff444a9831b4e82675ae39f1e0a1a.png) no-repeat -60px -20px; }
[data-theme="2015"] .gp-subheader { transition: top .15s; }
/* The page header isn't pinned: it scrolls off with the page like Google's did, and the
   bar stays pinned at the top (sticky top 0 stands in for .fOa.vld's position: fixed).
   Once scrolled, nothing sits above the bar, so the header's height drops out of the
   offsets that pinned panels use. */
[data-theme="2015"] .gp-header { position: relative; }
[data-theme="2015"] .gp-subheader { top: 0; }
[data-theme="2015"] body.g15-scrolled { --header-h: 0px; }
[data-theme="2015"] body.g15-scrolled .gp-subheader { background-color: #fff; }
[data-theme="2015"] body.g15-scrolled .VVa { margin-left: 0; }
[data-theme="2015"] body.g15-scrolled .gp-menu-toggle { background-color: #f5f5f5; margin-left: 7px; }
[data-theme="2015"] body.g15-scrolled .gp-menu-toggle .gp-crumb-icon { margin-right: 5px; }
[data-theme="2015"] body.g15-scrolled .gp-menu-label { margin-right: 0; font-size: 0; width: 0; }
[data-theme="2015"] body.g15-scrolled .gp-ribbon { top: 44px; max-height: calc(100vh - 44px); }

/* Moderation row icon. Google+ had no moderation section, so this borrows Google's
   shield-with-check from the 2015 profile sprite ([CSS] .NOb .Jla: profiles_sr -40px -84px,
   16x16), centred in the 20x20 ribbon icon box. */
[data-theme="2015"] .rb-mod .icon,
[data-theme="2015"] .gp-menu-toggle.rb-mod .gp-crumb-icon { background: url(img/profiles_sr-df78a3bf347b3cdb103b2191751c5d6e.png) no-repeat -38px -82px; }

/* ===== "You may know" card. Screenshot-derived (Google loaded this card from a separate
   module; no archived markup or CSS). The button reuses Google's real circle-button values
   (.Hza.b-c-Wa #d73d32, .b-c 12px bold, cpw add-person icon at 0 0). ===== */
.ymk-card { box-sizing: border-box; margin: 0 0 16px; padding: 14px 15px 6px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
.ymk-head { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 10px; }
.ymk-title { color: #404040; font: 300 20px Roboto, arial, sans-serif; }
.ymk-more { color: #999; font-size: 12px; }
.ymk-more:hover { color: #427fed; text-decoration: none; }
.ymk-row { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.ymk-person { display: flex; flex: 1; align-items: center; gap: 12px; min-width: 0; color: #262626; text-decoration: none !important; }
.ymk-person img { width: 36px; height: 36px; flex: none; object-fit: cover; }
.ymk-text { display: flex; flex-direction: column; min-width: 0; }
.ymk-text b { overflow: hidden; font: 700 13px Roboto, arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.ymk-sub { overflow: hidden; color: #999; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ymk-x { flex: none; width: 14px; height: 14px; padding: 0; border: 0; border-radius: 50%; background: #c6c6c6; cursor: pointer; position: relative; }
.ymk-x::before, .ymk-x::after { content: ""; position: absolute; left: 3px; top: 6px; width: 8px; height: 2px; background: #fff; transform: rotate(45deg); }
.ymk-x::after { transform: rotate(-45deg); }
.ymk-x:hover { background: #999; }
.ymk-add { flex: none; display: inline-flex; align-items: center; height: 28px; padding: 0 8px; border: 1px solid transparent; border-radius: 2px; background: #d73d32; color: #fff; font: 700 12px Roboto, arial, sans-serif; cursor: pointer; }
.ymk-add-icon { display: inline-block; width: 20px; height: 20px; margin-right: 4px; background: url(img/cpw-7de38e2bb0.png) no-repeat 0 0; }
.ymk-add.added { background: #fff; border-color: #d4d4d4; color: #404040; cursor: default; }

/* Signed-out top strip: ours, the same 30px as the old bar so nothing below moves. */
.g15-ownbar { display: flex; align-items: center; gap: 10px; height: 30px; padding: 0 16px; background: #2d2d2d; color: #ccc; font: 400 13px Roboto, arial, sans-serif; }
.g15-ownbar-name { color: #fff; font-weight: 700; text-decoration: none; }
.g15-ownbar-note { color: #999; font-size: 12px; }
.g15-ownbar-signin { margin-left: auto; color: #fff; font-weight: 700; text-decoration: none; }

/* ---------- Phones (own rules, not archived) ----------
   The archived 2015 desktop CSS has no phone layout (Google served phones a
   separate app), so below 600px the same pieces are just stacked into one
   full-width column. Desktop is untouched. */
@media (max-width: 600px) {
  [data-theme="2015"] .gp-search { display: none; }
  [data-theme="2015"] .gp-header-right { right: 12px; }
  [data-theme="2015"] .gp-logo { margin-left: -12px; }
  [data-theme="2015"] .gp-tabs { overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  [data-theme="2015"] .gp-tabs::-webkit-scrollbar { display: none; }
  [data-theme="2015"] .gp-main { padding: 10px 0 1px; }
  [data-theme="2015"] .stream,
  [data-theme="2015"] .profile .stream,
  [data-theme="2015"] .c15 .stream { --col: 100%; }
  [data-theme="2015"] .stream.columns { flex-direction: column; width: auto; }
  [data-theme="2015"] .stream-col { width: 100%; }
  [data-theme="2015"] .share-box { min-width: 0; }
  [data-theme="2015"] .post img, [data-theme="2015"] .post video, [data-theme="2015"] .post iframe { max-width: 100%; height: auto; }
  [data-theme="2015"] .single-post { display: block; }
  [data-theme="2015"] .single-post-card { width: auto; margin: 0 0 10px; padding: 20px; }
  [data-theme="2015"] .single-post > .post { width: auto; }
  [data-theme="2015"] .community-page.c15 { display: block; width: auto; margin: 0; }
  [data-theme="2015"] .c15-side, [data-theme="2015"] .c15-main { display: block; width: auto; min-width: 0; padding: 0; }
  [data-theme="2015"] .c15-main { margin-top: 10px; }
}

/* Share button beside +1, from [CSS] (the share button is <div class="Ut Dg"><span class="tf">
   <span class="iI"></span><span class="MM jI">count</span></span></div> in [P]):
   .Dg  3px radius, 0 1px 0 rgba(0,0,0,.05), #fff, 1px #d9d9d9, 28px line, 8px left margin, 0 10px padding; hover .1 shadow, #bfbfbf
   .tf  #262626 bold 14px, opacity .7 (1 while pressed)
   .iI  stream_showroom -298px 0, 16x16, margin-bottom 3px, vertical-align middle
   .jI  count margin-left 2px */
.reshare-btn { flex: none; box-sizing: content-box; height: 28px; margin-left: 8px; padding: 0 10px; border: 1px solid #d9d9d9; border-radius: 3px; box-shadow: 0 1px 0 rgba(0,0,0,.05); background: #fff; color: #262626; font: 700 14px/28px Roboto, sans-serif; cursor: pointer; transition: background-color .218s, border-color .218s, box-shadow .218s; }
.reshare-btn:hover { box-shadow: 0 1px 0 rgba(0,0,0,.1); border-color: #bfbfbf; }
.reshare-btn .reshare-inner { display: inline-block; opacity: .7; }
.reshare-btn:active .reshare-inner { opacity: 1; }
.reshare-icon { display: inline-block; width: 16px; height: 16px; margin-bottom: 3px; vertical-align: middle; background: url(img/stream_showroom-d8de88384f6e5817983d0fcec12c128a.png) no-repeat -298px 0; }
.reshare-btn .reshare-count { margin-left: 2px; color: #262626; font-size: 14px; }
.post.commenting .reshare-btn, .comment-form.expanded .reshare-btn { display: none; }

/* Fake "apps" grid off the 9-dot button (Ganson-flavoured, all return to the current page). */
.gp-apps-grid { position: absolute; top: 48px; right: 60px; z-index: 50; width: 300px; padding: 16px 8px 8px; background: #fff; border: 1px solid #ccc; border-radius: 2px; box-shadow: 0 2px 10px rgba(0,0,0,.2); }
.gp-apps-grid { display: none; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.gp-apps-grid:not([hidden]) { display: grid; }
.ga-app { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px; border-radius: 3px; color: #555; font-size: 12px; text-align: center; text-decoration: none; }
.ga-app:hover { background: #f5f5f5; text-decoration: none; }
.ga-tile { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; font: 700 20px Roboto, arial, sans-serif; }
.ga-label { max-width: 84px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ga-c1 { background: #d93025; } .ga-c2 { background: #1a73e8; } .ga-c3 { background: #ea4335; }
.ga-c4 { background: #34a853; } .ga-c5 { background: #4285f4; } .ga-c6 { background: #fbbc04; }
.ga-c7 { background: #00897b; } .ga-c8 { background: #f9ab00; } .ga-c9 { background: #5f6368; }
@media (max-width: 600px) { .gp-apps-grid { right: 8px; width: calc(100vw - 16px); max-width: 300px; } }

/* Apps grid anchored in the signed-out bar */
.g15-ownbar { position: relative; }
.g15-ownbar-right { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.g15-ownbar-apps { width: 18px; height: 18px; padding: 0; border: 0; cursor: pointer; background:
  radial-gradient(#bbb 1.4px, transparent 1.6px) 0 0 / 6px 6px repeat; opacity: .85; }
.g15-ownbar-apps:hover { opacity: 1; }
.g15-ownbar .gp-apps-grid { top: 34px; right: 12px; }

/* Fake Google-style service links in the signed-out Gbar (each returns to the current page). */
.g15-ownbar-links { display: flex; align-items: center; gap: 16px; }
.g15-ownbar-links a { color: #ccc; font-size: 13px; text-decoration: none; }
.g15-ownbar-links a:hover { color: #fff; text-decoration: none; }
.g15-ownbar-signin { margin-left: auto; }
@media (max-width: 600px) { .g15-ownbar-links { display: none; } }

/* ============================================================
   EVENTS  (Google+ Events; card + create dialog reconstructed from
   screenshots, measured: card 438px on #e5e5e5, Create #3b80f2,
   avatar 64px, dividers #e8e8e8). The 2015 event pages were behind
   sign-in, so there is no archived event CSS to copy.
   ============================================================ */
.ev-page { max-width: 940px; margin: 0 auto; padding: 24px 16px 60px; }
.ev-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 20px; }
.ev-head-title { margin: 0; color: #555; font: 300 20px Roboto, arial, sans-serif; }
.ev-head-btns { display: flex; gap: 10px; }
.ev-btn-plain { background: #fff; border: 1px solid #d9d9d9; color: #444; }
.ev-btn-blue { background: #3b80f2; border: 1px solid #3b80f2; color: #fff; }
.ev-btn-blue:hover { background: #3576e0; }
.ev-empty { padding: 24px; color: #777; }
.ev-list { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.ev-card { width: 438px; max-width: 100%; background: #fff; border: 1px solid #e0e0e0; border-radius: 2px; box-shadow: 0 1px 2px rgba(0,0,0,.08); overflow: hidden; }
.ev-cover { position: relative; height: 140px; background: #bbb; background-size: cover; background-position: center; }
.ev-cover-link { position: absolute; inset: 0; }
.ev-host { position: absolute; right: 20px; bottom: -28px; }
.ev-host img { width: 64px; height: 64px; border-radius: 50%; border: 2px solid #fff; display: block; background: #e0e0e0; }
.ev-body { padding: 18px 20px 16px; }
.ev-title { display: block; margin: 0 0 14px; color: #404040; font: 300 18px/1.2 Roboto, arial, sans-serif; text-decoration: none; }
a.ev-title:hover { text-decoration: underline; }
.ev-meta { color: #5f6368; font-size: 13px; }
.ev-row { display: flex; align-items: center; gap: 10px; min-height: 24px; }
.ev-ic { flex: none; width: 18px; height: 18px; background: no-repeat center / 18px 18px; }
.ev-ic-cal { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235f6368'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 15H5V9h14v10zM5 7V6h14v1H5z'/%3E%3C/svg%3E"); }
.ev-ic-loc { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235f6368'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.ev-ic-red { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23db4437'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.ev-ic-ppl { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235f6368'%3E%3Cpath d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0 2c-3 0-8 1.5-8 4.5V21h16v-2.5c0-3-5-4.5-8-4.5z'/%3E%3C/svg%3E"); }
.ev-divider { height: 1px; background: #e8e8e8; margin: 16px 0; }
.ev-rsvp-q { display: block; margin: 0 0 10px; color: #404040; font-size: 13px; font-weight: 500; }
.ev-rsvp-controls { display: flex; align-items: center; gap: 8px; }
.ev-rsvp-field { position: relative; }
.ev-rsvp-btn { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; background: #fff; border: 1px solid #d9d9d9; border-radius: 2px; color: #444; font: 400 13px Roboto, arial, sans-serif; cursor: pointer; }
.ev-rsvp-btn:hover { border-color: #c6c6c6; }
.ev-answered { color: #202020; font-weight: 500; }
.ev-caret { color: #888; font-size: 10px; }
.ev-menu { position: absolute; top: 38px; left: 0; z-index: 40; min-width: 120px; max-height: 240px; overflow-y: auto; padding: 4px 0; background: #fff; border: 1px solid #ccc; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.ev-menu form { margin: 0; }
.ev-menu button { display: block; width: 100%; padding: 7px 14px; border: 0; background: none; text-align: left; font: 400 13px Roboto, arial, sans-serif; color: #333; cursor: pointer; }
.ev-menu button:hover { background: #f1f1f1; }
.ev-invite-more { margin-left: auto; color: #444; font-size: 13px; text-decoration: none; padding: 0 4px; }
.ev-invite-more:hover { text-decoration: underline; }
.ev-dialog { width: 560px; max-width: 94vw; padding: 0; border: 0; border-radius: 2px; box-shadow: 0 4px 24px rgba(0,0,0,.3); }
.ev-form { padding: 24px; }
.ev-form-top { display: flex; gap: 16px; }
.ev-form-host { width: 56px; height: 56px; border-radius: 50%; flex: none; background: #e0e0e0; }
.ev-form-main { flex: 1; min-width: 0; }
.ev-theme-pick { display: flex; align-items: center; gap: 6px; margin: 0 0 12px; }
.ev-theme-label { color: #888; font-size: 12px; margin-right: 4px; }
.ev-swatch { width: 24px; height: 18px; border-radius: 2px; cursor: pointer; outline: 2px solid transparent; }
.ev-swatch input { position: absolute; opacity: 0; width: 0; height: 0; }
.ev-swatch:has(input:checked) { outline-color: #3b80f2; }
.ev-input { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d9d9d9; border-radius: 2px; font: 400 14px Roboto, arial, sans-serif; color: #333; margin: 0 0 10px; }
.ev-input:focus { border-color: #3b80f2; outline: none; }
.ev-title-input { font-size: 16px; }
.ev-when { display: flex; align-items: center; gap: 8px; }
.ev-when .ev-ic { margin-bottom: 10px; }
.ev-date { width: auto; flex: 1; }
.ev-time { width: 110px; flex: none; }
.ev-end-note { color: #999; font-size: 12px; margin: 0 0 10px; }
.ev-tz { color: #999; font-size: 12px; margin: -4px 0 12px 26px; }
.ev-field-icon { display: flex; align-items: center; gap: 8px; }
.ev-field-icon .ev-ic { margin-bottom: 10px; }
.ev-details { resize: vertical; }
.ev-to { display: flex; align-items: center; gap: 8px; }
.ev-to-label { color: #888; font-size: 13px; margin-bottom: 10px; }
.ev-form-actions { display: flex; gap: 10px; margin-top: 6px; }
.ev-theme-0, .ev-swatch.ev-theme-0 { background: linear-gradient(135deg, #5b7cfa, #3b55c4); }
.ev-theme-1, .ev-swatch.ev-theme-1 { background: linear-gradient(135deg, #ef6aa6, #c2366f); }
.ev-theme-2, .ev-swatch.ev-theme-2 { background: linear-gradient(135deg, #ffb24d, #f57c00); }
.ev-theme-3, .ev-swatch.ev-theme-3 { background: linear-gradient(135deg, #42c88a, #1f9d57); }
.ev-theme-4, .ev-swatch.ev-theme-4 { background: linear-gradient(135deg, #7e6bdc, #4d3fae); }
.ev-theme-5, .ev-swatch.ev-theme-5 { background: linear-gradient(135deg, #4a4f57, #23272e); }
.ev-detail .ev-card { margin-bottom: 20px; }
.ev-guests { max-width: 438px; padding: 18px 20px; }
.ev-details-view { color: #333; font-size: 14px; white-space: pre-wrap; margin: 0 0 12px; }
.ev-guest-group { margin: 0 0 16px; }
.ev-guest-head { margin: 0 0 10px; color: #555; font: 400 14px Roboto, arial, sans-serif; }
.ev-guest-list { display: flex; flex-direction: column; gap: 8px; }
.ev-guest { display: flex; align-items: center; gap: 10px; color: #333; text-decoration: none; font-size: 13px; }
.ev-guest img { width: 40px; height: 40px; border-radius: 50%; }
.ev-invite-form { display: flex; gap: 8px; margin-top: 8px; }
.ev-invite-form .ev-input { margin: 0; }

/* ============================================================
   HANGOUTS (2015). Measured from real August 2015 screenshots (2x
   captures, halved): the docked chat windows (Android Police, Aug 2015)
   and the conversation list (Phandroid, Aug 2015). No archived CSS
   exists: the chat ran in a signed-in iframe. Values marked [S] are
   screenshot-measured; unmarked ones are ours.
   ============================================================ */
/* Conversation list on the right */
.ho-roster { position: fixed; top: 60px; right: 0; bottom: 0; width: 300px; z-index: 60; display: flex; flex-direction: column; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,.14), 0 4px 8px rgba(0,0,0,.28); font: 400 13px Roboto, arial, sans-serif; }
.ho-roster-head { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px 0 16px; background: #fff; color: #333; font-weight: 500; }
.ho-logo { width: 18px; height: 18px; border-radius: 3px 3px 3px 0; background: #0f9d58; }
.ho-roster-close { margin-left: auto; border: 0; background: none; color: #888; font-size: 20px; line-height: 1; cursor: pointer; }
/* [S] "New conversation" row: search glyph, grey placeholder, divider below */
.ho-new { display: flex; align-items: center; gap: 14px; height: 48px; padding: 0 12px 0 16px; border-bottom: 1px solid #f5f5f5; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.ho-new-search { flex: none; width: 18px; height: 18px; background: no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23757575'%3E%3Cpath d='M15.5 14h-.8l-.3-.3A6.5 6.5 0 1 0 14 15.5l.3.3v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z'/%3E%3C/svg%3E"); }
.ho-new-input { flex: 1; min-width: 0; border: 0; outline: none; font: 400 13px Roboto, arial, sans-serif; color: #333; background: none; }
.ho-new-input::placeholder { color: #757575; }
.ho-new-group { flex: none; width: 28px; height: 28px; border: 0; border-radius: 50%; background: #0f9d58; color: #fff; font-size: 18px; line-height: 28px; cursor: pointer; }
.ho-group-form { padding: 10px 16px; border-bottom: 1px solid #eee; }
.ho-group-name { width: 100%; box-sizing: border-box; padding: 7px 8px; border: 1px solid #d9d9d9; border-radius: 2px; font: 400 13px Roboto, arial, sans-serif; }
.ho-group-people { max-height: 220px; overflow-y: auto; margin: 8px 0; }
.ho-group-person { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; }
.ho-group-actions { display: flex; gap: 8px; }
.ho-list { flex: 1; margin: 0; padding: 0; list-style: none; overflow-y: auto; }
/* [S] rows 72px, 40px round avatar 24px from the left, text 17px after it,
   preview #757575, time #ababab */
.ho-person { display: flex; align-items: center; gap: 17px; height: 72px; padding: 0 16px 0 24px; cursor: pointer; }
.ho-person:hover { background: #f5f5f5; }
.ho-avatar { width: 40px; height: 40px; border-radius: 50%; flex: none; object-fit: cover; background: #e0e0e0; }
.ho-group-person .ho-avatar { width: 24px; height: 24px; }
.ho-collage { position: relative; flex: none; display: grid; grid-template-columns: 1fr 1fr; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: #e0e0e0; }
.ho-collage img { width: 20px; height: 20px; object-fit: cover; display: block; }
.ho-collage-more { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; background: #757575; color: #fff; font-size: 9px; font-weight: 700; }
.ho-person-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ho-person-top { display: flex; align-items: baseline; gap: 8px; }
.ho-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #757575; font-size: 13px; }
.ho-has-unread .ho-name { color: #262626; font-weight: 700; }
.ho-when { flex: none; color: #ababab; font-size: 11px; }
.ho-has-unread .ho-when { color: #262626; font-weight: 700; }
.ho-preview { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #757575; font-size: 12px; }
.ho-has-unread .ho-preview { color: #262626; font-weight: 700; }
.ho-empty { padding: 16px 24px; color: #999; }
.ho-rb-count { min-width: 16px; height: 16px; margin-left: 6px; padding: 0 4px; border-radius: 8px; background: #d93025; color: #fff; font-size: 10px; line-height: 16px; text-align: center; display: inline-block; }

/* Chat windows docked at the bottom. [S] 262px wide, 11px apart */
.ho-dock { position: fixed; right: 312px; bottom: 0; z-index: 61; display: flex; gap: 11px; align-items: flex-end; }
body:not(.ho-roster-open) .ho-dock { right: 12px; }
.ho-chat { position: relative; display: flex; flex-direction: column; width: 262px; height: 400px; background: #e4e4e4; box-shadow: 0 0 4px rgba(0,0,0,.14), 0 4px 8px rgba(0,0,0,.28); font: 400 13px Roboto, arial, sans-serif; }
.ho-chat.ho-min { height: auto; }
/* [S] header 35px #3f3f3f, grey band under it (no green line in 2015) */
.ho-chat-head { display: flex; align-items: center; gap: 8px; height: 35px; padding: 0 6px 0 10px; background: #3f3f3f; border-bottom: 5px solid #8d8d8d; color: #fff; cursor: pointer; }
.ho-new-msg .ho-chat-head { background: #0f9d58; border-bottom-color: #0b8043; }
.ho-chat-icon { flex: none; width: 14px; height: 14px; border-radius: 3px 3px 3px 0; background: #fff; opacity: .9; }
.ho-chat-titles { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.ho-chat-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 700; }
.ho-chat-sub { color: #bdbdbd; font-size: 11px; }
.ho-chat-btn { border: 0; background: none; color: #bdbdbd; font-size: 15px; line-height: 1; cursor: pointer; padding: 4px 5px; }
.ho-chat-btn:hover { color: #fff; }
.ho-chat.ho-min .ho-toolbar, .ho-chat.ho-min .ho-msgs, .ho-chat.ho-min .ho-compose, .ho-chat.ho-min .ho-panel { display: none; }
/* [S] toolbar 40px #e3e3e3, icons left, settings right, shadow line below */
.ho-toolbar { position: relative; display: flex; align-items: center; gap: 4px; height: 40px; padding: 0 6px; background: #e3e3e3; box-shadow: 0 1px 2px rgba(0,0,0,.15); z-index: 1; }
.ho-tool { width: 32px; height: 32px; border: 0; background: no-repeat center / 20px; opacity: .55; cursor: pointer; }
.ho-tool:hover { opacity: .85; }
.ho-tool-gap { flex: 1; }
.ho-tool-video { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l4 4v-11l-4 4z'/%3E%3C/svg%3E"); }
.ho-tool-add { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm-9-2V7H4v3H1v2h3v3h2v-3h3v-2H6zm9 4c-2.7 0-8 1.3-8 4v2h16v-2c0-2.7-5.3-4-8-4z'/%3E%3C/svg%3E"); }
.ho-tool-gear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.4 13a7.5 7.5 0 0 0 0-2l2.1-1.6-2-3.5-2.5 1a7 7 0 0 0-1.7-1L15 3h-4l-.4 2.6a7 7 0 0 0-1.7 1l-2.5-1-2 3.5L6.6 11a7.5 7.5 0 0 0 0 2l-2.1 1.6 2 3.5 2.5-1a7 7 0 0 0 1.7 1L11 21h4l.4-2.6a7 7 0 0 0 1.7-1l2.5 1 2-3.5zM13 15.5a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z'/%3E%3C/svg%3E"); }
.ho-gear-menu { position: absolute; top: 38px; right: 6px; z-index: 5; min-width: 140px; padding: 4px 0; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
.ho-gear-menu button { display: block; width: 100%; padding: 8px 14px; border: 0; background: none; text-align: left; font: 400 13px Roboto, arial, sans-serif; color: #333; cursor: pointer; }
.ho-gear-menu button:hover { background: #f1f1f1; }
.ho-panel { display: flex; gap: 6px; padding: 8px; background: #fff; border-bottom: 1px solid #d9d9d9; }
.ho-panel-input { flex: 1; min-width: 0; padding: 6px 8px; border: 1px solid #d9d9d9; border-radius: 2px; font: 400 13px Roboto, arial, sans-serif; }
.ho-panel-ok { border: 0; border-radius: 2px; background: #0f9d58; color: #fff; padding: 0 10px; font: 500 12px Roboto, arial, sans-serif; cursor: pointer; }
.ho-panel-cancel { border: 0; background: none; color: #888; font-size: 16px; cursor: pointer; }
/* [S] message area #e4e4e4, plain white cards, round 32px avatar for others,
   mine right-aligned with no avatar, time under the card */
.ho-msgs { flex: 1; overflow-y: auto; padding: 10px 8px 4px; background: #e4e4e4; }
.ho-msg { display: flex; gap: 8px; margin: 0 0 10px; }
.ho-mine { justify-content: flex-end; }
.ho-msg-avatar { width: 32px; height: 32px; border-radius: 50%; flex: none; object-fit: cover; background: #ccc; }
.ho-msg-col { display: flex; flex-direction: column; max-width: 190px; min-width: 0; }
.ho-mine .ho-msg-col { align-items: flex-end; }
.ho-card { padding: 8px 10px; background: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.1); color: #333; line-height: 1.35; word-wrap: break-word; white-space: pre-wrap; }
.ho-time { margin-top: 4px; color: #999; font-size: 11px; }
.ho-system { margin: 2px 6px 10px; color: #999; font-size: 11px; text-align: center; }
/* [S] input: white, smiley left, photo icon right, blue outline when focused */
.ho-compose { display: flex; align-items: center; gap: 8px; min-height: 37px; padding: 4px 10px; background: #fff; border: 1px solid transparent; }
.ho-compose:focus-within { border-color: #4d90fe; }
.ho-compose-smile, .ho-compose-photo { flex: none; width: 18px; height: 18px; opacity: .55; background: no-repeat center / 18px; }
.ho-compose-smile { border-radius: 50%; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm-3.5 6A1.5 1.5 0 1 1 7 9.5 1.5 1.5 0 0 1 8.5 8zm7 0A1.5 1.5 0 1 1 14 9.5 1.5 1.5 0 0 1 15.5 8zM12 17.5A5.5 5.5 0 0 1 6.9 14h10.2a5.5 5.5 0 0 1-5.1 3.5z'/%3E%3C/svg%3E"); }
.ho-compose-photo { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2zM8.5 13.5l2.5 3 3.5-4.5 4.5 6H5z'/%3E%3C/svg%3E"); }
.ho-input { flex: 1; min-width: 0; border: 0; outline: none; resize: none; padding: 6px 0; font: 400 13px Roboto, arial, sans-serif; color: #333; max-height: 80px; background: none; }
.ho-input::placeholder { color: #999; }
@media (max-width: 760px) {
  .ho-roster { top: 0; width: 100%; }
  .ho-dock { right: 0; left: 0; justify-content: center; }
  .ho-chat { width: 100%; max-width: 262px; }
}

/* ================= Motion: [CSS] keyframes from the October 2015 stylesheet =================
   web.archive.org/web/20151020025842 (oz.home stylesheet). Names, timings, curves and
   colours are copied as-is; each is put on the Ganson+ part that plays the same role.
   Skipped for people who ask their system for reduced motion. */
@keyframes g15SbEditorPanel { 0%, to { border-color: #d0d0d0; } 50% { border-color: #4374e0; } }
@keyframes g15SbEditorScale { 0% { transform: scale(0); } to { transform: scale(1); } }
@keyframes g15SbOverlay { 0%, to { opacity: 0; } 50% { opacity: .85; } }
@keyframes g15RibbonCount { 0% { transform: scale(0, 0); } 20% { transform: scale(1.4, 1.4); } 50% { transform: scale(.8, .8); } 85% { transform: scale(1.1, 1.1); } to { transform: scale(1, 1); } }
@keyframes g15InfoCard { 0% { opacity: .6; transform: scale(.95) translateY(-20px); } to { opacity: 1; transform: none; } }
@keyframes g15ModalBg { 0% { opacity: 0; } to { opacity: .75; } }
@keyframes g15FadeIn { 0% { opacity: 0; } to { opacity: 1; } }
@keyframes g15DropOff { 0% { transform: translate3d(0, 0, 0); } 90% { opacity: 1; } to { opacity: 0; transform: translate3d(0, 1500px, 0); } }

@media (prefers-reduced-motion: no-preference) {
  /* Inline share box opening (.d6Gr9d .Rd): the editor pops in with an overshoot while its
     border flashes grey, blue, grey; (.OtvzMc .yzBzTd) a #f5f5f5 sheet flashes over the box. */
  [data-theme="2015"] .share-box[data-state="open"] .share-text {
    animation: g15SbEditorPanel .8s, g15SbEditorScale .4s cubic-bezier(.25, .75, .5, 1.2);
  }
  [data-theme="2015"] .share-box[data-state="open"]::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-color: #f5f5f5;
    box-shadow: inset 0 -2px 0 0 #d8d8d8;
    opacity: 0;
    pointer-events: none;
    animation: g15SbOverlay .8s linear forwards;
  }
  /* Ribbon count badge (.dioXrb .bNPeaf): pops in from the top-right corner after 1s */
  [data-theme="2015"] .ho-rb-count:not([hidden]) {
    transform-origin: right top;
    perspective-origin: right top;
    animation: g15RibbonCount .6s 1s both ease-in-out;
  }
  /* Contact info card (.qSeuue .Ee): drops into place, used for the account and notifications cards */
  [data-theme="2015"] .gp-account-card:not([hidden]),
  [data-theme="2015"] .gp-notifications:not([hidden]) { animation: g15InfoCard .218s; }
  /* Modal backdrop (.JwfaC .G-q-Ya): fades in over .218s, ending at our dialog's .75 */
  [data-theme="2015"] .g15-dialog-bg:not([hidden]) { animation: g15ModalBg .218s; }
  /* Menus fade in (fadein .4s ease-in) */
  [data-theme="2015"] .gp-menu:not([hidden]) { animation: g15FadeIn .4s ease-in 1 normal both; }
  /* Removed posts and comments fall off the page (.Zgb dropoff .4s ease-in) */
  [data-theme="2015"] .g15-dropoff { position: relative; z-index: 1000; pointer-events: none; animation: g15DropOff .4s ease-in 1 normal both; }
  /* Links change colour over .218s, the stylesheet's most used transition */
  [data-theme="2015"] a { transition: color .218s; }
}

/* 2015 account card (Google's one-bar card): photo with a Change photo bar, Account – Privacy,
   a blue View profile button, then a grey footer with Add account and Sign out. */
[data-theme="2015"] .gp-account-card { width: 340px; padding: 20px 20px 0; gap: 20px; border-color: #ccc; border-color: rgba(0, 0, 0, .2); box-shadow: 0 2px 10px rgba(0, 0, 0, .2); font-size: 13px; }
[data-theme="2015"] .gp-account-card > div:not(.gp-account-foot) { flex: 1; gap: 2px; }
[data-theme="2015"] .gp-account-card strong { font-size: 13px; font-weight: 700; color: #000; }
[data-theme="2015"] .gp-account-card span { color: #666; }
[data-theme="2015"] .gp-account-meta a { color: #666; }
[data-theme="2015"] .gp-account-meta a:hover { color: #36c; text-decoration: underline; }
[data-theme="2015"] .gp-account-view { align-self: flex-start; margin-top: 10px; height: 29px; padding: 0 12px; border: 1px solid #3079ed; border-radius: 2px; background: #4d90fe linear-gradient(#4d90fe, #4787ed); color: #fff; font-weight: 700; line-height: 27px; text-decoration: none; }
[data-theme="2015"] .gp-account-view:hover { border-color: #2f5bb7; background: #357ae8 linear-gradient(#4d90fe, #357ae8); color: #fff; text-decoration: none; }
[data-theme="2015"] .gp-account-card .gp-accounts { width: calc(100% + 40px); margin: 0 -20px; }
[data-theme="2015"] .gp-account-card .gp-account-foot { width: calc(100% + 40px); margin: 0 -20px; padding: 10px 20px; border-top: 1px solid #ccc; border-top-color: rgba(0, 0, 0, .2); background: #f5f5f5; }
[data-theme="2015"] .gp-account-foot .gp-account-links { display: flex; gap: 8px; }
[data-theme="2015"] .gp-account-foot .gp-account-links a, [data-theme="2015"] .gp-account-foot button { display: inline-block; height: 29px; padding: 0 12px; border: 1px solid #c6c6c6; border-color: rgba(0, 0, 0, .1); border-radius: 2px; background: #f8f8f8 linear-gradient(#f8f8f8, #f1f1f1); color: #666; font: inherit; font-weight: 700; line-height: 27px; white-space: nowrap; text-decoration: none; cursor: pointer; }
[data-theme="2015"] .gp-account-foot .gp-account-links a:hover, [data-theme="2015"] .gp-account-foot button:hover { border-color: #c6c6c6; color: #333; box-shadow: 0 1px 1px rgba(0, 0, 0, .1); }
/* Collections menu row (collections_ribbon_1x, Google's May 2015 asset). */
/* Collections row icon: [CSS] .m7c, the 24x24 sprite unscaled, nudged 2px up and left */
[data-theme="2015"] .gp-ribbon .rb-collections .icon { position: relative; left: -2px; top: -2px; width: 24px; height: 24px; margin-right: -4px; margin-bottom: -4px; background: url(img/collections_ribbon_1x-053433a84a2230587831db62f0a4bfc2.png) no-repeat 0 0; }

/* ---------- Community editing, members and moderation (2015) ----------
   Sources: Social Media Examiner, May 2014 (gear menu, setup screen, categories);
   Elegant Themes, Jan 2015 (create dialog, edit panel at 1:1); Cypress North,
   Jul 2013 (moderator post menu); Oct 2015 stylesheet [CSS] for the values below. */
[data-theme="2015"] .c15:not(.c15-editing) .c15-edit-only { display: none; }
[data-theme="2015"] .c15-editing .c15-view-only { display: none; }

/* Gear under the tagline (2014 capture), Google's gear from profiles_1p on its 17px grid */
/* The gear menu spills past the panel, over the share box (May 2014 capture); the cover crops its own image. */
/* flow-root keeps the header's 15px margin inside the panel now that it no longer clips. */
[data-theme="2015"] .c15-panel { overflow: visible; display: flow-root; }
[data-theme="2015"] .c15-tools { position: relative; display: flex; justify-content: flex-end; margin-top: 10px; }
[data-theme="2015"] .c15-gear { width: 16px; height: 16px; padding: 0; border: 0; background: url(img/profiles_1p-5160fcb70427e709388d74f92cc12f06.png) no-repeat -17px -944px; opacity: .55; cursor: pointer; }
[data-theme="2015"] .c15-gear:hover, [data-theme="2015"] .c15-gear[aria-expanded="true"] { opacity: .8; }
[data-theme="2015"] .c15-menu { position: absolute; top: 22px; left: calc(100% - 22px); right: auto; min-width: 220px; }

/* [CSS] .NZd veil, .OZd lifted panel, .d0d blue bar, .c0d Done, .e0d bar text (.V8c 14px) */
[data-theme="2015"] .c15-edit-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1001; background-color: #fff; opacity: .9; }
[data-theme="2015"] .c15-editing .c15-panel { position: relative; z-index: 1002; box-shadow: 0 2px 40px rgba(0, 0, 0, .4); }
[data-theme="2015"] .c15-edit-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 1003; height: 60px; min-width: 900px; background-color: #4285f4; }
[data-theme="2015"] .c15-edit-bar-text { display: inline-block; margin: 12px 15px 0 45px; color: #fff; font: 14px/18px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-edit-bar:not(.is-setup) .c15-edit-bar-text { margin-top: 21px; }
[data-theme="2015"] .c15-edit-bar:not(.is-setup) .c15-setup-only, [data-theme="2015"] .c15-edit-bar.is-setup .c15-edit-plain { display: none; }
[data-theme="2015"] .c15-edit-done { float: right; margin: 15px 30px 0 15px; height: 29px; padding: 0 12px; border: 1px solid rgba(0, 0, 0, .15); border-radius: 2px; background-color: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, .05); color: #404040; font: 700 12px/27px Roboto, sans-serif; cursor: pointer; }
[data-theme="2015"] .c15-edit-done:hover { border-color: #b8b8b8; box-shadow: 0 1px 0 rgba(0, 0, 0, .1); }

/* Name and tagline fields (setup capture); inputs as Google's .S0b: 29px, #d9d9d9, 3px corners */
[data-theme="2015"] .c15-edit-name, [data-theme="2015"] .c15-edit-tagline { display: block; box-sizing: border-box; width: 100%; border: 1px solid #d9d9d9; border-radius: 3px; background: #fff; color: #404040; }
[data-theme="2015"] .c15-edit-name { height: 36px; padding: 2px 6px; font: 300 20px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-edit-tagline { height: 29px; margin-top: 5px; padding: 5px 6px; font: 12px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-edit-name:focus, [data-theme="2015"] .c15-edit-tagline:focus, [data-theme="2015"] .c15-edit-description:focus, [data-theme="2015"] .c15-cat-name:focus { border-color: #4d90fe; outline: none; }
/* "Pick a photo" at the cover's top left (setup capture) */
[data-theme="2015"] .c15-cover .c15-pick-photo { top: 15px; left: 15px; right: auto; bottom: auto; line-height: 28px; }

/* Category rows: [CSS] .wZd 10px list margin, .yZd 34px rows + 4px, .sZd arrow, .K8c move cursor,
   .vZd 149px name, .tZd .3 for "Add category..."; the delete cross is the sprite's 12px x (.j0d) */
[data-theme="2015"] .c15-edit-cats { margin: 10px; border-bottom: 1px solid #d5d5d5; padding-bottom: 6px; }
[data-theme="2015"] .c15-edit-all { padding: 6px 0 2px 5px; color: #999; font: 12px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-cat-row { display: flex; align-items: center; box-sizing: content-box; width: 100%; height: 34px; margin: 0; padding: 4px 0 0; border: 0; background: none; text-align: left; cursor: move; }
[data-theme="2015"] .c15-cat-row.dragging { opacity: .5; }
[data-theme="2015"] .c15-cat-arrow { flex: none; display: inline-block; position: relative; top: 0; width: 21px; height: 21px; margin: 0 5px 0 -3px; background: url(img/communities-9c0a17ce2ead705b02d3c5f1ab319fa3.png) no-repeat -38px 0; }
[data-theme="2015"] .c15-cat-name { box-sizing: border-box; width: 149px; height: 27px; padding: 0 4px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: #404040; font: 13px Roboto, arial, sans-serif; text-overflow: ellipsis; cursor: text; }
[data-theme="2015"] .c15-cat-name:hover { border-color: #d9d9d9; }
[data-theme="2015"] .c15-cat-del { flex: none; width: 12px; height: 12px; margin-left: auto; padding: 0; border: 0; background: url(img/communities-9c0a17ce2ead705b02d3c5f1ab319fa3.png) no-repeat -139px -17px; opacity: .7; cursor: pointer; }
[data-theme="2015"] .c15-cat-del:hover { opacity: 1; }
[data-theme="2015"] .c15-cat-add { cursor: pointer; }
[data-theme="2015"] .c15-cat-add .c15-cat-arrow { opacity: .3; }
[data-theme="2015"] .c15-cat-add-text { padding-left: 5px; color: #404040; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-cat-add:hover .c15-cat-add-text { text-decoration: underline; }

/* About box and Delete link (Elegant Themes 1:1 capture: 190x210 box 15px in; [CSS] .ZKb labels) */
[data-theme="2015"] .c15-edit-about { margin: 15px; }
[data-theme="2015"] .c15-edit-label { color: #aaa; font: bold 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-edit-description { display: block; box-sizing: border-box; width: 190px; height: 210px; margin-top: 8px; padding: 5px 6px; border: 1px solid #d9d9d9; border-radius: 0; color: #404040; font: 13px/18px Roboto, arial, sans-serif; resize: vertical; }
[data-theme="2015"] .c15-edit-link { display: block; margin: 20px 0 0; padding: 0; border: 0; background: none; color: #427fed; font: 13px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .c15-edit-link:hover { text-decoration: underline; }

/* "Finish setting up your community by:" card beside the panel (setup captures) */
[data-theme="2015"] .c15-setup-card { position: absolute; z-index: 1003; box-sizing: border-box; width: 440px; padding: 20px 20px 18px; background: #fff; box-shadow: 0 4px 16px rgba(0, 0, 0, .2); color: #404040; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-setup-card::before { content: ""; position: absolute; left: -8px; top: 22px; width: 16px; height: 16px; background: #fff; transform: rotate(45deg); box-shadow: -2px 2px 3px rgba(0, 0, 0, .06); }
[data-theme="2015"] .c15-setup-title { color: #262626; font-weight: bold; }
[data-theme="2015"] .c15-setup-list { margin: 12px 0 14px; padding-left: 28px; line-height: 26px; }
[data-theme="2015"] .c15-setup-card .c15-blue-button { display: block; margin-left: auto; }

/* Google 2015 action buttons (blue as .gp-account-view; white as the cover button) */
[data-theme="2015"] .c15-blue-button { height: 29px; padding: 0 12px; border: 1px solid #3079ed; border-radius: 2px; background: #4d90fe linear-gradient(#4d90fe, #4787ed); color: #fff; font: 700 12px/27px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .c15-blue-button:hover { border-color: #2f5bb7; background: #357ae8 linear-gradient(#4d90fe, #357ae8); box-shadow: 0 1px 1px rgba(0, 0, 0, .1); }
[data-theme="2015"] .c15-blue-button:disabled { opacity: .5; cursor: default; box-shadow: none; background: #4d90fe linear-gradient(#4d90fe, #4787ed); border-color: #3079ed; }
[data-theme="2015"] .c15-white-button { height: 29px; padding: 0 12px; border: 1px solid rgba(0, 0, 0, .15); border-radius: 2px; background: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, .05); color: #404040; font: 700 12px/27px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .c15-white-button:hover { border-color: #b8b8b8; box-shadow: 0 1px 0 rgba(0, 0, 0, .1); }

/* "What kind of community are you making?" (May 2014 / Jan 2015 captures) */
[data-theme="2015"] .c15-create { width: 600px; max-width: calc(100vw - 32px); }
[data-theme="2015"] .c15-create form { padding: 24px 20px 20px; }
[data-theme="2015"] .c15-create-title { margin-bottom: 20px; color: #404040; font: 300 20px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-create-kinds { display: flex; gap: 30px; }
[data-theme="2015"] .c15-kind { flex: 1; box-sizing: border-box; min-height: 170px; padding: 28px 25px; border: 1px solid #e5e5e5; background: #fafafa; cursor: pointer; }
[data-theme="2015"] .c15-kind:hover { border-color: #c6c6c6; }
[data-theme="2015"] .c15-kind.selected { border-color: #4d90fe; background: #fff; }
[data-theme="2015"] .c15-kind-name { margin-bottom: 18px; color: #404040; font: 300 18px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-kind-text { color: #404040; font: 12px/18px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-kind-input { box-sizing: border-box; width: 100%; height: 29px; margin-top: 18px; padding: 0 8px; border: 1px solid #d9d9d9; border-radius: 3px; color: #404040; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-kind-input:focus { border-color: #4d90fe; outline: none; }
[data-theme="2015"] .c15-create-foot { display: flex; align-items: center; gap: 10px; margin-top: 24px; }
[data-theme="2015"] .c15-create-learn { margin-right: auto; color: #427fed; font: 12px Roboto, arial, sans-serif; }

/* Members (N) ... See all ([CSS] .RZd 12px, right) and the members dialog */
[data-theme="2015"] .c15-see-all { float: right; margin-top: 2px; padding: 0; border: 0; background: none; color: #427fed; font: 12px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .c15-see-all:hover { text-decoration: underline; }
[data-theme="2015"] .c15-members-dialog { width: 440px; }
[data-theme="2015"] .c15-md-head { display: flex; align-items: center; padding: 20px 20px 10px; }
[data-theme="2015"] .c15-md-head h2 { flex: 1; margin: 0; color: #262626; font: 300 20px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-md-close { width: 20px; height: 20px; padding: 0; border: 0; background: none; color: #999; font: 20px/20px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .c15-md-close::before { content: "\00d7"; }
[data-theme="2015"] .c15-md-body { max-height: 60vh; overflow-y: auto; padding: 0 20px 20px; }
[data-theme="2015"] .c15-md-section { margin: 15px 0 6px; color: #aaa; font: bold 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-md-person { display: flex; align-items: center; gap: 10px; padding: 5px 0; }
[data-theme="2015"] .c15-md-person img { display: block; width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
[data-theme="2015"] .c15-md-who { flex: 1; min-width: 0; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-md-who a { color: #262626; font-weight: bold; text-decoration: none; }
[data-theme="2015"] .c15-md-more-wrap { position: relative; }
[data-theme="2015"] .c15-md-more { width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
[data-theme="2015"] .c15-md-more::before { content: ""; display: inline-block; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #999; vertical-align: middle; }
[data-theme="2015"] .c15-md-menu { position: absolute; top: 24px; right: 0; min-width: 240px; }
[data-theme="2015"] .c15-md-unban { padding: 0; border: 0; background: none; color: #427fed; font: 12px Roboto, arial, sans-serif; cursor: pointer; }

/* Private communities: hide-from-search choice, Ask to join / Cancel request, requests and invites */
[data-theme="2015"] .c15-kind-search { box-sizing: border-box; width: 100%; height: 29px; margin-top: 10px; padding: 0 4px; border: 1px solid #d9d9d9; border-radius: 3px; background: #fff; color: #404040; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-kind-search:focus { border-color: #4d90fe; outline: none; }
[data-theme="2015"] .c15-join-decline { height: 30px; margin-right: 10px; padding: 0 8px; border: 1px solid rgba(0, 0, 0, .15); border-radius: 2px; background: #fff; color: #404040; font: 700 12px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .c15-join-decline:last-child { margin-right: 16px; }
[data-theme="2015"] .c15-md-decide { display: flex; gap: 8px; }
[data-theme="2015"] .c15-invite-dialog { width: 480px; max-width: calc(100vw - 32px); }
[data-theme="2015"] .c15-invite-dialog form { padding: 0 0 20px; }
[data-theme="2015"] .c15-invite-dialog .c15-create-foot { justify-content: flex-end; margin: 20px 20px 0; }
[data-theme="2015"] .c15-invite-body { padding: 0 20px; }
[data-theme="2015"] .c15-invite-label { display: block; color: #aaa; font: bold 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-invite-label textarea { box-sizing: border-box; display: block; width: 100%; margin-top: 6px; padding: 6px 8px; border: 1px solid #d9d9d9; border-radius: 3px; color: #404040; font: 13px Roboto, arial, sans-serif; resize: vertical; }
[data-theme="2015"] .c15-invite-label textarea:focus { border-color: #4d90fe; outline: none; }
[data-theme="2015"] .c15-invite-card { display: flex; align-items: center; gap: 12px; margin-top: 15px; padding: 10px; border: 1px solid #e5e5e5; background: #fafafa; }
[data-theme="2015"] .c15-invite-card img { display: block; width: 60px; height: 60px; object-fit: cover; }
[data-theme="2015"] .c15-invite-name { color: #262626; font: bold 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .c15-invite-meta { margin-top: 3px; color: #999; font: 12px Roboto, arial, sans-serif; }

/* Green role label beside the author's name ([CSS] .uWWUIe) */
[data-theme="2015"] .post-role { margin-left: 6px; color: #1c9e0a; font: 11px Roboto, arial, sans-serif; text-transform: uppercase; word-wrap: normal; }
/* Moderators' small caret after the category, to move the post (2013; caret in the May 2014 capture) */
[data-theme="2015"] .pm-move-wrap { position: relative; }
[data-theme="2015"] .pm-move { width: 14px; height: 14px; margin-left: 3px; padding: 0; border: 0; background: none; vertical-align: middle; cursor: pointer; }
[data-theme="2015"] .pm-move::before { content: ""; display: inline-block; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #999; vertical-align: middle; }
[data-theme="2015"] .pm-move:hover::before { border-top-color: #404040; }
[data-theme="2015"] .pm-move-menu { position: absolute; top: 18px; left: 0; min-width: 180px; }
[data-theme="2015"] .gp-menu > button:disabled { color: #bbb; cursor: default; background: none; }
/* Menu divider ([CSS] .d-cm) */
.gp-menu-sep { margin: 6px 0; border-top: 1px solid #ebebeb; }

/* Profile About: Links card. Values from the Google+ profile stylesheet of Oct 2015
   (.Ee card, .vna/.Yjb top border, .ZYa/.Lqc/.F9a header, .Uia/.Iqc body, .wna/.Cr/.Aha
   sections, .Kla/.xfa/.fIa/.OLa link list); dialog bar colour from .HMd. */
[data-theme="2015"] .about-links { position: relative; width: 500px; max-width: 100%; margin: 15px 0; align-self: flex-start; }
[data-theme="2015"] .about-links.Ee { border-radius: 3px; box-sizing: border-box; background-color: #fff; border: 1px solid #d8d8d8; border-bottom-width: 2px; border-top-width: 0; vertical-align: top; }
[data-theme="2015"] .about-links.vna { border-top: 5px solid #fff; }
[data-theme="2015"] .about-links.Yjb { border-top-color: #6f85bf; }
[data-theme="2015"] .about-links .ZYa { padding: 17px 20px 15px; vertical-align: top; }
[data-theme="2015"] .about-links .Lqc { padding-bottom: 7px; }
[data-theme="2015"] .about-links .F9a { color: #262626; display: inline-block; font: 300 20px Roboto, arial, sans-serif; }
[data-theme="2015"] .about-links .Uia { clear: both; color: #404040; overflow: hidden; }
[data-theme="2015"] .about-links .Iqc { margin: 0 20px 17px; }
[data-theme="2015"] .about-links .wna { margin-bottom: 23px; }
[data-theme="2015"] .about-links .wna:last-child { border-bottom: 0; margin-bottom: 0; }
[data-theme="2015"] .about-links .Cr { color: #262626; font: 300 20px Roboto, arial, sans-serif; font-size: 14px; font-weight: bold; }
[data-theme="2015"] .about-links .Cr.Aha { border-bottom: 1px solid #dadada; padding-bottom: 5px; margin-bottom: 12px; }
[data-theme="2015"] .about-links .y4 { font-size: 13px; }
[data-theme="2015"] .about-links .Kla { list-style-type: none; margin: 0; padding: 0; }
[data-theme="2015"] .about-links .xfa { float: left; height: 16px; margin-top: 3px; width: 16px; }
[data-theme="2015"] .about-links .fIa { line-height: 20px; margin-top: 6px; padding: 0 0 0 23px; }
[data-theme="2015"] .about-links .OLa { display: block; max-width: 540px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-theme="2015"] .about-links .Xvc { display: inline-block; vertical-align: bottom; max-width: 100%; }
[data-theme="2015"] .about-links-none { color: #737373; }
[data-theme="2015"] .about-links-edit { display: inline-block; margin: 0 20px 17px; }

[data-theme="2015"] .about-modal-links { bottom: 0; height: auto; min-height: 0; margin: 60px auto; padding-bottom: 0; }
[data-theme="2015"] .about-modal-links .about-modal-buttons { display: flex; justify-content: flex-end; gap: 7px; padding: 24px 20px 20px; }
[data-theme="2015"] .about-modal-links .about-modal-buttons button { position: static; }
[data-theme="2015"] .about-modal-links .about-modal-bar { background: #6f85bf; }
[data-theme="2015"] .about-links-section { padding: 20px 20px 0; }
[data-theme="2015"] .about-links-section > b { display: block; padding-bottom: 5px; border-bottom: 1px solid #dadada; font-size: 13px; line-height: 15px; }
[data-theme="2015"] .about-links-row { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
[data-theme="2015"] .about-links-row input { box-sizing: border-box; height: 24px; padding: 0 2px; border: 1px solid rgba(10, 10, 10, 0.1); font: 13px arial, sans-serif; outline: none; }
[data-theme="2015"] .about-links-label { width: 170px; }
[data-theme="2015"] .about-links-url { flex: 1; min-width: 0; }
[data-theme="2015"] .about-links-remove { border: 0; background: none; color: #999; font-size: 18px; line-height: 1; cursor: pointer; }
[data-theme="2015"] .about-links-remove:hover { color: #262626; }
[data-theme="2015"] .about-links-add { display: inline-block; margin-top: 8px; font-size: 13px; }
@media (max-width: 560px) {
  [data-theme="2015"] .about-modal-links { width: auto; margin: 16px; }
  [data-theme="2015"] .about-links-label { width: 35%; }
}
/* Notifications panel: Google notifications as of June 2015. Sizes and colours measured from
   screenshots of the real panel (Google Operating System blog, 3 Jun 2015; TheNextWeb, 3 Jun 2015):
   #e5e5e5 panel with a #ccc edge, a 48px header with a centred 16px #666 title, white 80px cards
   8px apart with an 80px square photo, 13px #252525 text, the 16px Google+ badge (img/gplus-badge.png, the exact pixels from that screenshot) and a #bbb ×. */
[data-theme="2015"] .gp-notifications { overflow: hidden; width: 400px; border: 1px solid #ccc; background: #e5e5e5; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); }
[data-theme="2015"] .gp-notifications::before { border-bottom-color: #e5e5e5; }
[data-theme="2015"] .gp-notifications-head { flex: none; position: relative; justify-content: center; height: 48px; padding: 0 48px; box-sizing: border-box; background: #e5e5e5; color: #666; font: 16px arial, sans-serif; }
[data-theme="2015"] .n15-readall { position: absolute; right: 22px; top: 50%; width: 18px; height: 18px; margin-top: -9px; padding: 0; border: 0; background: none; cursor: pointer; }
[data-theme="2015"] .n15-readall span, [data-theme="2015"] .n15-readall span::before, [data-theme="2015"] .n15-readall span::after { position: absolute; left: 1px; height: 2px; background: #a9a9a9; content: ''; }
[data-theme="2015"] .n15-readall span { top: 4px; width: 16px; }
[data-theme="2015"] .n15-readall span::before { top: 4px; left: 0; width: 16px; }
[data-theme="2015"] .n15-readall span::after { top: 8px; left: 4px; width: 12px; }
[data-theme="2015"] .n15-readall:hover span, [data-theme="2015"] .n15-readall:hover span::before, [data-theme="2015"] .n15-readall:hover span::after { background: #777; }
[data-theme="2015"] .gp-notifications-list { flex: 1 1 auto; min-height: 0; gap: 8px; padding: 0 18px 12px; }
[data-theme="2015"] .gp-notifications-all { flex: none; margin: 0 18px 14px; padding: 0; height: 36px; line-height: 36px; background: #d9d9d9; color: #666; font: 13px/36px arial, sans-serif; text-align: center; }
[data-theme="2015"] .gp-notifications-all:hover { background: #d0d0d0; text-decoration: none; }

[data-theme="2015"] .notification.n15 { position: relative; display: block; flex: none; height: 80px; padding: 0; gap: 0; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22); }
[data-theme="2015"] .notification.n15.unread { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22); }
[data-theme="2015"] .notification.n15:hover { background: #fff; }
[data-theme="2015"] .n15 .notification-link { display: flex; align-items: center; gap: 0; height: 80px; color: #252525; }
[data-theme="2015"] .n15 .n15-photo { flex: none; display: block; width: 80px; height: 80px; border-radius: 0; object-fit: cover; }
[data-theme="2015"] .n15 .n15-photo-site { background: #dd4b39; }
[data-theme="2015"] .n15 .notification-text { display: block; min-width: 0; padding: 0 52px 0 22px; color: #252525; font: 13px/17px arial, sans-serif; }
[data-theme="2015"] .n15 .n15-name { display: block; overflow: hidden; font-weight: bold; text-overflow: ellipsis; white-space: nowrap; }
[data-theme="2015"] .n15 .notification-snippet { color: #252525; -webkit-line-clamp: 2; }
[data-theme="2015"] .n15 .n15-badge { position: absolute; top: 7px; right: 27px; width: 16px; height: 16px; overflow: hidden; background: url(img/gplus-badge.png) no-repeat; color: transparent; font-size: 0; pointer-events: none; }
[data-theme="2015"] .n15 .notification-dismiss { position: absolute; top: 7px; right: 6px; width: 16px; height: 16px; padding: 0; color: #bbb; font: 16px/16px arial, sans-serif; }
[data-theme="2015"] .n15 .notification-dismiss:hover { color: #777; }
[data-theme="2015"] .n15 time { display: none; }
/* ===== Hangouts page (plus.google.com/hangouts, Jan 2015 screenshot).
   Art: Google's hangouts sprite at -314px 0, 360x167 on #53a93f ([CSS] .iP3Ckb / .DnQesb).
   On Air icon: stream_showroom sprite -325px -130px, 18x20 ([CSS] .T6VXif).
   Card padding 20px ([CSS] .Y5Bk0d); grey body text #737373, 15px apart ([CSS] .KpNTad);
   titles #262626 ([CSS] .COZT1e). Card width and gaps measured from the screenshot. */
[data-theme="2015"] .ho15 { display: flex; justify-content: center; align-items: flex-start; gap: 22px; margin-top: -12px; }
[data-theme="2015"] body.ho-roster-open .ho15 { margin-right: 300px; }
[data-theme="2015"] .ho15-col { display: flex; flex-direction: column; gap: 22px; width: 360px; }
[data-theme="2015"] .ho15-card { overflow: hidden; background: #fff; border-radius: 2px; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
[data-theme="2015"] .ho15-pad { padding: 20px; }
[data-theme="2015"] .ho15-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 18px; }
[data-theme="2015"] .ho15-title { display: flex; align-items: center; margin: 0; color: #262626; font: 400 20px Roboto, arial, sans-serif; }
[data-theme="2015"] .ho15-onair-icon { flex: none; width: 18px; height: 20px; margin: 0 5px 2px 0; background: url(img/hangouts-onair-icon.png) no-repeat; }
[data-theme="2015"] .ho15-all { color: #737373; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .ho15-all:hover { text-decoration: underline; }
[data-theme="2015"] .ho15-art { height: 167px; background: #53a93f url(img/hangouts-hi.png) no-repeat 50% 0; }
[data-theme="2015"] .ho15-text { margin: 15px 0 0; color: #737373; font: 13px/19px Roboto, arial, sans-serif; }
[data-theme="2015"] .ho15-head + .ho15-text { margin-top: 0; }
[data-theme="2015"] .ho15-onair-start { display: flex; align-items: flex-start; gap: 12px; }
[data-theme="2015"] .ho15-onair-text { margin: 0; color: #737373; font: 13px/19px Roboto, arial, sans-serif; }
[data-theme="2015"] .ho15-blue { flex: none; height: 30px; padding: 0 10px; border: 0; border-radius: 2px; background: #4285f4; color: #fff; font: 500 13px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .ho15-blue:hover { background: #3b78e7; box-shadow: 0 1px 1px rgba(0,0,0,.1); }
/* People you know rows and the white "Start conversation" button */
[data-theme="2015"] .ho15-person { display: flex; align-items: center; gap: 16px; padding: 14px 0; }
[data-theme="2015"] .ho15-person + .ho15-person { border-top: 0; }
[data-theme="2015"] .ho15-person img { display: block; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
[data-theme="2015"] .ho15-person-name { flex: 1; min-width: 0; overflow: hidden; color: #262626; font: 500 14px Roboto, arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
[data-theme="2015"] .ho15-white { flex: none; height: 30px; padding: 0 10px; border: 1px solid #d9d9d9; border-radius: 2px; background: #fff; color: #262626; font: 500 13px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .ho15-white:hover { border-color: #c6c6c6; box-shadow: 0 1px 1px rgba(0,0,0,.1); }
@media (max-width: 1100px) {
  [data-theme="2015"] body.ho-roster-open .ho15 { margin-right: 0; }
}
@media (max-width: 800px) {
  [data-theme="2015"] .ho15 { flex-direction: column; align-items: center; margin-top: 0; }
  [data-theme="2015"] .ho15-col { width: 100%; max-width: 360px; }
}
/* ===== Community share box, open (Jan 2015 screenshot of a community): the tab row is replaced
   by "Attach:" with Google's colour icons, then "To:" and the category list, which opens
   inline and pushes the footer down. Rows measured from the screenshot: label column 80px,
   20px gap, Attach row 12px under the text box, To row 15px under it, picker 38px tall.
   Icons: [CSS] .JI .hL .iL .gL (sharebox sprite, 20x20) and .M9W4jb (polls sprite);
   caret .tm (-17px -63px, 7x4); category arrow .Dsbw0 (0 -812px, 21x21). */
/* The home box opens the same way (2014 screenshots of the opened home box: "Attach:" row,
   then "To:" with the people field). Once a photo, link, video or poll is added, the Attach row
   goes, as in the photo and poll screenshots. */
[data-theme="2015"] .share-box[data-state="open"] .share-collapsed-wrap { display: none; }
[data-theme="2015"] .share-box .share-attach-row,
[data-theme="2015"] .share-box .share-cat-row,
[data-theme="2015"] .share-box .share-to-row { display: none; }
[data-theme="2015"] .share-box[data-state="open"] .share-attach-row { display: flex; order: 3; align-items: center; margin: 12px 0 0; }
[data-theme="2015"] .share-box[data-state="open"]:has(.share-attachments > :not([hidden]), .share-poll:not([hidden])) .share-attach-row { display: none; }
[data-theme="2015"] .share-box.sb-community[data-state="open"] .share-cat-row { display: flex; order: 3; align-items: flex-start; margin: 15px 0 0; }
[data-theme="2015"] .share-box[data-state="open"] .share-to-row { display: flex; order: 3; align-items: center; margin: 15px 0 0; }
[data-theme="2015"] .share-box .share-attach-label { flex: none; width: 80px; margin-right: 20px; color: #404040; font: 700 14px/20px Roboto, arial, sans-serif; text-align: right; }
[data-theme="2015"] .sb-community .share-cat-row .share-attach-label { line-height: 38px; }
[data-theme="2015"] .share-box .share-attach-row button { display: inline-flex; align-items: center; gap: 7px; height: 20px; margin: 0 20px 0 0; padding: 0; border: 0; background: none; color: #737373; font: 500 14px Roboto, arial, sans-serif; cursor: pointer; }
[data-theme="2015"] .share-box .share-attach-row button:hover { color: #404040; }
/* People field .g-h-f-vc-B: white, #e4e4e4 line, 3px in, inset shadow; it leaves 28px for the
   add-people icon (.g-h-f-Au .g-h-f-vc). Chip .g-h-f-za: 28px, 15px round, 2px margin; Public is
   .g-h-f-za-Wl #67ae3f / #3f980e; globe .g-h-f-m-Ef (0 -375px) and remove .g-h-f-m-bd (-13px -265px),
   16px at .7. Add-people .g-h-f-Qm: 0 -223px, 24px at .7 scale and opacity. */
[data-theme="2015"] .share-to-row .share-audience { position: relative; display: flex; flex: 1; min-width: 0; align-items: center; gap: 0; box-sizing: border-box; min-height: 36px; margin: 0; padding: 3px; border: 1px solid #e4e4e4; background: #fff; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .04); color: #404040; }
[data-theme="2015"] .share-to-row .share-audience:hover { border-color: #dcdcdc; }
[data-theme="2015"] .share-to-row .audience-chips { display: flex; flex-wrap: wrap; gap: 0; }
[data-theme="2015"] .share-to-row .audience-chip { display: inline-flex; align-items: center; box-sizing: border-box; height: 28px; margin: 2px; padding: 0 5px 0 6px; border: 1px solid #4285f4; border-radius: 15px; background: #4285f4; color: #fff; font: 400 13px Roboto, arial, sans-serif; white-space: nowrap; cursor: default; }
[data-theme="2015"] .share-to-row .audience-chip.public { border-color: #3f980e; background: #67ae3f; color: #fff; }
[data-theme="2015"] .share-to-row .audience-chip.public::before { content: ''; width: 16px; height: 16px; margin-right: 5px; opacity: .7; background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat 0 -375px; }
[data-theme="2015"] .share-to-row .audience-chip::after { content: ''; width: 16px; height: 16px; margin: 0 0 0 6px; opacity: .7; background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat -13px -265px; cursor: pointer; }
[data-theme="2015"] .share-to-row .audience-chip:hover::after { opacity: .9; }
[data-theme="2015"] .share-to-row .audience-caret { display: flex; flex: 1; align-items: center; min-width: 0; height: 28px; padding: 0 6px 0 5px; border: 0; background: none; cursor: pointer; }
[data-theme="2015"] .share-add-more { flex: 1; overflow: hidden; color: #999; font: 400 13px Roboto, arial, sans-serif; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
[data-theme="2015"] .share-to-row .audience-caret .caret { flex: none; width: 7px; height: 4px; margin: 0; border: 0; background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat -17px -63px; }
[data-theme="2015"] .share-to-row .audience-menu { top: 100%; bottom: auto; left: -1px; right: -1px; }
[data-theme="2015"] .share-add-people { flex: none; width: 24px; height: 24px; margin-left: 4px; opacity: .7; transform: scale(.7); background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat 0 -223px; }
[data-theme="2015"] .sbc-icon { flex: none; width: 20px; height: 20px; background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat; }
[data-theme="2015"] .sbc-photo { background-position: 0 -691px; }
[data-theme="2015"] .sbc-link { background-position: -13px -645px; }
[data-theme="2015"] .sbc-video { background-position: 0 -123px; }
[data-theme="2015"] .sbc-event { background-position: 0 -202px; }
[data-theme="2015"] .sbc-poll { background: url(img/polls-7972619541f738bb44693d8b864a2c8a.png) no-repeat -326px 0; }
[data-theme="2015"] .share-cat { flex: 1; min-width: 0; margin-right: 10px; }
[data-theme="2015"] .share-cat-btn { position: relative; display: block; box-sizing: border-box; width: 100%; height: 38px; padding: 0 30px 0 10px; border: 1px solid #e4e4e4; background: #fff; box-shadow: inset 0 2px 4px 0 rgba(0,0,0,.04); color: #404040; font: 400 14px Roboto, arial, sans-serif; text-align: left; cursor: pointer; }
[data-theme="2015"] .share-cat-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-theme="2015"] .share-cat-arrow { position: absolute; top: 17px; right: 12px; width: 7px; height: 4px; background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat -17px -63px; }
[data-theme="2015"] .share-cat-menu { position: static; box-sizing: border-box; width: 100%; min-width: 0; max-height: 116px; margin: 0; padding: 0; overflow-y: auto; border: 1px solid #e4e4e4; border-top: 0; box-shadow: 0 2px 4px rgba(0,0,0,.2); }
[data-theme="2015"] .share-cat-menu button { display: flex; align-items: center; gap: 10px; width: 100%; height: 30px; padding: 0 16px; color: #404040; font: 400 14px Roboto, arial, sans-serif; text-align: left; }
[data-theme="2015"] .share-cat-sub { flex: none; width: 21px; height: 21px; background: url(img/sharebox-16875e53c4651bc0cd14f515f4513f2d.png) no-repeat 0 -812px; }
/* Community columns: the left card and the share box both start 30px under the grey bar */
[data-theme="2015"] .community-page.c15 { margin-top: 0; }
[data-theme="2015"] .c15 .stream > .share-box,
[data-theme="2015"] .c15 .stream-col > .share-box:first-child { margin-top: 0; }
/* ===== Settings (plus.google.com/settings, Jan 2015 screenshot): one white card, 800px,
   30px in; bold 14px section headings; 13px rows with an 84px bold label column; grey
   1px line between sections, inside the padding. Measured from the screenshot. */
[data-theme="2015"] .s15 { box-sizing: border-box; width: 800px; max-width: 100%; margin: -12px auto 40px; padding: 10px 30px 10px; background: #fff; border-radius: 2px; box-shadow: 0 1px 2px rgba(0,0,0,.1); color: #404040; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .s15 .notice { margin: 20px 0 0; }
[data-theme="2015"] .s15-section { padding: 20px 0; }
[data-theme="2015"] .s15-section + .s15-section { border-top: 1px solid #ebebeb; }
[data-theme="2015"] .s15-h { margin: 0 0 20px; color: #262626; font: 700 14px Roboto, arial, sans-serif; }
[data-theme="2015"] .s15-row { display: flex; align-items: center; min-height: 28px; margin: 0 0 12px; }
[data-theme="2015"] .s15-label { flex: none; width: 84px; color: #262626; font-weight: 700; }
[data-theme="2015"] .s15-text { margin: 0 0 12px; line-height: 18px; }
[data-theme="2015"] .s15-muted { color: #999; }
[data-theme="2015"] .s15 a { color: #427fed; }
[data-theme="2015"] .s15 a:hover { text-decoration: underline; }
[data-theme="2015"] .s15-check { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; cursor: pointer; }
[data-theme="2015"] .s15-check input { margin: 0; }
[data-theme="2015"] .s15-input { box-sizing: border-box; width: 260px; height: 28px; padding: 0 8px; border: 1px solid #d9d9d9; border-top-color: #c0c0c0; border-radius: 1px; color: #404040; font: 13px Roboto, arial, sans-serif; }
[data-theme="2015"] .s15-input:focus { border-color: #4d90fe; outline: none; box-shadow: inset 0 1px 2px rgba(0,0,0,.3); }
[data-theme="2015"] .s15-buttons { margin: 16px 0 12px 84px; }
[data-theme="2015"] .s15-section > form > .s15-buttons:first-child,
[data-theme="2015"] .s15-check + .s15-buttons { margin-left: 0; }
/* Buttons: the share box's .b-c look (28px, 2px corners, 700 12px) */
[data-theme="2015"] .s15-btn { box-sizing: content-box; height: 28px; min-width: 54px; padding: 0 8px; border: 1px solid rgba(0,0,0,.15); border-radius: 2px; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.05); color: #404040; font: 700 12px/28px Roboto, sans-serif; cursor: pointer; }
[data-theme="2015"] .s15-btn:hover { border-color: #b8b8b8; box-shadow: 0 1px 0 rgba(0,0,0,.1); }
[data-theme="2015"] .s15-btn-blue { border-color: transparent; background: #4285f4; color: #fff; }
[data-theme="2015"] .s15-btn-blue:hover { border-color: transparent; background: #3b78e7; }
@media (max-width: 860px) {
  [data-theme="2015"] .s15 { margin-top: 0; padding: 0 16px; }
  [data-theme="2015"] .s15-input { width: 100%; min-width: 0; flex: 1; }
}