/*{{{}}}*/
.math {
    margin: 1em 0;
    padding-left: 1em;
    border-left: 3px solid #ccc;
}
.quote {
    margin: 1em 0;
    padding-left: 1em;
    border-left: 3px solid #ccc;
}
.note {
    font-size: 0.9em;
    color: #555;
    padding: 0.1em 0.5em;
    border-left: 3px solid #f90;
    background-color: #fef;
}

/* standalone images */
.image {
    display: block;
    margin: 24px auto;
    border-radius: 12px;
    max-width: 100%;
    height: auto;
}
/* technical figures with caption */
.tech-figure {
    display: inline-block;
    max-width: 800px;
    margin: 0em 0 1em 2em;
}
.tech-figure img {
    height: auto;
    display: block;
}
.tech-figure figcaption {
    text-align: center;
    margin-top: 0.3em;
    font-size: 0.9em;
    color: #555;
    line-height: 1.4;
}

.violet-bg {
    background-image: url("/images/bg512.png");
    background-repeat: repeat-x;
    background-position: top left;
}

/*{{{  body {*/
body {
  font-family: "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
  background: #fff;
  color: #222;
  margin: 0;
  padding: 0;
  line-height: 1.8;
}
/*}}}  */
/*{{{  .title-block {*/
.title-block {
  text-align: center;
  margin: 3em auto;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  color: #222;
}
/*}}}  */
/*{{{  .title-block h1 {*/
.title-block h1 {
  font-size: 1.8em;
  font-weight: 600;
  margin: 0.2em 0;
  letter-spacing: 0.5px;
}
/*}}}  */
/*{{{  .title-block h2 {*/
.title-block h2 {
  font-size: 1.2em;
  font-weight: 400;
  color: #555;
  margin: 0.4em 0 1.2em;
  font-style: italic;
}
/*}}}  */
/*{{{  .title-block .meta {*/
.title-block .meta {
  font-size: 0.95em;
  color: #666;
  line-height: 1.5;
  margin-top: 0;
}
/*}}}  */
/*{{{  .title-block .author {*/
.title-block .author {
  font-variant: small-caps;
  letter-spacing: 0.8px;
}
/*}}}  */
/*{{{  header {*/
header {
  background: linear-gradient(120deg, #a69375, #c1976f);
  color: #fdf8f2;
  text-align: center;
  padding: 2rem 1rem 2rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  position: relative;
}
/*}}}  */
/*{{{  header h1 {*/
header h1 {
  font-size: 2rem;
  font-weight: 450;
  letter-spacing: 0.1em;
  margin: 0;
}
/*}}}  */
/*{{{  .lang {*/
.lang {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  font-size: 0.95rem;
  text-align: right;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
/*}}}  */
/*{{{  .lang a {*/
.lang a {
  color: #fdf8f2;
  text-decoration: none;
  font-weight: 600;
  margin-left: 0.3em;
}
/*}}}  */
/*{{{  .lang a:hover {*/
.lang a:hover {
  text-decoration: underline;
}
/*}}}  */
/*{{{  main {*/
main {
  max-width: 720px;
  margin: 3rem auto;
  padding: 0 1.5rem;
}
/*}}}  */
/*{{{  ul {*/
ul {
  list-style: none;
  padding: 0;
}
/*}}}  */
/*{{{  li {*/
li {
  margin: 1.2rem 0;
}
/*}}}  */
/*{{{  a {*/
a {
  text-decoration: none;
  color: #0033ff;
  font-weight: 500;
  position: relative;
}
/*}}}  */
/*{{{  a::after {*/
a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0%;
  height: 1px;
  background: currentColor;
  transition: width 0.3s ease;
}
/*}}}  */
/*{{{  a:hover::after {*/
a:hover::after {
  width: 100%;
}
/*}}}  */
/*{{{  footer {*/
footer {
  text-align: center;
  font-size: 0.9rem;
  color: #666;
  margin: 4rem 0 2rem;
}
/*}}}  */
.references a ,
.external-links a {
  text-decoration: none;
  border-bottom: 1px dotted #888;
}
.local a:hover,
.see-also a:hover,
.references a:hover,
.external-links a:hover {
  border-bottom-style: solid;
}
.title-block {
    text-align: center;
    margin: 3em auto;
    font-family: "hiragino kaku gothic pron", meiryo, "yu gothic", arial, sans-serif;
    color: #222;
}
.title-block h1 {
    font-size: 1.8em;
    font-weight: 600;
    margin: 0.2em 0;
    letter-spacing: 0.5px;
}
.title-block .subtitle {
    font-size: 1.2em;
    font-weight: 400;
    color: #555;
    margin: 0.4em 0 1.2em;
    font-style: italic;
}
.title-block .meta {
    font-size: 0.95em;
    color: #666;
    line-height: 1.5;
    margin-top: 0;
}
.title-block .author {
    font-variant: small-caps;
    letter-spacing: 0.8px;
}
.title {
  max-width: 42rem;
  line-height: 1.2;
  margin-bottom: 0.4em;
}

.safe-red    { color: #ff4b00; }  /* JIS Z 9103:2018 safe color; red -- for P-type color vision */
.safe-orange { color: #f6aa00; }  /* JIS Z 9103:2018 safe color; yellow red -- adjust hue to red */
.safe-yellow { color: #f2e700; }  /* JIS Z 9103:2018 safe color; yello -- for P and D-type color vision */
.safe-green  { color: #00b06b; }  /* JIS Z 9103:2018 safe color; green -- for P and D-type color vision */
.safe-blue   { color: #1971ff; }  /* JIS Z 9103:2018 safe color; blue -- for low vision */
.safe-purple { color: #990099; }  /* JIS Z 9103:2018 safe color; red purple -- for D-type color vision */
.b-rose      { color: #e36; } /* author emphasis / assertion */
.em-blue     { color: #36f; font-style: italic; } /* conceptual emphasis */
.misty-rose  { color: #eeddff; }
.snow-white  { color: #fdfeff; }


