/* Goodpick Media: colorful discovery, compact decisions, detail on demand. */
:root {
  color-scheme:light;
  --bg:#f4f2fc;
  --ink:#242031;
  --muted:#665f76;
  --blue:#5540c6;
  --line:#dbd6e8;
  --control-line:#827095;
  --surface:#fff;
  --surface-soft:#ebe5f4;
  --surface-hover:#e4dbf2;
  --action:#5842ce;
  --action-hover:#4631b7;
  --action-ink:#fff;
  --score-bg:#f5f0ff;
  --score-ink:#49349c;
  --award-bg:#ffd0c6;
  --award-ink:#762c23;
  --award-line:#c9796a;
  --everyday:#dfeafb;
  --create:#e8dcfa;
  --go-places:#d9eee4;
  --unwind:#fae2d5;
  --card-line:#cfc4de;
  --card-shadow:0 5px 18px #32214c08;
  --shelf-blue:#c0dcff;
  --shelf-purple:#c8b4fb;
  --shelf-peach:#ffcbaa;
  --shelf-yellow:#ffe088;
  --shelf-art-ink:#392363;
  --radius:24px;
  --max:1200px;
  --gutter:28px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#16141e;
  --ink:#f7f1ff;
  --muted:#bdb2cb;
  --blue:#c2b0ff;
  --line:#40384e;
  --control-line:#9682aa;
  --surface:#25212e;
  --surface-soft:#30253e;
  --surface-hover:#392d49;
  --action:#baa7ff;
  --action-hover:#ccbfff;
  --action-ink:#29184f;
  --score-bg:#423451;
  --score-ink:#e8dfff;
  --award-bg:#edaa9d;
  --award-ink:#49211e;
  --award-line:#bb8076;
  --everyday:#243047;
  --create:#342747;
  --go-places:#233b33;
  --unwind:#412c2c;
  --card-line:#655272;
  --card-shadow:0 5px 18px #00000014;
  --shelf-blue:#294e72;
  --shelf-purple:#594184;
  --shelf-peach:#794333;
  --shelf-yellow:#675325;
  --shelf-art-ink:#efe6ff;
}

@media(prefers-color-scheme:dark) {
  :root:not([data-theme]) {
    color-scheme:dark;
    --bg:#16141e;
    --ink:#f7f1ff;
    --muted:#bdb2cb;
    --blue:#c2b0ff;
    --line:#40384e;
    --control-line:#9682aa;
    --surface:#25212e;
    --surface-soft:#30253e;
    --surface-hover:#392d49;
    --action:#baa7ff;
    --action-hover:#ccbfff;
    --action-ink:#29184f;
    --score-bg:#423451;
    --score-ink:#e8dfff;
    --award-bg:#edaa9d;
    --award-ink:#49211e;
    --award-line:#bb8076;
    --everyday:#243047;
    --create:#342747;
    --go-places:#233b33;
    --unwind:#412c2c;
    --card-line:#655272;
    --card-shadow:0 5px 18px #00000014;
    --shelf-blue:#294e72;
    --shelf-purple:#594184;
    --shelf-peach:#794333;
    --shelf-yellow:#675325;
    --shelf-art-ink:#efe6ff;
  }
}

* {
  box-sizing:border-box;
}

html {
  scroll-padding-top:24px;
  /* Keep short and long pages on the same horizontal grid. */
  overflow-y:scroll;
  scrollbar-gutter:stable;
  -webkit-text-size-adjust:100%;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:15px/1.6 var(--font);
  overflow-wrap:break-word;
}

h1,h2,h3,p {
  margin:0;
}

h1,h2,h3 {
  line-height:1.1;
  letter-spacing:-.045em;
}

h1 {
  font-size:clamp(40px,5vw,64px);
  font-weight:650;
}

h2 {
  font-size:32px;
  font-weight:620;
}

h3 {
  font-size:19px;
  font-weight:650;
}

p+p {
  margin-top:16px;
}

a {
  color:inherit;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
}

a:hover {
  color:var(--blue);
}

ul,ol {
  margin:0;
  padding:0;
}

img,svg {
  display:block;
}

button,a,summary,select {
  -webkit-tap-highlight-color:transparent;
}

summary {
  cursor:pointer;
}

a,summary,select {
  touch-action:manipulation;
}

:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:5px;
}

main:focus {
  outline:none;
}

:target {
  scroll-margin-top:24px;
}

.wrap {
  width:100%;
  max-width:var(--max);
  padding-inline:var(--gutter);
  margin-inline:auto;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  clip-path:inset(50%);
  overflow:hidden;
  white-space:nowrap;
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:100;
  background:var(--action);
  color:var(--action-ink);
  padding:12px 18px;
  border-radius:10px;
}

.skip-link:focus {
  top:12px;
}

.muted {
  color:var(--muted);
}

.masthead__inner {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  min-height:84px;
  gap:18px;
}

.masthead__inner > .wordmark { margin-right:auto; }

.wordmark {
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.2em;
  font-size:28px;
  line-height:1;
  font-weight:760;
  letter-spacing:-.045em;
  text-decoration:none;
  white-space:nowrap;
}

.wordmark__name {
  display:inline-flex;
  align-items:center;
  gap:.24em;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:-.055em;
}

.wordmark__symbol {
  width:.72em;
  height:.72em;
  flex-shrink:0;
  color:var(--action);
}

.wordmark__media {
  margin-left:.12em;
  font-size:10px;
  font-weight:650;
  line-height:1.2;
  letter-spacing:.32em;
  text-transform:uppercase;
}

.mainnav ul {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  list-style:none;
}

.mainnav a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 17px;
  border-radius:0;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}

.mainnav a:hover {
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:8px;
}

.mainnav a[aria-current=page] {
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:8px;
  text-decoration-thickness:2px;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  min-height:48px;
  padding:12px 23px;
  border:1px solid var(--action);
  border-radius:30px;
  background:var(--action);
  color:var(--action-ink);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  line-height:1.3;
}

.button:hover {
  background:var(--action-hover);
  border-color:var(--action-hover);
  color:var(--action-ink);
}

.button--quiet {
  background:transparent;
  color:var(--ink);
  border-color:var(--control-line);
}

.text-link,.arrow-link {
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}

.arrow-link::after {
  content:" ↗";
}

.eyebrow,.kicker {
  font-size:12px;
  letter-spacing:.035em;
  font-weight:600;
  color:var(--muted);
}

.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}

.section-heading h2 {
  font-size:30px;
}

.section-heading>span {
  font-size:12px;
  color:var(--muted);
}

.home-shell {
  padding-bottom:50px;
}

.focus-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  background:var(--surface-soft);
  border-radius:32px;
  overflow:hidden;
  min-height:510px;
}

.focus-hero__copy {
  padding:48px 0 48px 48px;
  position:relative;
  z-index:1;
}

.focus-hero .eyebrow {
  color:var(--muted);
  margin-bottom:26px;
}

.focus-hero h1 {
  font-size:clamp(54px,6.5vw,82px);
  font-weight:660;
  letter-spacing:-.065em;
  line-height:1.01;
}

.hero-lede {
  font-size:17px;
  color:var(--muted);
  max-width:270px;
  margin-top:24px;
}

.focus-hero .button {
  margin-top:28px;
}

.focus-hero__art {
  height:100%;
  min-height:480px;
  display:flex;
  align-items:center;
}

.focus-hero__art img {
  width:100%;
  height:100%;
  min-height:480px;
  object-fit:cover;
  mix-blend-mode:normal;
  mask-image:linear-gradient(to right,transparent,#000 12%);
}

.picks {
  padding-block:48px;
}

.pick-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

.pick-card {
  text-decoration:none;
  min-width:0;
  display:block;
  border-radius:20px;
}

.pick-card:hover {
  color:var(--ink);
}

.pick-card__art {
  height:170px;
  border-radius:20px;
  position:relative;
  display:grid;
  place-items:center;
  background:var(--everyday);
  border:1px solid var(--card-line);
}

.pick-card--things .pick-card__art {
  background:var(--everyday);
  border-color:var(--card-line);
}

.pick-card--todoist .pick-card__art {
  background:var(--unwind);
  border-color:var(--card-line);
}

.pick-card--ticktick .pick-card__art {
  background:var(--create);
  border-color:var(--card-line);
}

.card-arrow {
  position:absolute;
  right:13px;
  top:11px;
  font-size:20px;
  color:var(--muted);
  opacity:0;
  transition:opacity 150ms;
}

.pick-card:hover .card-arrow,.pick-card:focus-visible .card-arrow {
  opacity:1;
}

.pick-card__copy {
  padding:16px 3px 0;
}

.pick-card h3 {
  font-size:20px;
  letter-spacing:-.025em;
}

.pick-card p {
  font-size:13px;
  color:var(--muted);
  line-height:1.45;
  margin-top:6px;
}

.app-symbol {
  display:inline-grid;
  place-items:center;
  flex-shrink:0;
  width:58px;
  height:58px;
  border-radius:16px;
  background:#fff;
  color:#4862c7;
  border:1px solid #e2e4ea;
  font-size:20px;
  font-weight:650;
  box-shadow:0 5px 8px #232b4b08,inset 0 -2px 2px #00000005;
}

.app-symbol img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:inherit;
}

