/* Base document, type, accessibility utilities and boot state. */
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-bottom: 100px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-y: none;
}
button {
  font: inherit;
  cursor: pointer;
  color: inherit;
  border: 0;
  background: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
input {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}
select {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}
textarea {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}
a {
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}
button:disabled {
  cursor: wait;
  opacity: .55;
}
img {
  max-width: 100%;
  display: block;
}
svg {
  display: block;
}
button:focus-visible {
  outline: 2px solid var(--berry);
  outline-offset: 4px;
}
a:focus-visible {
  outline: 2px solid var(--berry);
  outline-offset: 4px;
}
input:focus-visible {
  outline: 3px solid #9b576c;
  outline-offset: 4px;
}
select:focus-visible {
  outline: 3px solid #9b576c;
  outline-offset: 4px;
}
textarea:focus-visible {
  outline: 3px solid #9b576c;
  outline-offset: 4px;
}
[tabindex]:focus-visible {
  outline: 3px solid #9b576c;
  outline-offset: 4px;
}
button:focus:not(:focus-visible) {
  outline: none;
}
h1 {
  margin: 0;
  font-weight: 400;
}
h2 {
  margin: 0;
  font-weight: 400;
}
h3 {
  margin: 0;
  font-weight: 400;
}
p {
  margin: 0;
}
::selection {
  background: #ebc8d0;
}
.paper-grain {
  position: fixed;
  inset: 0;
  opacity: .12;
  pointer-events: none;
  z-index: 1000;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.23' filter='url(%23n)'/%3E%3C/svg%3E");
}
.icon {
  width: 20px;
  height: 20px;
  flex: none;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.small-icon {
  width: 16px;
  height: 16px;
}
.trip-foot .icon {
  width: 13px;
  height: 13px;
}
.favorite-btn .icon {
  width: 15px;
  height: 15px;
}
.favorite-btn.on .icon {
  fill: #e3adb9;
}
.note-card .icon {
  position: absolute;
  right: 20px;
  top: 18px;
  color: #b28d8d;
}
.map-fallback .icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 20px;
  color: var(--green);
}
.map-marker .icon {
  width: 17px;
  height: 17px;
  transform: rotate(45deg);
}
.detail-toolbar .spacer {
  flex: 1;
}
.video-play .icon {
  width: 38px;
  height: 38px;
  background: #3e343688;
  border-radius: 50%;
  padding: 10px;
}
.entry-location .icon {
  width: 14px;
  height: 14px;
}
.dream-card .dream-actions .icon-btn {
  margin-left: auto;
}
.search-result .icon {
  color: var(--berry);
}
body.reduce-motion * {
  scroll-behavior: auto !important;
}
body.reduce-motion *:before {
  scroll-behavior: auto !important;
}
body.reduce-motion *:after {
  scroll-behavior: auto !important;
}
summary:focus-visible {
  outline: 3px solid #9b576c;
  outline-offset: 3px;
}
.draft-resume>.icon {
  color: #985065;
}
body.reduce-motion *::before {
  scroll-behavior: auto !important;
}
body.reduce-motion *::after {
  scroll-behavior: auto !important;
}
.boot-cover {
  max-width: 500px;
  margin: 15vh auto;
  padding: 30px;
  text-align: center;
  color: #785362;
}
.boot-cover h1 {
  font: 42px Georgia,serif;
  font-weight: 400;
  line-height: 1.2;
}
.boot-cover h1 em {
  font-weight: 400;
  color: #a55670;
}
.boot-cover>p {
  font-size: 14px;
  line-height: 1.7;
  margin-top: 20px;
}
.boot-bow {
  font-size: 54px;
  color: #b87e94;
}
.boot-line {
  height: 2px;
  background: #d8bcc5;
  width: 70px;
  margin: 30px auto;
}
.boot-cover .boot-hint {
  font-size: 12px;
}
.boot-cover .boot-help {
  color: #8d7a7b;
  font-size: 12px;
  margin-top: 28px;
}
[hidden] {
  display: none !important;
}
summary {
  touch-action: manipulation;
}
.memory-summary .icon {
  width: 18px;
  flex-shrink: 0;
}
@media (max-width:720px) {
  body {
    font-size: 14px;
  }
  .detail-toolbar .spacer {
    display: none;
  }
  .entry-tools .icon-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .dream-actions .icon-btn {
    min-width: 44px;
    min-height: 44px;
  }
}
@media (prefers-reduced-motion:reduce) {
  * {
    scroll-behavior: auto !important;
  }
  *:before {
    scroll-behavior: auto !important;
  }
  *:after {
    scroll-behavior: auto !important;
  }
  *::before {
    scroll-behavior: auto !important;
  }
  *::after {
    scroll-behavior: auto !important;
  }
}
