/* Letswake standalone — base styles on top of Bootstrap. --lw-brand is the club color (Settings). */
:root { --lw-brand: #0d6ea8; }
body { min-height: 100vh; display: flex; flex-direction: column; background: #fff; }
.lw-bar { background: var(--lw-brand); padding-top: env(safe-area-inset-top); }
.lw-bar .navbar-brand { font-weight: 700; flex-shrink: 0; max-width: 70vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lw-logo { height: 28px; width: auto; border-radius: 4px; background: #fff; }
.lw-bar .nav-link { color: rgba(255, 255, 255, .85); }
.lw-bar .nav-link.active, .lw-bar .nav-link:hover { color: #fff; }
.lw-main { flex: 1; padding-top: 1rem; padding-bottom: 2rem; }
.lw-title { font-size: 1.5rem; font-weight: 700; margin: .25rem 0 1rem; }
.lw-foot { padding: 1rem; text-align: center; font-size: .8125rem; color: #6c757d; padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }
.lw-foot a { color: inherit; }
.lw-card-header-sm { font-size: .9rem; padding-top: .5rem; padding-bottom: .5rem; }
.btn-lw-outline { background: #fff; color: var(--lw-brand); border: 1px solid var(--lw-brand); }
.btn-lw-outline:hover { background: var(--lw-brand); color: #fff; }
.lw-stopwatch { font-size: 2.5rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 2px; }
@keyframes lw-blink { 50% { opacity: .25; } }
.lw-blinking { animation: lw-blink 1s step-start infinite; }
.lw-rich img { max-width: 100%; height: auto; }
.lw-rich table { max-width: 100%; display: block; overflow-x: auto; }
.lw-editor { min-height: 18rem; border: 1px solid #ced4da; border-top: 0; border-radius: 0 0 .375rem .375rem; padding: .75rem; background: #fff; overflow-wrap: anywhere; }
.lw-editor:focus { outline: 2px solid var(--lw-brand); outline-offset: -2px; }
.lw-toolbar { border: 1px solid #ced4da; border-radius: .375rem .375rem 0 0; background: #f8f9fa; padding: .25rem; display: flex; flex-wrap: wrap; gap: .25rem; }
.table-sm td, .table-sm th { vertical-align: middle; }
.lw-diff del { color: #a12a1c; } .lw-diff ins { color: #2e7d4f; text-decoration: none; }
@media (max-width: 767.98px) {
  .lw-main { padding-left: 10px; padding-right: 10px; }
}
.lw-foot .lw-donate { color: var(--bs-danger); }
.lw-foot .lw-donate:hover, .lw-foot .lw-donate:focus { color: #fff; }
.lw-today-time { min-width: 3.4rem; font-variant-numeric: tabular-nums; font-weight: 600; }
.lw-today-past { opacity: .55; }
.lw-today .lw-start { min-width: 6.5rem; font-weight: 600; }
.lw-today-strip span { white-space: nowrap; }
.lw-today-pick { width: 1.4em; height: 1.4em; margin: 0; flex-shrink: 0; }
.lw-today-check { width: 1.6em; flex-shrink: 0; display: flex; justify-content: center; align-items: center; font-size: 1.15em; }
.lw-today-free { padding-top: .35rem; padding-bottom: .35rem; }
.lw-today-pilot { font-weight: 500; border-left: 4px solid var(--bs-success); }
.lw-birthday { background: #fde7ef; border-color: #f8c6d7; color: #7a2944; }
/* engine check chart (admins) */
.lw-engine-chart { --series-1: #2a78d6; --ink-2: #52514e; --ink-3: #8a8984; font-family: inherit; }
.lw-engine-chart .lw-bar { fill: var(--series-1); }
.lw-engine-chart .lw-grid { stroke: #e6e5e0; stroke-width: 1; }
.lw-engine-chart .lw-median { stroke: var(--ink-2); stroke-width: 1.5; stroke-dasharray: 5 4; }
.lw-engine-chart .lw-axis { fill: var(--ink-2); font-size: 11px; }
.lw-engine-chart .lw-flag { fill: #0b0b0b; font-size: 12px; }
.lw-engine-chart .lw-hit { fill: transparent; cursor: default; }
.lw-engine-chart .lw-hit:hover { fill: rgba(42, 120, 214, .08); }
.lw-tip { position: absolute; z-index: 5; pointer-events: none; background: #fff; color: #0b0b0b; border: 1px solid #d9d8d2; border-radius: 6px;
  padding: .35rem .55rem; font-size: .8125rem; line-height: 1.35; white-space: pre-line; box-shadow: 0 4px 14px rgba(0,0,0,.12); max-width: 18rem; }
/* stats: podium, your place, growing bars */
.lw-podium { display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: .5rem; max-width: 30rem; margin: 0 auto; text-align: center; }
.lw-podium-name { font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; font-size: .95rem; }
.lw-podium-name.is-me { color: var(--bs-primary); }
.lw-podium-min { font-size: .8rem; color: var(--bs-secondary-color); margin-bottom: .3rem; }
.lw-podium-step { border-radius: .5rem .5rem 0 0; display: flex; align-items: flex-start; justify-content: center; padding-top: .4rem;
  transform-origin: bottom; animation: lwRise .7s cubic-bezier(.2, .9, .3, 1.2) both; }
.lw-podium-medal { font-size: 2rem; line-height: 1; }
.lw-podium-1 .lw-podium-step { height: 7.5rem; background: linear-gradient(#ffe48a, #f2c230); animation-delay: .35s; }
.lw-podium-2 .lw-podium-step { height: 5.5rem; background: linear-gradient(#eef1f4, #c9d0d8); animation-delay: .15s; }
.lw-podium-3 .lw-podium-step { height: 4.25rem; background: linear-gradient(#f6dcc3, #d9a271); animation-delay: .5s; }
.lw-podium-1 .lw-podium-medal { animation: lwBob 2.4s ease-in-out 1.2s infinite; }
.lw-mystand { text-align: center; font-weight: 500; }
.lw-bars { display: grid; gap: .35rem; }
.lw-barrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name val" "bar bar"; column-gap: .5rem; align-items: center;
  padding: .3rem .5rem; border-radius: .5rem; }
@media (min-width: 576px) { .lw-barrow { grid-template-columns: minmax(8rem, 12rem) 1fr minmax(7rem, auto); grid-template-areas: "name bar val"; } }
.lw-barrow.is-me { background: color-mix(in srgb, var(--brand) 9%, transparent); font-weight: 600; }
.lw-barname { grid-area: name; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lw-barval { grid-area: val; font-size: .85rem; color: var(--bs-secondary-color); text-align: right; }
.lw-bartrack { grid-area: bar; display: flex; height: 1.1rem; }
.lw-barfill, .lw-barleft { height: 100%; transform-origin: left; animation: lwGrow .8s ease-out both; animation-delay: var(--d, 0ms); }
.lw-barfill { background: #6c757d; border-radius: 4px; min-width: 2px; }
.lw-barfill.is-credit { background: var(--brand); border-radius: 4px 0 0 4px; }
.lw-barleft { background: var(--brand); opacity: .25; border-radius: 0 4px 4px 0; }
@keyframes lwRise { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes lwGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes lwBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .lw-podium-step, .lw-podium-medal, .lw-barfill, .lw-barleft { animation: none !important; } }
/* events: little calendar-sheet date */
.lw-evt-date { width: 3.1rem; flex-shrink: 0; text-align: center; border-radius: .5rem; overflow: hidden; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); line-height: 1.1; }
.lw-evt-date .m { display: block; background: var(--bs-primary); color: #fff; font-size: .7rem; font-weight: 600; text-transform: uppercase; padding: .1rem 0; }
.lw-evt-date .d { display: block; font-size: 1.25rem; font-weight: 700; padding: .15rem 0 .2rem; color: var(--bs-body-color); }
.lw-today-event:hover { border-color: var(--bs-primary); }
/* my season */
.lw-review { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
@media (min-width: 768px) { .lw-review { grid-template-columns: repeat(4, 1fr); } }
.lw-review-tile { border-radius: .9rem; padding: .8rem .7rem; text-align: center; background: color-mix(in srgb, var(--lw-brand) 8%, var(--bs-body-bg));
  border: 1px solid color-mix(in srgb, var(--lw-brand) 18%, transparent); animation: lwPop .5s ease-out both; }
.lw-review-tile:nth-child(2) { animation-delay: .06s; } .lw-review-tile:nth-child(3) { animation-delay: .12s; } .lw-review-tile:nth-child(4) { animation-delay: .18s; }
.lw-review-tile:nth-child(5) { animation-delay: .24s; } .lw-review-tile:nth-child(6) { animation-delay: .3s; } .lw-review-tile:nth-child(7) { animation-delay: .36s; } .lw-review-tile:nth-child(8) { animation-delay: .42s; }
.lw-review-tile .e { font-size: 1.6rem; line-height: 1; }
.lw-review-tile .v { font-size: 1.25rem; font-weight: 700; margin-top: .3rem; overflow-wrap: anywhere; }
.lw-review-tile .l { font-size: .8rem; color: var(--bs-secondary-color); }
.lw-review-tile.big { grid-column: 1 / -1; background: linear-gradient(135deg, var(--lw-brand), color-mix(in srgb, var(--lw-brand) 60%, #1baf7a)); color: #fff; border: 0; }
.lw-review-tile.big .v { font-size: 2rem; } .lw-review-tile.big .l { color: rgba(255,255,255,.85); }
@keyframes lwPop { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lw-review-tile { animation: none; } }
/* dark mode (data-bs-theme="dark" on <html>; set in the page head, see layout.php) */
[data-bs-theme="dark"] body { background: var(--bs-body-bg); }
[data-bs-theme="dark"] .btn-lw-outline { background: transparent; color: #8cc4ea; border-color: #8cc4ea; }
[data-bs-theme="dark"] .lw-editor { background: var(--bs-body-bg); border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .lw-toolbar { background: var(--bs-tertiary-bg); border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .lw-birthday { background: #46202f; border-color: #7a3550; color: #ffd6e4; }
[data-bs-theme="dark"] .lw-engine-chart { --series-1: #3987e5; --ink-2: #c3c2b7; }
[data-bs-theme="dark"] .lw-engine-chart .lw-grid { stroke: #3a3a38; }
[data-bs-theme="dark"] .lw-engine-chart .lw-flag { fill: #fff; }
[data-bs-theme="dark"] .lw-tip { background: #26282b; color: #eee; border-color: #44474b; }
[data-bs-theme="dark"] .lw-diff del { color: #ff8a7a; } [data-bs-theme="dark"] .lw-diff ins { color: #7fd6a2; }
[data-bs-theme="dark"] .lw-foot { color: #9aa3ab; }
[data-bs-theme="dark"] .lw-podium-2 .lw-podium-step { background: linear-gradient(#c9d0d8, #8e98a3); }
[data-bs-theme="dark"] .lw-podium-3 .lw-podium-step { background: linear-gradient(#d9a271, #a86f3e); }
[data-bs-theme="dark"] .lw-podium-name.is-me { color: #8cc4ea; }
[data-bs-theme="dark"] .lw-netnote { border-radius: 0; }
/* ---- 1.10 look: the club colour everywhere, a wave under the header, softer cards ---- */
body { background: color-mix(in srgb, var(--lw-brand) 4%, #fff); }
.table { --bs-table-bg: transparent; }
.lw-bar { margin-bottom: 12px; }
.lw-bar::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px; background: var(--lw-brand); pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M0 0h120v4c-15 0-15 8-30 8S75 4 60 4 45 12 30 12 15 4 0 4z'/%3E%3C/svg%3E") repeat-x 0 0 / 120px 12px;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M0 0h120v4c-15 0-15 8-30 8S75 4 60 4 45 12 30 12 15 4 0 4z'/%3E%3C/svg%3E") repeat-x 0 0 / 120px 12px; }
.card { --bs-card-border-radius: .9rem; --bs-card-inner-border-radius: calc(.9rem - 1px); --bs-card-border-color: color-mix(in srgb, var(--lw-brand) 14%, #dee2e6);
  box-shadow: 0 1px 2px rgba(16, 50, 74, .05), 0 4px 14px rgba(16, 50, 74, .05); }
.btn { --bs-btn-border-radius: .6rem; } .btn-lg { --bs-btn-border-radius: .75rem; } .btn-sm { --bs-btn-border-radius: .5rem; }
.alert { --bs-alert-border-radius: .75rem; }
.list-group { --bs-list-group-border-radius: .75rem; }
.btn-primary { --bs-btn-bg: var(--lw-brand); --bs-btn-border-color: var(--lw-brand); --bs-btn-hover-bg: color-mix(in srgb, var(--lw-brand) 85%, #000); --bs-btn-hover-border-color: color-mix(in srgb, var(--lw-brand) 85%, #000);
  --bs-btn-active-bg: color-mix(in srgb, var(--lw-brand) 78%, #000); --bs-btn-active-border-color: color-mix(in srgb, var(--lw-brand) 78%, #000); --bs-btn-disabled-bg: var(--lw-brand); --bs-btn-disabled-border-color: var(--lw-brand); }
.btn-outline-primary { --bs-btn-color: var(--lw-brand); --bs-btn-border-color: var(--lw-brand); --bs-btn-hover-bg: var(--lw-brand); --bs-btn-hover-border-color: var(--lw-brand);
  --bs-btn-active-bg: var(--lw-brand); --bs-btn-active-border-color: var(--lw-brand); --bs-btn-disabled-color: var(--lw-brand); --bs-btn-disabled-border-color: var(--lw-brand); }
.form-control:focus, .form-select:focus { border-color: color-mix(in srgb, var(--lw-brand) 55%, #fff); box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--lw-brand) 25%, transparent); }
.form-check-input:checked { background-color: var(--lw-brand); border-color: var(--lw-brand); }
.form-check-input:focus { border-color: color-mix(in srgb, var(--lw-brand) 55%, #fff); box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--lw-brand) 25%, transparent); }
.dropdown-menu { --bs-dropdown-link-active-bg: var(--lw-brand); --bs-dropdown-border-radius: .75rem; }
.nav-pills { --bs-nav-pills-link-active-bg: var(--lw-brand); }
.pagination { --bs-pagination-active-bg: var(--lw-brand); --bs-pagination-active-border-color: var(--lw-brand); }
/* phone menu: a rounded square bottom right; the menu opens above it, only as wide as its entries */
.lw-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 24px; height: 24px; }
.lw-burger i { display: block; height: 2.5px; border-radius: 2px; background: #fff; transition: transform .2s ease, opacity .2s ease; }
.navbar-toggler[aria-expanded="true"] .lw-burger i:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.navbar-toggler[aria-expanded="true"] .lw-burger i:nth-child(2) { opacity: 0; }
.navbar-toggler[aria-expanded="true"] .lw-burger i:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
/* The header (logo + club name) stays at the top, always visible. */
.lw-bar { position: sticky; top: 0; z-index: 1030; }
/* Phones and tablets: the menu button floats in a corner chosen under Settings → Look (Pro;
   Entry: bottom right). Bottom: a rounded square for the thumb, the menu opens upwards.
   Top: the button sits in the right corner of the sticky header, the menu opens downwards.
   Either way the menu is only as wide as its entries and scrolls inside itself. */
@media (max-width: 1199.98px) {
  .lw-bar .navbar-collapse { position: fixed; right: 16px; z-index: 1039; width: max-content; max-width: calc(100vw - 32px);
    max-height: calc(100vh - 110px - env(safe-area-inset-bottom) - env(safe-area-inset-top)); max-height: calc(100dvh - 110px - env(safe-area-inset-bottom) - env(safe-area-inset-top));
    overflow-y: auto; overscroll-behavior: contain; background: var(--lw-brand); border-radius: 16px; padding: .35rem 1rem; box-shadow: 0 12px 32px rgba(16, 50, 74, .35); }
  .lw-bar .navbar-collapse .nav-link { padding-top: .55rem; padding-bottom: .55rem; }
  .lw-bar .navbar-collapse .navbar-nav + .navbar-nav { border-top: 1px solid rgba(255, 255, 255, .25); }
  .lw-bar .navbar-toggler { width: 52px; height: 52px; padding: 0; display: flex; align-items: center; justify-content: center;
    border: 2px solid rgba(255, 255, 255, .85); border-radius: 16px; background: var(--lw-brand); }
  .lw-bar .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .6); }
  /* bottom right */
  .lw-menu-bottom .lw-bar .navbar-toggler { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 1040; width: 56px; height: 56px;
    box-shadow: 0 6px 18px rgba(16, 50, 74, .35); }
  .lw-menu-bottom .lw-bar .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .6), 0 6px 18px rgba(16, 50, 74, .35); }
  .lw-menu-bottom .lw-bar .navbar-collapse { bottom: calc(84px + env(safe-area-inset-bottom)); }
  .lw-menu-bottom .lw-main { padding-bottom: 6rem; }
  .lw-menu-bottom .lw-foot { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
  /* top right: in the header */
  .lw-menu-top .lw-bar .navbar-toggler { width: 44px; height: 44px; border-radius: 12px; }
  .lw-menu-top .lw-bar .navbar-collapse { top: calc(var(--lw-bar-h, 60px) + 8px); bottom: auto;
    max-height: calc(100vh - var(--lw-bar-h, 60px) - 24px - env(safe-area-inset-bottom)); max-height: calc(100dvh - var(--lw-bar-h, 60px) - 24px - env(safe-area-inset-bottom)); }
}
/* login / sign-up: the welcome */
.lw-welcome { text-align: center; margin: .75rem auto 1.25rem; }
.lw-welcome-logo { width: 88px; height: 88px; object-fit: contain; border-radius: 22px; background: #fff; padding: 6px; box-shadow: 0 6px 20px rgba(16, 50, 74, .15); }
.lw-welcome-wave { display: flex; align-items: center; justify-content: center; margin: 0 auto; font-size: 3rem; background: color-mix(in srgb, var(--lw-brand) 12%, #fff); }
.lw-welcome-club { font-weight: 700; font-size: 1.3rem; margin-top: .7rem; color: var(--lw-brand); }
.lw-welcome-card { max-width: 30rem; margin: 0 auto; }
.lw-welcome-icon { font-size: 2.6rem; color: var(--lw-brand); }
.lw-code-input { letter-spacing: .35em; font-variant-numeric: tabular-nums; font-size: 1.6rem; font-weight: 600; }
.lw-or { display: flex; align-items: center; gap: .75rem; color: var(--bs-secondary-color); margin: 1rem 0; font-size: .85rem; }
.lw-or[hidden] { display: none; }
.lw-or::before, .lw-or::after { content: ""; flex: 1; border-top: 1px solid var(--bs-border-color); }
[data-bs-theme="dark"] body { background: var(--bs-body-bg); }
[data-bs-theme="dark"] .card { --bs-card-border-color: var(--bs-border-color); box-shadow: none; }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: var(--lw-brand-light); --bs-btn-border-color: var(--lw-brand-light); --bs-btn-disabled-color: var(--lw-brand-light); }
[data-bs-theme="dark"] .lw-welcome-club, [data-bs-theme="dark"] .lw-welcome-icon { color: var(--lw-brand-light); }
[data-bs-theme="dark"] .lw-welcome-wave { background: var(--bs-tertiary-bg); }
/* wide screens: the menu in one line (legal is in the footer), the logo without the club name; between 1200 and 1400 px without icons */
@media (min-width: 1200px) { .lw-bar .nav-link { white-space: nowrap; } .lw-bar .navbar-nav .nav-link { padding-left: .5rem; padding-right: .5rem; } .lw-bar .lw-brand-name { display: none; } }
@media (min-width: 1200px) and (max-width: 1399.98px) { .lw-bar .navbar-nav:first-child .nav-link > .bi { display: none; } .lw-bar .navbar-nav .nav-link { padding-left: .38rem; padding-right: .38rem; font-size: .95rem; } }
.lw-guest-badge { background: #efe3fb; color: #5b2a86; }
.lw-host { color: #5b2a86; }
.lw-gear-line { color: var(--bs-secondary-color); }
[data-bs-theme="dark"] .lw-guest-badge { background: #3a2550; color: #e3c8ff; }
[data-bs-theme="dark"] .lw-host { color: #d7b5ff; }
.lw-sysbars { display: flex; align-items: flex-end; gap: 2px; height: 110px; border-bottom: 1px solid var(--bs-border-color); margin-top: .4rem; }
.lw-sysbars span { flex: 1; background: var(--lw-brand); border-radius: 2px 2px 0 0; min-height: 1px; opacity: .85; }
.lw-sysbars span.is-zero { background: var(--bs-border-color); }
/* weather widget (Conditions): two addresses → show the one for the mode; one address → darkened in dark mode */
.lw-weather-dark { display: none; }
[data-bs-theme="dark"] .lw-weather-dark { display: block; }
[data-bs-theme="dark"] .lw-weather-light:not(.lw-weather-auto) { display: none; }
[data-bs-theme="dark"] .lw-weather-auto { filter: invert(.9) hue-rotate(180deg) brightness(1.05); }

/* sponsors (2.4): quiet — small grey logos, colour on hover */
.lw-sponsor-row { max-width: 28rem; margin: 1.75rem auto .5rem; text-align: center; }
.lw-sponsor-title { font-size: .72rem; color: var(--bs-secondary-color); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .5rem; }
.lw-sponsor-logos { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; justify-content: center; align-items: center; }
.lw-sponsor-logos img { height: 28px; max-width: 110px; object-fit: contain; filter: grayscale(1); opacity: .65; transition: filter .2s, opacity .2s; }
.lw-sponsor-logos a:hover img, .lw-sponsor-logos a:focus img { filter: none; opacity: 1; }
.lw-sponsor-logos span { font-size: .85rem; color: var(--bs-secondary-color); }
.lw-sponsor-logos a { text-decoration: none; }
[data-bs-theme=dark] .lw-sponsor-logos img, [data-bs-theme=dark] .lw-sponsor-logo { background: #fff; padding: 2px 5px; border-radius: 4px; }
.lw-sponsor-logo { max-height: 56px; max-width: 160px; object-fit: contain; display: block; }

/* 2.7 My tricks: the member's own icons (bigger for "Got it"), kind words */
.lw-trickicons { display: inline-flex; flex-wrap: wrap; align-items: flex-end; gap: .05rem; line-height: 1; vertical-align: middle; }
.lw-trickicon { font-size: 1.05rem; }
.lw-trickicon.is-got { font-size: 1.45rem; }
button.lw-trickicons:active { transform: scale(.96); }
.lw-trickundo summary { cursor: pointer; list-style: none; }
.lw-trickundo summary::-webkit-details-marker { display: none; }
.lw-trickshare { font-size: .85rem; }
.lw-kind { border-left: 3px solid var(--lw-brand); }

/* 2.8 routes: the line drawn by Letswake itself (no map service) */
.lw-routebox { max-width: 40rem; }
.lw-route { width: 100%; height: auto; display: block; }
.lw-route-bg { fill: color-mix(in srgb, var(--lw-brand) 7%, var(--bs-body-bg)); stroke: var(--bs-border-color); }
.lw-route-line { stroke: var(--lw-brand); }
[data-bs-theme=dark] .lw-route-line { stroke: var(--lw-brand-light); }
.lw-route-start { fill: #198754; stroke: var(--bs-body-bg); stroke-width: 2; }
.lw-route-end { fill: #dc3545; stroke: var(--bs-body-bg); stroke-width: 2; }
.lw-route-scale line { stroke: var(--bs-body-color); }
.lw-route-scale text { fill: var(--bs-body-color); }
#lwGps.active { background: var(--lw-brand); color: #fff; }
/* 2.9.9: folded parts (Settings) */
details.lw-fold > summary, details.lw-fold-sub > summary { list-style: none; cursor: pointer; }
details.lw-fold > summary::-webkit-details-marker, details.lw-fold-sub > summary::-webkit-details-marker { display: none; }
details.lw-fold-sub { border: 1px solid var(--bs-border-color); border-radius: .5rem; padding: .5rem .75rem; }

/* 2.11: webcam on Weather+ */
.lw-cam { max-width: 960px; }
.lw-cam-img { display: block; width: 100%; height: auto; border-radius: .5rem; background: var(--bs-secondary-bg); }
.lw-cam-frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: .5rem; background: var(--bs-secondary-bg); }
.lw-tabs + .tab-content > .tab-pane:focus { outline: 0; }