.app-symbol--things {
  background:#4479ed;
  color:white;
  border-color:#3c6ddd;
}

.app-symbol--todoist {
  background:#d65144;
  color:white;
  border-color:#c5463a;
}

.app-symbol--ticktick {
  background:#426fbe;
  color:#ffe6a0;
  border-color:#4167b0;
}

.pick-card .app-symbol {
  width:80px;
  height:80px;
  border-radius:23px;
  transform:rotate(-9deg);
  box-shadow:6px 10px 14px #232b4b18,inset 0 2px 2px #ffffff50,inset 0 -3px 4px #00000016;
}

.pick-card--things .app-symbol {
  transform:rotate(8deg);
}

.pick-card--todoist .app-symbol {
  transform:rotate(-7deg);
}

.pick-card--ticktick .app-symbol {
  transform:rotate(9deg);
}

.weekly-card {
  display:flex;
  align-items:center;
  gap:40px;
  background:var(--create);
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  padding-right:40px;
}

.weekly-card:hover {
  color:var(--ink);
  background:var(--surface-hover);
}

.weekly-art {
  height:200px;
  width:230px;
  position:relative;
  flex-shrink:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:var(--create);
}

.weekly-orbit {
  position:absolute;
  width:220px;
  height:110px;
  border:1px solid var(--blue);
  border-radius:50%;
  transform:rotate(-35deg);
}

.weekly-number {
  font-size:96px;
  font-weight:650;
  letter-spacing:-9px;
  line-height:1;
  color:var(--blue);
  transform:rotate(-9deg);
}

.weekly-card__copy {
  flex:1;
  padding-block:26px;
}

.weekly-card h2 {
  font-size:30px;
  max-width:440px;
  line-height:1.15;
  margin:10px 0 18px;
}

.weekly-card .eyebrow {
  color:var(--muted);
}

.weekly-arrow {
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  width:48px;
  height:48px;
  font-size:24px;
  flex-shrink:0;
}

.footer {
  display:flex;
  align-items:center;
  gap:24px;
  padding-block:28px 30px;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  font-size:12px;
  color:var(--muted);
}

.footer .wordmark {
  color:var(--ink);
  font-size:24px;
}

.footer>p {
  flex:1;
}

.footer>a:not(.wordmark) {
  min-height:40px;
  display:inline-flex;
  align-items:center;
}

.footer>small {
  flex-basis:100%;
  font-size:11px;
  color:var(--muted);
}

.breadcrumb {
  display:flex;
  gap:10px;
  align-items:center;
  color:var(--muted);
  font-size:12px;
  margin-bottom:30px;
}

.breadcrumb a {
  text-decoration:none;
  min-height:32px;
  display:flex;
  align-items:center;
}

.page-head {
  padding-top:24px;
  padding-bottom:36px;
}

.page-head h1 {
  max-width:750px;
  margin-top:14px;
}

.page-dek {
  color:var(--muted);
  font-size:17px;
  max-width:670px;
  margin-top:18px;
}

.review-meta,.edition-date {
  font-size:12px;
  color:var(--muted);
  margin-top:18px;
}

.app-index {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
  align-items:center;
}

.app-index a {
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:28px;
  padding:6px 16px 6px 7px;
  min-height:44px;
  font-size:13px;
  text-decoration:none;
}

.app-index .app-symbol {
  width:30px;
  height:30px;
  border-radius:9px;
  box-shadow:none;
}

.app-index a:hover {
  border-color:var(--blue);
}

.app-index .compare-link {
  border:0;
  background:none;
  padding-inline:14px;
}

.entries {
  display:grid;
  gap:20px;
}

.entry__surface {
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface);
  padding:32px;
}

.entry__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.entry__identity {
  display:flex;
  align-items:center;
  gap:17px;
}

.entry__role {
  font-size:12px;
  color:var(--muted);
  margin-bottom:4px;
}

.entry__name {
  font-size:30px;
  letter-spacing:-.045em;
}

.entry__dev {
  font-size:11px;
  color:var(--muted);
  margin-top:5px;
}

.entry__opening {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  margin-top:24px;
}

.entry__best {
  font-size:21px;
  line-height:1.4;
  max-width:530px;
  font-weight:500;
  letter-spacing:-.02em;
}

.entry__action {
  display:flex;
  align-items:center;
  gap:24px;
  flex-shrink:0;
}

.entry__action>p {
  font-size:13px;
  max-width:180px;
}

.entry__action>p>span {
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:4px;
}

.entry__caveat {
  max-width:780px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
  margin-top:20px;
}

.entry__caveat strong {
  color:var(--ink);
  font-weight:600;
  margin-right:4px;
}

.entry__disclosure {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  color:var(--muted);
  margin-top:16px;
}

.tag {
  display:inline-block;
  font-size:11px;
  line-height:1.45;
  padding:3px 7px;
  border-radius:5px;
  background:var(--surface-soft);
  color:var(--muted);
  font-weight:500;
  white-space:nowrap;
}

.tag--view {
  background:var(--score-bg);
  color:var(--score-ink);
}

.tag--tested {
  background:var(--go-places);
  color:var(--ink);
}

details>summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-weight:600;
  font-size:14px;
  min-height:48px;
  color:var(--ink);
}

details>summary::-webkit-details-marker {
  display:none;
}

details>summary::after {
  content:"+";
  font-size:23px;
  font-weight:400;
  line-height:1;
  flex-shrink:0;
  color:var(--muted);
}

details[open]>summary::after {
  content:"−";
}

.review-details {
  border-top:1px solid var(--line);
  margin-top:22px;
  padding-top:5px;
}

.review-details__body {
  padding-top:20px;
}

.entry__body {
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);
  gap:50px;
}

.entry__main {
  font-size:15px;
  max-width:690px;
}

.entry__choose {
  background:var(--surface-soft);
  border-radius:12px;
  padding:18px;
}

.entry__choose strong {
  display:block;
  margin-bottom:5px;
}

.mini-label {
  font-size:13px;
  font-weight:650;
  letter-spacing:0;
  line-height:1.4;
  margin:22px 0 10px;
}

.facts,.limits {
  padding-left:20px;
}

.facts li,.limits li {
  padding-left:3px;
  margin-bottom:12px;
}

.refs {
  font-size:11px;
  white-space:nowrap;
  color:var(--muted);
}

.ref {
  display:inline-block;
  padding:0 3px;
  min-width:16px;
  text-align:center;
  color:var(--blue);
}

.entry__aside {
  font-size:13px;
  background:var(--surface-soft);
  border-radius:14px;
  padding:22px;
  align-self:start;
}

.entry__aside .mini-label:first-child {
  margin-top:0;
}

.aside__block+.aside__block {
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-top:20px;
}

.plain {
  list-style:none;
}

.plain li+li {
  margin-top:8px;
}

.entry__mentions {
  font-size:13px;
  margin-top:26px;
}

.entry__sources {
  margin-top:25px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:12px;
  color:var(--muted);
}

.entry__sources .mini-label {
  margin-top:0;
}

.sources {
  padding-left:18px;
}

.sources li {
  padding:5px 0;
}

.sources a {
  overflow-wrap:anywhere;
}

.sources :target {
  background:var(--score-bg);
  color:var(--score-ink);
}

.compare {
  margin-block:24px;
}

.compare-details {
  border:1px solid var(--line);
  border-radius:20px;
  padding:10px 26px;
  background:var(--surface);
}

.compare-details>summary>span {
  display:none;
}

.details-body {
  padding-block:20px;
}

.table-scroll {
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:12px;
}

.cmp {
  width:100%;
  border-collapse:collapse;
  min-width:700px;
  text-align:left;
  font-size:13px;
}

.cmp caption {
  caption-side:bottom;
  padding:16px;
  color:var(--muted);
  font-size:12px;
  text-align:left;
  line-height:1.6;
}

.cmp th,.cmp td {
  padding:16px;
  vertical-align:top;
  border-bottom:1px solid var(--line);
  max-width:300px;
}

.cmp thead th {
  font-size:11px;
  letter-spacing:.04em;
  background:var(--surface-soft);
}

.cmp tbody th {
  font-weight:600;
}

.cmp--prices {
  min-width:560px;
}

.table-hint {
  font-size:11px;
  color:var(--muted);
  margin-top:8px;
}

.choose-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  margin-top:30px;
  font-size:13px;
}

.choose-grid h3 {
  font-size:16px;
  line-height:1.35;
  margin-bottom:10px;
  letter-spacing:-.02em;
}

.review-note {
  font-size:12px;
  color:var(--muted);
  margin-top:26px;
}

.update-log {
  font-size:12px;
  color:var(--muted);
  padding-block:12px 28px;
}

.section-label {
  font-size:12px;
  color:var(--ink);
  letter-spacing:0;
  line-height:1.4;
  margin-bottom:8px;
}

.updates {
  list-style:none;
}

.updates li {
  padding-block:6px;
}

.edition-end {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding-block:42px;
  margin-top:10px;
  border-top:1px solid var(--line);
}

.edition-end h2 {
  font-size:26px;
}

.edition-end .kicker {
  margin-bottom:8px;
}

.edition-stream {
  max-width:900px;
}

.edition-intro-details {
  border-bottom:1px solid var(--line);
  padding-bottom:12px;
  margin-bottom:12px;
  color:var(--muted);
  font-size:14px;
}

.edition-intro-details .prose {
  padding-block:14px;
}

.item {
  padding-block:30px;
  border-bottom:1px solid var(--line);
}

.item__meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px;
  font-size:11px;
  color:var(--muted);
}

.kind {
  color:var(--blue);
  font-weight:600;
}

.item__title {
  font-size:30px;
  line-height:1.2;
  max-width:630px;
  margin-bottom:18px;
}

.prose {
  font-size:15px;
  line-height:1.75;
}

.story-details {
  margin-top:12px;
}

.story-details>summary {
  font-size:13px;
  font-weight:550;
  color:var(--muted);
}

.story-details__body {
  padding-block:12px;
}

.item__links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  list-style:none;
  margin-top:20px;
}

.price-scroll {
  margin-top:20px;
}

.about-body {
  max-width:900px;
  padding-bottom:40px;
}

.about-details {
  border-top:1px solid var(--line);
  padding-block:15px;
}

.about-details summary h2 {
  font-size:23px;
  font-weight:580;
  line-height:1.3;
  letter-spacing:-.025em;
}

.about-details__body {
  padding-block:14px;
  max-width:690px;
}

.labels {
  margin:0;
}

.labels>div {
  display:grid;
  grid-template-columns:100px 1fr;
  gap:22px;
  padding-block:14px;
}

.labels dd {
  margin:0;
  font-size:14px;
  color:var(--muted);
}

@media(min-width:900px) {
  .page-selection .page-head h1 {
    max-width:700px;
  }
  .page-about .page-head {
    padding-bottom:48px;
  }
  .page-about h1 {
    max-width:740px;
  }
}

@media(max-width:1000px) {
  .entry__opening {
    gap:25px;
  }
  .entry__action {
    gap:15px;
    flex-direction:column;
    align-items:flex-start;
  }
  .entry__action>p {
    max-width:220px;
  }
  .focus-hero__copy {
    padding-left:32px;
  }
  .focus-hero {
    min-height:470px;
  }
  .focus-hero__art,.focus-hero__art img {
    min-height:450px;
  }
  .pick-grid {
    gap:16px;
  }
  .pick-card__art {
    height:150px;
  }
  .weekly-card {
    gap:28px;
  }
  .weekly-art {
    width:200px;
  }
  .entry__body {
    gap:30px;
  }
}

@media(max-width:760px) {
  :root {
    --gutter:20px;
  }
  .masthead__inner {
    min-height:82px;
  }
  .wordmark {
    font-size:24px;
  }
  .mainnav a {
    padding-inline:12px;
    font-size:12px;
  }
  .mainnav ul {
    gap:0;
  }
  .focus-hero {
    grid-template-columns:1fr;
    min-height:0;
    border-radius:24px;
  }
  .focus-hero__copy {
    padding:36px 30px 0;
  }
  .focus-hero .eyebrow {
    margin-bottom:20px;
  }
  .focus-hero h1 {
    font-size:64px;
  }
  .hero-lede {
    font-size:15px;
    max-width:260px;
    margin-top:18px;
  }
  .focus-hero .button {
    margin-top:24px;
  }
  .focus-hero__art {
    min-height:0;
    height:280px;
    justify-content:center;
  }
  .focus-hero__art img {
    min-height:0;
    height:100%;
    width:100%;
    object-fit:contain;
    mask-image:linear-gradient(to bottom,transparent,#000 15%);
  }
  .picks {
    padding-block:34px;
  }
  .section-heading {
    margin-bottom:18px;
  }
  .section-heading h2 {
    font-size:26px;
  }
  .section-heading>span {
    font-size:10px;
  }
  .pick-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 16px;
  }
  .pick-card__art {
    height:160px;
  }
  .pick-card h3 {
    font-size:18px;
  }
  .pick-card p {
    font-size:12px;
  }
  .weekly-art {
    height:185px;
    width:170px;
  }
  .weekly-card {
    gap:24px;
    padding-right:24px;
  }
  .weekly-card h2 {
    font-size:24px;
  }
  .weekly-card .eyebrow {
    font-size:11px;
  }
  .weekly-arrow {
    display:none;
  }
  .weekly-number {
    font-size:82px;
  }
  .weekly-orbit {
    width:175px;
    height:90px;
  }
  .footer {
    gap:12px 20px;
  }
  .footer>p {
    flex-basis:55%;
    font-size:11px;
  }
  .footer>small {
    font-size:10px;
  }
  .entry__body {
    grid-template-columns:1fr;
  }
  .entry__aside {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .aside__block+.aside__block {
    margin:0;
    padding:0;
    border:0;
  }
  .entry__opening {
    align-items:flex-start;
  }
  .entry__best {
    font-size:20px;
  }
  .entry__surface {
    padding:24px;
  }
  .entry__action {
    flex-shrink:1;
    min-width:155px;
  }
  .entry__action .button {
    font-size:12px;
    padding-inline:16px;
  }
  .entry__name {
    font-size:28px;
  }
  .page-head {
    padding-top:12px;
  }
  .page-head h1 {
    font-size:44px;
  }
  .breadcrumb {
    margin-bottom:24px;
  }
  .choose-grid {
    grid-template-columns:1fr;
    gap:24px;
  }
  .compare-details {
    padding:8px 18px;
  }
  .edition-end h2 {
    font-size:23px;
  }
  .item__title {
    font-size:28px;
  }
}

@media(max-width:480px) {
  :root {
    --gutter:18px;
  }
  .masthead__inner {
    gap:10px;
    min-height:76px;
  }
  .wordmark {
    font-size:24px;
  }
  .mainnav a {
    font-size:11px;
    padding-inline:10px;
  }
  .focus-hero__copy {
    padding:30px 24px 0;
  }
  .focus-hero h1 {
    font-size:56px;
    letter-spacing:-.06em;
  }
  .focus-hero .eyebrow {
    font-size:11px;
  }
  .hero-lede {
    font-size:14px;
    max-width:225px;
  }
  .focus-hero__art {
    height:240px;
  }
  .focus-hero__art img {
    object-fit:cover;
  }
  .home-shell {
    padding-bottom:28px;
  }
  .section-heading>span {
    display:none;
  }
  .pick-card__art {
    height:143px;
    border-radius:17px;
  }
  .pick-card .app-symbol {
    width:66px;
    height:66px;
    border-radius:19px;
  }
  .pick-card__copy {
    padding-top:12px;
  }
  .pick-card h3 {
    font-size:17px;
  }
  .pick-card p {
    font-size:11px;
  }
  .weekly-card {
    display:grid;
    grid-template-columns:80px 1fr;
    gap:20px;
    padding:24px 20px;
    border-radius:20px;
  }
  .weekly-art {
    width:80px;
    height:105px;
    border-radius:14px;
  }
  .weekly-number {
    font-size:58px;
    letter-spacing:-5px;
  }
  .weekly-orbit {
    width:100px;
    height:55px;
  }
  .weekly-card__copy {
    padding:0;
  }
  .weekly-card h2 {
    font-size:21px;
    margin:8px 0 14px;
  }
  .weekly-card .eyebrow {
    font-size:10px;
  }
  .weekly-card .text-link {
    font-size:12px;
  }
  .footer {
    padding-block:22px;
  }
  .footer>p {
    flex-basis:100%;
    order:2;
  }
  .footer>a:not(.wordmark) {
    margin-left:auto;
  }
  .footer>small {
    order:3;
  }
  .page-head {
    padding-bottom:26px;
  }
  .page-head h1 {
    font-size:38px;
    max-width:330px;
  }
  .page-dek {
    font-size:15px;
    line-height:1.6;
  }
  .review-meta {
    font-size:11px;
    max-width:300px;
  }
  .app-index {
    gap:8px;
    margin-top:20px;
  }
  .app-index a {
    font-size:11px;
    padding-right:12px;
  }
  .app-index .app-symbol {
    width:25px;
    height:25px;
    border-radius:7px;
  }
  .app-index .compare-link {
    padding-left:4px;
  }
  .entry__surface {
    padding:22px 20px;
    border-radius:20px;
  }
  .entry__identity {
    gap:13px;
  }
  .entry__name {
    font-size:27px;
  }
  .entry__role {
    font-size:11px;
  }
  .entry__dev {
    font-size:10px;
  }
  .entry__opening {
    display:block;
    margin-top:20px;
  }
  .entry__best {
    font-size:19px;
    line-height:1.45;
  }
  .entry__action {
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    margin-top:18px;
    gap:18px;
    min-width:0;
  }
  .entry__action>p {
    font-size:12px;
    flex:1;
  }
  .entry__action .button {
    font-size:11px;
    gap:10px;
    padding:12px 16px;
    min-height:44px;
  }
  .entry__caveat {
    font-size:12px;
    line-height:1.6;
  }
  .entry__disclosure {
    gap:8px;
    flex-wrap:wrap;
    font-size:10px;
  }
  .tag {
    font-size:10px;
  }
  .review-details {
    margin-top:16px;
  }
  .review-details>summary {
    font-size:12px;
  }
  .entry__aside {
    display:block;
    padding:18px;
  }
  .aside__block+.aside__block {
    border-top:1px solid var(--line);
    margin-top:20px;
    padding-top:20px;
  }
  .entry__main {
    font-size:14px;
  }
  .entry__sources {
    font-size:11px;
  }
  .entry__mentions {
    font-size:12px;
  }
  .compare-details>summary {
    font-size:13px;
  }
  .edition-end {
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    padding-block:28px;
  }
  .edition-end h2 {
    font-size:23px;
  }
  .update-log {
    font-size:11px;
  }
  .item__title {
    font-size:25px;
  }
  .item__date {
    font-size:10px;
  }
  .prose {
    font-size:14px;
  }
  .item__links {
    align-items:flex-start;
    flex-direction:column;
  }
  .about-details summary h2 {
    font-size:20px;
  }
  .about-details__body {
    font-size:14px;
  }
  .labels>div {
    grid-template-columns:1fr;
    gap:8px;
  }
  .labels dd {
    font-size:13px;
  }
}

@media(max-width:350px) {
  .mainnav a {
    padding-inline:7px;
    font-size:10px;
  }
  .wordmark {
    font-size:22px;
  }
  .focus-hero h1 {
    font-size:47px;
  }
  .focus-hero__copy {
    padding-inline:21px;
  }
  .focus-hero__art {
    height:205px;
  }
  .pick-card__art {
    height:126px;
  }
  .pick-grid {
    gap:22px 12px;
  }
  .pick-card p {
    font-size:10px;
  }
  .weekly-card {
    grid-template-columns:60px 1fr;
    padding-inline:17px;
    gap:17px;
  }
  .weekly-art {
    width:60px;
    height:94px;
  }
  .weekly-card h2 {
    font-size:19px;
  }
  .weekly-card .eyebrow {
    font-size:9px;
  }
  .entry__action {
    align-items:flex-start;
    flex-direction:column;
  }
  .entry__action .button {
    width:100%;
  }
  .page-head h1 {
    font-size:35px;
  }
  .entry__best {
    font-size:18px;
  }
}

@media(prefers-reduced-motion:no-preference) {
  .button,.mainnav a,.weekly-card {
    transition:background-color 160ms,color 160ms;
  }
  .pick-card .app-symbol {
    transition:transform 200ms;
  }
  .pick-card:hover .app-symbol {
    transform:translateY(-5px) rotate(0);
  }
}


/* Weekly discovery and goal-based browsing. */
.weekly-hero .hero-lede {
  max-width:300px;
}
.card-topic {
  display:inline-block;
  margin-bottom:7px;
  color:var(--blue);
  font-size:11px;
  font-weight:600;
  text-decoration:none;
}
.pick-card--snapseed .pick-card__art {
  background:var(--create);
  border-color:var(--card-line);
}
.app-symbol--snapseed {
  background:#69a05a;
  color:white;
  border-color:#5f934f;
}
.pick-card--organic-maps .pick-card__art {
  background:var(--go-places);
  border-color:var(--card-line);
}
.app-symbol--organic-maps {
  background:#75a995;
  color:white;
  border-color:#6a9987;
}
.pick-card--libby .pick-card__art {
  background:var(--unwind);
  border-color:var(--card-line);
}
.app-symbol--libby {
  background:#bd554b;
  color:white;
  border-color:#ad4d44;
}
.pick-card--localsend .pick-card__art {
  background:var(--everyday);
  border-color:var(--card-line);
}
.app-symbol--localsend {
  background:#4474bd;
  color:white;
  border-color:#3c66a7;
}
.pick-card--organic-maps .app-symbol,
.pick-card--localsend .app-symbol {
  transform:rotate(8deg);
}
.topic-strip {
  padding:24px 0 32px;
  margin-bottom:14px;
  border-top:1px solid var(--line);
}
.topic-strip>span {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:14px;
}
.topic-strip>div,
.category-nav {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.topic-strip a,
.category-nav a {
  display:inline-flex;
  gap:20px;
  align-items:center;
  min-height:44px;
  padding:10px 20px;
  border:1px solid var(--line);
  border-radius:28px;
  font-size:13px;
  font-weight:550;
  text-decoration:none;
  background:var(--surface);
}
.topic-strip a:hover,
.category-nav a:hover {
  border-color:var(--blue);
}
.category-nav {
  margin-top:30px;
}
.category-nav a[aria-current=page] {
  background:var(--action);
  color:var(--action-ink);
  border-color:var(--action);
}
.guide-teaser {
  display:flex;
  gap:30px;
  align-items:center;
  justify-content:space-between;
  padding:28px 32px;
  border:1px solid var(--line);
  border-radius:22px;
  text-decoration:none;
  background:var(--surface-soft);
}
.guide-teaser:hover {
  color:var(--ink);
  border-color:var(--blue);
}
.guide-teaser h2 {
  font-size:25px;
  margin-top:9px;
  line-height:1.2;
}
.guide-teaser .text-link {
  flex-shrink:0;
}
.topic-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-bottom:50px;
}
.topic-card {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  min-height:235px;
  padding:32px;
  border-radius:24px;
  text-decoration:none;
  border:1px solid var(--card-line);
  background:var(--everyday);
}
.topic-card:hover {
  color:var(--ink);
  border-color:var(--blue);
}
.topic-card--create {
  background:var(--create);
  border-color:var(--card-line);
}
.topic-card--go-places {
  background:var(--go-places);
  border-color:var(--card-line);
}
.topic-card--unwind {
  background:var(--unwind);
  border-color:var(--card-line);
}
.topic-card__arrow {
  position:absolute;
  right:28px;
  top:24px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  font-size:23px;
  border:1px solid var(--muted);
  border-radius:50%;
}
.topic-card h2 {
  font-size:36px;
  margin-bottom:10px;
}
.topic-card p {
  color:var(--muted);
  font-size:14px;
}
.topic-card__count {
  margin-top:24px;
  font-size:13px;
  color:var(--muted);
}
.topic-card__pick {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
  font-size:15px;
  font-weight:650;
  line-height:1.4;
}
.topic-card__pick .app-symbol {
  width:42px;
  height:42px;
  border-radius:12px;
  flex-shrink:0;
}
.topic-card__pick small {
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:13px;
  font-weight:400;
}
.topic-content {
  padding-bottom:42px;
}
.topic-content .discovery-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),360px));
}
.topic-guides {
  margin-top:40px;
}
.archive-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  padding-bottom:60px;
}
.archive-card {
  display:block;
  text-decoration:none;
}
.archive-card:hover {
  color:var(--ink);
}
.archive-card__art {
  height:290px;
  border-radius:24px;
  overflow:hidden;
  background:var(--create);
  display:grid;
  place-items:center;
}
.archive-card__art img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.issue-cover-number {
  font-size:120px;
  line-height:1;
  font-weight:680;
  color:var(--blue);
  letter-spacing:-.09em;
  transform:rotate(-8deg);
}
.focus-hero__art>.issue-cover-number {
  margin:auto;
}
.archive-card>div+div {
  padding:20px 3px;
}
.archive-card h2 {
  font-size:28px;
  line-height:1.2;
  margin:10px 0 18px;
}
.issue-index {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:25px;
}
.issue-index a {
  padding:8px 16px;
  min-height:44px;
  display:flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:24px;
  font-size:12px;
  text-decoration:none;
}
.discovery-story {
  padding-block:35px;
}
.discovery-identity {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.discovery-identity p {
  font-size:17px;
  line-height:1.3;
}
.discovery-identity p>span {
  font-size:11px;
  color:var(--muted);
  font-weight:400;
}
.discovery-identity .card-topic {
  margin-bottom:5px;
}
.discovery-story .item__title {
  max-width:690px;
  font-size:34px;
}
.discovery-action {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:22px;
}
.discovery-action>p {
  font-size:13px;
  max-width:400px;
}
.discovery-action small {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:6px;
}
.discovery-action .button {
  flex-shrink:0;
}
.discovery-story .entry__caveat {
  padding:15px 18px;
  border-radius:12px;
  background:var(--surface-soft);
}
.edition-end>div>.text-link {
  display:inline-block;
  margin-top:16px;
}
@media(max-width:760px) {
  .guide-teaser {
    padding:24px;
  }
  .guide-teaser h2 {
    font-size:22px;
  }
  .topic-card {
    min-height:220px;
    padding:24px;
  }
  .topic-card h2 {
    font-size:30px;
  }
  .topic-card__arrow {
    right:20px;
    top:20px;
  }
  .archive-grid {
    gap:20px;
  }
  .archive-card__art {
    height:240px;
  }
  .archive-card h2 {
    font-size:24px;
  }
  .discovery-action {
    gap:20px;
  }
}
@media(max-width:480px) {
  .picks .section-heading>.text-link {
    font-size:11px;
  }
  .picks .section-heading>h2 {
    font-size:24px;
  }
  .card-topic {
    font-size:10px;
    margin-bottom:5px;
  }
  .topic-strip {
    padding-block:20px 26px;
  }
  .topic-strip a,
  .category-nav a {
    padding:9px 15px;
    font-size:12px;
    gap:16px;
  }
  .guide-teaser {
    display:block;
    padding:23px;
  }
  .guide-teaser h2 {
    font-size:23px;
  }
  .guide-teaser .text-link {
    display:inline-block;
    margin-top:18px;
    font-size:12px;
  }
  .topic-grid {
    grid-template-columns:1fr;
    gap:16px;
  }
  .topic-card {
    min-height:195px;
  }
  .topic-card h2 {
    font-size:32px;
  }
  .topic-card__count {
    margin-top:18px;
  }
  .topic-content .discovery-grid {
    grid-template-columns:1fr;
  }
  .topic-content .pick-card__art {
    height:200px;
  }
  .topic-content .pick-card .app-symbol {
    width:85px;
    height:85px;
    border-radius:24px;
  }
  .archive-grid {
    grid-template-columns:1fr;
  }
  .archive-card__art {
    height:250px;
  }
  .archive-card h2 {
    font-size:27px;
  }
  .discovery-story .item__title {
    font-size:27px;
  }
  .discovery-identity p>span {
    display:block;
    margin-top:5px;
  }
  .discovery-action {
    align-items:flex-start;
    flex-direction:column;
  }
  .discovery-action .button {
    min-height:44px;
    font-size:12px;
  }
  .discovery-story .entry__caveat {
    padding:13px 15px;
  }
}

.weekly-hero .focus-hero__art img {
  object-fit:contain;
  mask-image:radial-gradient(ellipse at center,#000 53%,transparent 82%);
}

/* Visual shelf: original editorial covers; source detail stays one tap away. */
.quick-page { padding-bottom:40px; }
.quick-head { padding-top:38px; padding-bottom:28px; max-width:1144px; }
.quick-head h1 { font-size:clamp(36px,5vw,60px); letter-spacing:-.055em; line-height:1.04; margin:12px 0; max-width:900px; }
.quick-head > p:not(.eyebrow):not(.quick-trust) { font-size:17px; color:var(--muted); margin:12px 0 0; max-width:680px; }
.quick-head .eyebrow { color:var(--blue); font-size:11px; letter-spacing:.1em; }
.quick-trust { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:12px; color:var(--muted); margin-top:18px; }
.quick-trust a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.shelf-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:22px 0 28px; }
.shelf-heading .eyebrow { color:var(--blue); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.15em; }
.shelf-heading h1 { font-size:clamp(40px,4.8vw,59px); font-weight:820; line-height:1.02; letter-spacing:-.065em; margin-top:9px; }
.shelf-date { color:var(--muted); font-size:12px; line-height:1.5; padding-bottom:4px; text-align:right; }
.shelf-date span { display:block; }
.quick-grid > .item { grid-column:1 / -1; min-width:0; }
.quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr; gap:16px; align-items:stretch; }
.quick-card { position:relative; display:flex; flex-direction:column; border:1px solid var(--line); background:var(--surface); border-radius:22px; padding:0; min-width:0; scroll-margin-top:24px; box-shadow:var(--card-shadow); }
.quick-card:target { border-color:var(--blue); }
/* The art has a fixed crop; only preview fields truncate, never evidence. */
.quick-card__summary { display:flex; flex-direction:column; flex:1; min-block-size:354px; }
.shelf-art { position:relative; height:160px; flex-shrink:0; overflow:hidden; border-radius:21px 21px 0 0; background:var(--shelf-blue); color:var(--shelf-art-ink); isolation:isolate; }
.shelf-art[data-app="snapseed"] { background:#ffbe00; }
.shelf-art[data-app="organic-maps"] { background:#06272b; }
.shelf-art[data-app="libby"] { background:#ac1d55; }
.shelf-art[data-app="localsend"], .shelf-art[data-app="ticktick"] { background:var(--shelf-purple); }
.shelf-art[data-app="todoist"], .shelf-art[data-app="anylist"] { background:var(--shelf-peach); }
.shelf-art[data-app="reminders"] { background:var(--shelf-yellow); }
.shelf-art > .app-symbol { position:absolute; bottom:12px; left:13px; z-index:2; width:43px; height:43px; border-radius:12px; border:2px solid #ffffffb3; box-shadow:0 4px 12px #0003; }
.quick-card__picks { position:absolute; top:11px; left:11px; right:11px; display:flex; align-items:flex-start; flex-wrap:wrap; gap:6px; z-index:3; min-width:0; pointer-events:none; }
.quick-category { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:99px; padding:4px 8px; background:#fffced; color:#292332; font-size:11px; line-height:16px; font-weight:700; }
.editor-pick { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; background:var(--award-bg); color:var(--award-ink); font-size:11px; line-height:16px; font-weight:700; border-radius:7px; padding:3px 8px; margin:0; width:fit-content; max-width:100%; }
.feature-crown { display:inline-block; width:15px; height:15px; vertical-align:-3px; fill:currentColor; margin-right:2px; }
.editor-pick__date { font-weight:500; }
.shelf-art .editor-pick { border-radius:99px; padding:4px 8px; background:#fffced; color:#292332; font-size:11px; font-weight:750; }
.shelf-art .editor-pick__date { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.quick-card--featured .quick-category { display:none; }
.quick-rank { color:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; }
.shelf-art .quick-rank { position:absolute; z-index:4; bottom:12px; right:11px; display:grid; place-items:center; min-width:29px; min-height:27px; padding:2px 6px; border-radius:9px; background:#242031; color:#fff; font-weight:750; font-size:12px; }

.shelf-orbit { position:relative; width:148px; height:148px; display:grid; place-items:center; margin:6px auto 0; }
.shelf-orbit::before, .shelf-orbit::after { content:""; position:absolute; width:140px; height:140px; border:1px solid currentColor; opacity:.21; border-radius:50%; }
.shelf-orbit::after { width:100px; height:100px; }
.shelf-orbit .app-symbol { position:relative; z-index:1; width:70px; height:70px; border-radius:20px; transform:rotate(-11deg); box-shadow:0 12px 24px #38216535; border:0; }
.shelf-art[data-app="things"] .shelf-orbit .app-symbol, .shelf-art[data-app="anylist"] .shelf-orbit .app-symbol { transform:rotate(10deg); }
.shelf-file { position:absolute; display:grid; place-items:center; width:31px; height:38px; border-radius:6px; background:#fffce8; color:#6645a8; font-size:21px; font-weight:600; left:0; top:27px; transform:rotate(-17deg); box-shadow:0 3px 8px #38216512; }
.shelf-file:last-child { background:#fbae90; color:#4e2b32; left:auto; right:0; top:auto; bottom:20px; transform:rotate(16deg); }
.shelf-copy { display:flex; flex-direction:column; flex:1; min-width:0; padding:12px 13px 10px; }
.quick-card__head { display:flex; gap:8px; align-items:center; margin-bottom:8px; min-width:0; }
.quick-card__head > div { min-width:0; flex:1; }
.quick-card__head h2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quick-card__head h2 { font-size:19px; font-weight:780; letter-spacing:-.045em; line-height:1.15; margin:0 0 3px; }
.quick-card__head .quick-purpose { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:13px; line-height:1.35; color:var(--muted); margin:0; }
.quick-card-note { margin:3px 0 0; color:var(--muted); font-size:13px; line-height:1.35; }
.quick-card__head .app-symbol { width:42px; height:42px; border-radius:12px; flex-shrink:0; }
.quick-ratings { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:6px; font-size:12px; line-height:1.4; }
.quick-ratings > a { flex:1 1 auto; min-width:max-content; position:relative; z-index:3; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0; min-height:40px; border-radius:5px; }
.editorial-score { display:inline-flex; gap:4px; align-items:baseline; color:var(--score-ink); text-decoration:none; white-space:nowrap; }
.editorial-score > span { font-size:12px; font-weight:650; }
.editorial-score strong { font-size:14px; font-weight:750; line-height:1.4; letter-spacing:-.025em; }
.editorial-score small { font-size:12px; font-weight:500; margin-left:1px; }
.store-rating { display:inline-flex; align-items:baseline; gap:4px; text-decoration:none; color:var(--ink); white-space:nowrap; }
.store-rating strong { font-size:14px; line-height:1.4; font-weight:700; }
.store-rating strong small { font-size:12px; font-weight:500; }
.store-rating > span { font-size:12px; color:var(--muted); line-height:1.4; }
.quick-price { display:flex; flex-direction:column; gap:1px; margin:0 0 8px; min-width:0; }
.quick-price__summary { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:5px; }
.quick-price__summary strong { flex-shrink:0; }
.quick-price__note::before { content:"·"; margin-right:5px; }
.quick-price strong { font-size:13px; line-height:1.4; font-weight:650; }
.quick-price span { color:var(--muted); font-size:12px; line-height:1.3; }
.quick-price .quick-price__note { font-size:13px; line-height:1.4; }
.quick-card__summary .quick-get { margin-top:auto; }
.quick-get.button { position:relative; z-index:3; min-height:40px; padding:9px 11px; font-size:13px; width:100%; justify-content:space-between; border-radius:10px; }
.quick-detail-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; margin:0 13px; padding:9px 0; color:var(--muted); font-size:13px; font-weight:600; line-height:1.4; text-decoration:none; }
/* One Details link covers the card; distinct rating/store controls stay above it. */
.quick-detail-link::after { content:""; position:absolute; inset:0; z-index:2; border-radius:inherit; }
.quick-detail-link:hover { color:var(--blue); text-decoration:underline; }
.quick-detail-link:focus-visible { outline:none; }
.quick-detail-link:focus-visible::after { outline:3px solid var(--blue); outline-offset:5px; border-radius:22px; }
.quick-detail-link > span[aria-hidden] { font-size:16px; font-weight:500; }
.score-breakdown { display:grid; gap:12px; margin:18px 0; }
.score-breakdown > div { background:var(--surface-soft); border-radius:10px; padding:12px; }
.score-breakdown dt { display:flex; justify-content:space-between; gap:8px; font-weight:650; font-size:12px; }
.score-breakdown dd { margin:5px 0 0; font-size:12px; color:var(--muted); }
.shelf-discovery-nav { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:16px; margin-top:24px; }
.shelf-top-link { display:flex; flex-wrap:wrap; min-width:0; overflow-wrap:anywhere; align-items:center; justify-content:space-between; gap:20px; padding:24px; min-height:133px; border-radius:22px; background:var(--ink); color:var(--bg); text-decoration:none; }
.shelf-top-link:hover { background:var(--action); color:var(--action-ink); }
.shelf-top-link h2, .shelf-top-link strong { display:block; font-size:27px; font-weight:760; line-height:1.1; letter-spacing:-.05em; }
.shelf-top-link p, .shelf-top-link span:not(.app-symbol):not(.shelf-icon-stack) { font-size:12px; line-height:1.4; }
.shelf-top-link p { margin-top:8px; opacity:.8; }
.shelf-top-link small { display:block; font-size:11px; margin-top:4px; opacity:.8; }
.shelf-icon-stack { display:flex; align-items:center; flex-shrink:0; padding-right:7px; }
.shelf-icon-stack .app-symbol { width:47px; height:47px; border-radius:13px; border:3px solid var(--ink); margin-right:-8px; box-shadow:none; }
.shelf-top-link:hover .app-symbol { border-color:var(--action); }
.shelf-categories > .text-link { display:inline-flex; min-height:40px; align-items:center; margin-top:8px; font-size:12px; }
.shelf-categories { min-width:0; overflow-wrap:anywhere; border:1px solid var(--line); border-radius:22px; padding:20px; }
.shelf-categories h2 { font-size:16px; line-height:1.3; letter-spacing:-.025em; font-weight:750; margin-bottom:11px; }
.shelf-category-links { display:flex; flex-wrap:wrap; gap:7px; }
.shelf-category-links a { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:7px 12px; border-radius:99px; background:var(--surface); color:var(--ink); font-size:11px; line-height:1.4; font-weight:650; text-decoration:none; }
.shelf-category-links a:hover { background:var(--surface-hover); color:var(--blue); }
.shelf-category-links small { display:inline-grid; place-items:center; min-width:18px; height:18px; border-radius:50%; background:var(--surface-soft); font-size:11px; }
.shelf-trust { display:flex; flex-wrap:wrap; justify-content:space-between; gap:7px 18px; margin-top:22px; font-size:11px; line-height:1.5; color:var(--muted); }
.shelf-trust a { color:var(--blue); }
.quick-next { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:32px 0 10px; }
.quick-next a { display:flex; flex-direction:column; gap:7px; padding:20px 0; border-top:1px solid var(--line); text-decoration:none; }
.quick-next strong { font-size:22px; letter-spacing:-.03em; }
.quick-next span { font-size:13px; color:var(--muted); }
.list-method { margin-top:16px; max-width:650px; font-size:12px; line-height:1.7; }
.list-method summary { cursor:pointer; color:var(--blue); text-decoration:underline; text-underline-offset:3px; width:fit-content; padding:8px 0; }
.list-method p { color:var(--muted); margin:8px 0; }
.guide-link { margin:30px 0 0; padding:20px 0; border-top:1px solid var(--line); font-size:14px; }
.quick-head .category-nav { margin-top:24px; }
.top-categories { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.top-categories a { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:9px 16px; border:1px solid var(--line); border-radius:24px; background:var(--surface); color:var(--ink); font-size:13px; text-decoration:none; }
.top-categories a:hover { border-color:var(--blue); color:var(--blue); }
.back-link { font-size:12px; text-decoration:none; display:inline-block; margin-bottom:18px; color:var(--muted); }
.weekly-row { display:flex; justify-content:space-between; gap:25px; padding:28px 0; border-top:1px solid var(--line); text-decoration:none; }
.weekly-row h2 { font-size:25px; letter-spacing:-.035em; margin:10px 0; }
.weekly-row p:not(.eyebrow) { font-size:14px; color:var(--muted); line-height:1.5; max-width:670px; }
.weekly-row > span { font-size:28px; }
.issue-note { font-size:12px; color:var(--muted); margin-top:26px; }
.issue-note summary { cursor:pointer; padding:10px 0; }
.issue-note p { max-width:750px; line-height:1.6; margin-top:10px; }
.legacy-stories .item { margin-top:20px; }
.page-selection .topic-grid { margin-bottom:50px; }
@media (max-width:999px) {
 .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .shelf-art { height:160px; }
 .quick-card__summary { min-block-size:362px; }
}
@media (max-width:680px) {
 .quick-head { padding-top:28px; padding-bottom:24px; }
 .quick-head h1 { font-size:38px; max-width:330px; }
 .quick-head > p:not(.eyebrow):not(.quick-trust) { font-size:15px; }
 .quick-trust { font-size:11px; gap:5px 10px; margin-top:15px; }
 .shelf-heading { display:block; padding:20px 0 23px; }
 .shelf-heading h1 { font-size:44px; max-width:390px; }
 .shelf-date { text-align:left; margin-top:12px; font-size:11px; }
 .shelf-date span { display:block; }
 .quick-grid { gap:12px; }
 .shelf-discovery-nav { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:20px; }
 .shelf-top-link { min-height:108px; padding:20px; }
 .shelf-top-link h2, .shelf-top-link strong { font-size:25px; }
 .shelf-categories { padding:18px; }
 .shelf-category-links a { min-height:40px; }
 .quick-next { grid-template-columns:1fr; gap:0; }
 .quick-next a { padding:19px 0; }
 .quick-page .category-nav { gap:7px; }
 .quick-page .category-nav a { padding:9px 12px; font-size:13px; }
 .masthead__inner { gap:8px; }
 .mainnav ul { gap:2px; }
}
@media (min-width:380px) and (max-width:520px) {
 .quick-grid { gap:11px; }
 .quick-card { border-radius:18px; }
 .shelf-art { height:140px; border-radius:17px 17px 0 0; }
 .shelf-orbit { width:132px; height:132px; margin-top:4px; }
 .shelf-orbit::before { width:126px; height:126px; }
 .shelf-orbit::after { width:96px; height:96px; }
 .shelf-orbit .app-symbol { width:60px; height:60px; border-radius:17px; }
 .shelf-file { width:27px; height:34px; font-size:18px; top:23px; }
 .shelf-file:last-child { bottom:18px; }
 .shelf-art > .app-symbol { width:37px; height:37px; border-radius:11px; bottom:10px; left:10px; }
 .quick-card__picks { left:8px; right:8px; top:9px; }
 .shelf-art .editor-pick, .quick-category { font-size:11px; padding:4px 7px; }
 .shelf-art .quick-rank { right:8px; bottom:12px; min-width:23px; font-size:11px; }
 .shelf-copy { padding:11px 10px 8px; }
 .quick-card__head h2 { font-size:17px; }
 .quick-detail-link { margin-inline:10px; }
 .quick-detail-link:focus-visible::after { border-radius:18px; }
 .quick-get.button { padding:9px 8px; gap:6px; }
}
@media (max-width:379px) {
 .quick-grid { grid-template-columns:1fr; }
 .shelf-heading h1 { font-size:38px; }
 .shelf-art { height:160px; }
 .quick-card__summary { min-block-size:362px; }
 .shelf-icon-stack .app-symbol { width:37px; height:37px; border-radius:11px; }
 .shelf-top-link { gap:12px; padding:19px; }
 .shelf-top-link h2, .shelf-top-link strong { font-size:23px; }
}


/* App details live on their own page so browsing never expands the shelf. */
.app-page { max-width:1080px; padding-top:16px; padding-bottom:52px; }
.app-page > .back-link { display:inline-flex; align-items:center; min-height:44px; margin-bottom:12px; font-size:13px; }
.app-detail { min-width:0; }
.app-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.7fr); align-items:center; gap:36px; padding:28px; border:1px solid var(--line); border-radius:28px; background:var(--surface); }
.app-detail-intro { min-width:0; }
.app-detail-intro > .eyebrow { margin-bottom:20px; font-size:11px; line-height:1.5; color:var(--muted); }
.app-detail-identity { display:flex; align-items:center; gap:16px; }
.app-detail-identity > div { min-width:0; }
.app-detail-identity .app-symbol { width:64px; height:64px; border-radius:18px; }
.app-detail-identity h1 { font-size:clamp(32px,4.4vw,50px); line-height:1.05; letter-spacing:-.055em; }
.app-detail-purpose { margin-top:6px; font-size:14px; line-height:1.5; color:var(--muted); }
.app-detail-benefit { max-width:48ch; margin-top:20px; font-size:18px; line-height:1.5; letter-spacing:-.015em; }
.app-detail-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:22px; }
.app-current-link { display:inline-flex; align-items:center; min-height:44px; gap:8px; margin-top:12px; font-size:13px; line-height:1.5; color:var(--blue); text-underline-offset:3px; }
.app-detail-actions .text-link { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.app-detail-hero > .shelf-art { height:260px; min-width:0; border-radius:19px; }
.app-detail-hero .shelf-orbit { width:220px; height:220px; margin:20px auto 0; }
.app-detail-hero .shelf-orbit::before { width:205px; height:205px; }
.app-detail-hero .shelf-orbit::after { width:150px; height:150px; }
.app-detail-hero .shelf-orbit .app-symbol { width:95px; height:95px; border-radius:26px; }
.app-detail-hero .shelf-file { left:4px; top:38px; width:38px; height:46px; font-size:25px; }
.app-detail-hero .shelf-file:last-child { left:auto; right:4px; top:auto; bottom:28px; }
.app-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:20px; margin-top:24px; }
.app-essentials,.app-score-panel { min-width:0; padding:26px; border:1px solid var(--line); border-radius:22px; background:var(--surface); }
.app-detail h2,.app-score-panel > h3 { font-size:23px; line-height:1.2; letter-spacing:-.035em; }
.app-essentials > h2,.app-score-panel > h2 { margin-bottom:18px; }
.app-price { display:grid; gap:6px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.app-price > h3 { font-size:15px; line-height:1.4; font-weight:650; }
.app-plans { display:grid; gap:8px; margin:8px 0 0; }
.app-plans > div { min-width:0; padding:12px 14px; border-radius:12px; background:var(--surface-soft); }
.app-plans dt { font-size:13px; font-weight:650; line-height:1.5; }
.app-plans dd { margin:3px 0 0; }
.app-plans dd > strong { display:block; font-size:17px; line-height:1.5; overflow-wrap:anywhere; }
.app-plans dd > p { margin-top:5px; font-size:12px; line-height:1.5; color:var(--muted); }
.app-pricing-notes > summary { min-height:44px; font-size:12px; color:var(--muted); }
.app-pricing-notes > p { font-size:13px; line-height:1.6; margin-top:5px; }
.app-price > strong { font-size:18px; line-height:1.45; letter-spacing:-.015em; }
.app-price > span { color:var(--muted); font-size:12px; line-height:1.5; }
.app-caveat { margin:0 0 18px; font-size:14px; line-height:1.6; }
.app-caveat strong { font-weight:650; }
.app-store-rating { display:grid; gap:5px; margin-top:20px; padding:16px 18px; border-radius:14px; background:var(--surface-soft); font-size:12px; line-height:1.6; color:var(--muted); }
.app-store-rating > strong { color:var(--ink); font-size:23px; line-height:1.25; letter-spacing:-.035em; }
.app-store-rating a { color:var(--blue); }
.app-essentials > p:not(.app-caveat) { margin-top:18px; font-size:13px; line-height:1.6; color:var(--muted); }
.app-detail .score-basis { margin-top:10px; font-size:12px; line-height:1.6; color:var(--muted); }
.app-score-panel .score-breakdown { margin:18px 0 0; gap:10px; }
.app-score-panel .score-breakdown > div { padding:12px 14px; }
.app-score-panel .score-breakdown dt { font-size:13px; }
.app-score-panel .score-breakdown dd { line-height:1.55; }
.app-score-panel > .editor-pick { margin-top:20px; }
.app-score-panel > p:not(.score-basis):not(.editor-pick) { margin-top:14px; font-size:13px; line-height:1.6; }
.app-evidence { max-width:74ch; margin:32px auto 0; padding-top:28px; border-top:1px solid var(--line); font-size:15px; line-height:1.75; }
.app-evidence > summary { min-height:48px; padding-block:8px; font-size:17px; line-height:1.6; font-weight:650; color:var(--blue); }
.app-evidence[open] > summary { margin-bottom:12px; }
.app-evidence h3 { margin:22px 0 12px; font-size:17px; letter-spacing:-.02em; }
.app-evidence .facts { padding-left:21px; }
.app-evidence .facts li { margin-bottom:15px; }
.app-evidence > p { margin-top:16px; }
.app-evidence .text-link { display:inline-flex; align-items:center; min-height:44px; margin-top:10px; }
.app-evidence .refs { white-space:normal; }
.app-sources { max-width:74ch; margin:26px auto 0; border-top:1px solid var(--line); padding-top:8px; }
.app-sources > summary { font-size:14px; min-height:48px; }
.app-sources .sources { padding:12px 0 4px 20px; font-size:12px; line-height:1.7; color:var(--muted); }
.app-sources .sources li { padding-block:7px; }
.app-sources .sources a { color:var(--blue); }
@media(max-width:760px) {
 .app-detail-hero { gap:24px; padding:22px; grid-template-columns:minmax(0,1fr) minmax(210px,.65fr); }
 .app-detail-identity { align-items:flex-start; gap:12px; }
 .app-detail-identity .app-symbol { width:54px; height:54px; border-radius:16px; }
 .app-detail-hero .shelf-orbit { width:200px; height:200px; margin-top:30px; }
 .app-detail-grid { gap:16px; }
 .app-essentials,.app-score-panel { padding:22px; }
}
@media(max-width:600px) {
 .app-page { padding-top:8px; padding-bottom:36px; }
 .app-detail-hero { grid-template-columns:1fr; gap:0; padding:18px 20px; border-radius:22px; }
 .app-detail-intro > .eyebrow { margin-bottom:13px; font-size:12px; }
 .app-detail-identity { align-items:center; }
 .app-detail-identity h1 { font-size:34px; }
 .app-detail-benefit { font-size:16px; margin-top:14px; }
 .app-detail-actions { gap:0 12px; margin-top:8px; margin-left:-10px; }
 .app-detail-hero > .shelf-art { display:none; }
 .app-detail-grid { grid-template-columns:1fr; margin-top:16px; }
 .app-essentials,.app-score-panel { padding:22px 20px; border-radius:20px; }
 .app-evidence { margin-top:26px; padding-top:24px; font-size:14px; }
 .app-sources { margin-top:22px; }
}

/* Category surfaces stay consistent between Weekly, Top, and Explore. */
.topic-strip a[data-topic="everyday"],
.category-nav a[data-topic="everyday"]:not([aria-current="page"]) {
  background:var(--everyday);
}
.topic-strip a[data-topic="create"],
.category-nav a[data-topic="create"]:not([aria-current="page"]) {
  background:var(--create);
}
.topic-strip a[data-topic="go-places"],
.category-nav a[data-topic="go-places"]:not([aria-current="page"]) {
  background:var(--go-places);
}
.topic-strip a[data-topic="unwind"],
.category-nav a[data-topic="unwind"]:not([aria-current="page"]) {
  background:var(--unwind);
}
.quick-card:focus-within {
  border-color:var(--blue);
}

/* A native select keeps the theme control accessible and small. */
.theme-control {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  font-weight:550;
  color:var(--muted);
  white-space:nowrap;
}
.theme-control[hidden] {
  /* Reserve the same space before the preference script connects. */
  display:flex;
  visibility:hidden;
}
.theme-control select {
  min-height:44px;
  width:8em;
  max-width:100%;
  padding:0 32px 0 14px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--control-line);
  border-radius:24px;
  background:var(--surface);
  color:var(--ink);
  font:500 12px var(--font);
  cursor:pointer;
}
.theme-control select:hover {
  border-color:var(--blue);
}
.theme-control option {
  background:var(--surface);
  color:var(--ink);
}

@media(max-width:680px) {
  .masthead__inner {
    gap:6px 12px;
    padding-top:12px;
    padding-bottom:8px;
  }
  .masthead__inner>.wordmark {
    grid-column:1;
    grid-row:1;
  }
  .theme-control {
    margin-left:auto;
  }
  .mainnav {
    flex:1 0 100%;
    min-width:0;
    order:2;
  }
  .mainnav ul {
    justify-content:space-between;
    gap:6px;
  }
  .mainnav li {
    flex:1 1 auto;
  }
  .mainnav a {
    justify-content:center;
    padding:9px 12px;
    font-size:12px;
  }
}

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .quick-card {
    transition:transform 160ms,border-color 160ms,box-shadow 160ms;
  }
  .quick-card:hover {
    transform:translateY(-2px);
    border-color:var(--blue);
    box-shadow:0 8px 22px #32214c12;
  }
}

/* A padded decorative chevron keeps the native theme select operable. */
.theme-select { position:relative; display:inline-flex; color:var(--ink); }
.theme-select::after { content:""; position:absolute; right:15px; top:calc(50% - 5px); width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); pointer-events:none; }
@media (forced-colors:active) {
 .theme-control select { appearance:auto; -webkit-appearance:auto; padding-right:10px; }
 .theme-select::after { display:none; }
}
/* Devices are a separate browsing axis from editorial task categories. */
.platform-nav { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:24px 0; }
.platform-nav > span { font-size:12px; font-weight:650; color:var(--muted); }
.platform-nav > div { display:flex; flex-wrap:wrap; gap:8px; }
.platform-nav a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:9px 14px; border:1px solid var(--control-line); border-radius:99px; background:var(--surface); color:var(--ink); font-size:13px; font-weight:650; text-decoration:none; }
.platform-nav a small { color:var(--muted); font-weight:500; }
.platform-nav a:hover { border-color:var(--action); }
.platform-nav a[aria-current] { background:var(--action); color:var(--action-ink); border-color:var(--action); }
.platform-nav a[aria-current] small { color:inherit; }
.app-platforms { border-top:1px solid var(--line); margin-top:18px; padding-top:18px; scroll-margin-top:24px; }
.app-platforms h2 { font-size:13px; letter-spacing:0; margin:0 0 10px; color:var(--muted); }
.app-platform-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; list-style:none; padding:0; margin:0; }
.app-platform-links a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; min-height:44px; border-radius:10px; border:1px solid var(--control-line); color:var(--ink); text-decoration:none; font-weight:650; font-size:14px; }
.app-platform-links a:hover { border-color:var(--action); color:var(--action); }
.app-platform-links small { display:block; font-size:12px; line-height:1.4; color:var(--muted); padding:5px 2px 0; }
.platform-sources { margin-top:10px; color:var(--muted); font-size:12px; }
.platform-sources summary { padding-block:10px; min-height:44px; }
.platform-sources ul { padding-left:18px; }
.platform-sources li { margin-bottom:8px; }
.quick-card--platform .quick-card__summary { min-block-size:320px; }
.quick-card--platform .platform-note { margin:0 0 10px; font-size:12px; line-height:1.4; color:var(--muted); }
.platform-check { margin:auto 0 10px; padding-top:6px; color:var(--muted); font-size:11px; line-height:1.4; }
@media(max-width:379px) { .app-platform-links { grid-template-columns:1fr; } }

/* Primary sections share their intro and device-navigation geometry. */
.browse-head { padding:22px 0 24px; }
.browse-head__intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.65fr); align-items:end; gap:9px 32px; }
.browse-head .eyebrow { grid-column:1 / -1; color:var(--blue); font-size:11px; font-weight:750; line-height:1.6; text-transform:uppercase; letter-spacing:.1em; }
.browse-head h1 { font-size:clamp(40px,4.8vw,59px); font-weight:820; line-height:1.04; letter-spacing:-.065em; margin:0; min-block-size:2.08em; }
.browse-head__description { margin:0; padding-bottom:4px; color:var(--muted); font-size:12px; line-height:1.5; text-align:right; }
.browse-head__description span { display:block; }
.browse-head > .platform-nav { margin:24px 0 0; }
.top-tools { padding-bottom:28px; }
.top-tools .top-categories { margin-top:0; }
@media(max-width:680px) {
 .browse-head { padding-top:20px; }
 .browse-head__intro { grid-template-columns:minmax(0,1fr); gap:9px; }
 .browse-head h1 { font-size:38px; }
 .browse-head__description { padding:3px 0 0; min-block-size:4.5em; text-align:left; }
}

/* Recovery links stay useful at unknown nested URLs. */
.not-found { padding-block:clamp(48px,12vh,128px); }
.not-found section { max-width:760px; }
.not-found h1 { margin-block:16px 24px; }
.not-found nav { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

/* Original editorial typography, visually distinct from product icons. */
.app-symbol.editorial-monogram { background:var(--ink); color:var(--bg); border:0; border-radius:50%; font-family:Georgia,serif; font-weight:700; font-style:italic; box-shadow:none; }
.shelf-art[data-app="snapseed"] { background:var(--shelf-peach); }
.shelf-art[data-app="organic-maps"] { background:var(--shelf-blue); }
.shelf-art[data-app="libby"] { background:var(--shelf-purple); }
.shelf-orbit .editorial-monogram { font-size:36px; border-radius:50%; transform:rotate(-8deg); }
.shelf-art .editor-pick { white-space:normal; overflow:visible; line-height:1.3; max-width:100%; border-radius:10px; }
.editor-pick__label { font-weight:750; }
.shelf-art .editor-pick__label { display:inline; }
.quick-ratings .score-method { display:block; font-size:10px; font-weight:400; line-height:1.3; }
.app-detail-actions .app-store-link { gap:16px; min-height:46px; }
.app-detail-hero .shelf-orbit .editorial-monogram { border-radius:50%; font-size:48px; }
@media(max-width:600px) { .shelf-orbit .editorial-monogram { font-size:30px; } }

.quick-ratings > a { justify-content:flex-start; }
