:root{--ink:#202b3b;--muted:#5c697a;--blue:#245acb;--line:#dce3eb;--paper:#fff;--soft:#f3f6fa;--radius:16px;--body:1rem}*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:var(--body);line-height:1.9;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:4px}header{border-bottom:1px solid var(--line);background:#fff}.header-inner,.main-nav,main,footer{max-width:1080px;margin:auto}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:23px 32px 10px;gap:20px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:1.2rem;font-weight:750;letter-spacing:.015em}.brand-mark{display:grid;place-items:center;background:var(--blue);color:white;width:34px;height:34px;border-radius:9px;font-size:1.2rem;flex-shrink:0}.brand-note{font-size:.875rem;color:var(--muted)}.main-nav{display:flex;gap:26px;flex-wrap:wrap;padding:0 32px;font-size:.875rem}.main-nav a{display:inline-flex;align-items:center;min-height:48px;border-bottom:3px solid transparent}.main-nav a[aria-current]{color:var(--blue);border-color:var(--blue);font-weight:700}main{padding:0 32px}h1,h2,h3,p{margin-top:0}h1{line-height:1.5;letter-spacing:.005em;font-weight:750}h2,h3{line-height:1.6}.eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.875rem;font-weight:650;color:var(--blue)}.eyebrow span{color:var(--muted);font-weight:400}.hero{padding:45px 0 32px;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(1.75rem,3.6vw,2.7rem);margin:10px 0 15px}.hero p{color:var(--muted);margin:0 0 14px;max-width:650px}.subtle-link{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-size:.875rem}.reviews{padding:30px 0 70px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:20px}.section-heading h2{font-size:1.35rem;margin:0}.section-heading>span{font-size:.8125rem;color:var(--muted)}.review-card{display:grid;grid-template-columns:minmax(180px,31%) 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 5px 18px #15243b06;background:white}.review-card+.review-card{margin-top:22px}.card-visual{display:block;background:var(--soft)}.photo{height:100%;min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;padding:24px;background:var(--soft);color:var(--muted)}.photo strong{font-size:.9375rem;font-weight:500}.photo span{font-size:.8125rem}.card-body{padding:28px 32px}.card-body h3{font-size:1.6rem;margin:8px 0 10px}.card-body p{color:var(--muted);margin-bottom:20px;max-width:570px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:46px;border-radius:8px;padding:9px 18px;background:var(--blue);color:white;font-size:.9375rem;font-weight:600}.text-link:hover{background:#1745a4;color:white}.review-card:focus-within{border-color:var(--blue)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;padding:22px 0 10px;font-size:.8125rem;color:var(--muted)}.breadcrumbs a{padding:6px 0}.breadcrumbs span{align-self:center}.article-head{max-width:740px;margin:18px auto 24px}.article-head h1{font-size:clamp(1.75rem,3.5vw,2.5rem);margin:12px 0 16px;line-height:1.45}.article-subtitle{display:block;font-size:clamp(1.25rem,2vw,1.6rem);margin-top:9px;line-height:1.7;font-weight:650}.muted{color:var(--muted);font-size:.875rem}.article-layout{max-width:740px;margin:auto;padding-bottom:70px}.article-body section{margin-bottom:42px;scroll-margin-top:24px}.article-body h2,.prose h2{font-size:1.4rem;border-bottom:1px solid var(--line);padding-bottom:14px;margin:0 0 22px}.article-body h2:before{content:'';display:inline-block;width:4px;height:20px;border-radius:2px;background:var(--blue);margin-right:12px;vertical-align:-2px}.article-body p,.prose p{line-height:2;margin-bottom:20px}.article-body #conclusion{margin-bottom:20px}.conclusion{background:#f0f5ff;border:1px solid #d8e5ff;border-radius:var(--radius);padding:26px 30px}.lead{font-size:1.3rem;font-weight:650;line-height:1.8!important;margin-bottom:20px}.conclusion dl{margin:0}.conclusion dt{font-size:.875rem;color:var(--blue);font-weight:700;margin-top:17px}.conclusion dd{margin:4px 0 0;font-size:.9375rem}.review-status{font-size:.875rem;color:var(--muted);line-height:1.9;margin:20px 0}.toc{border:1px solid var(--line);border-radius:10px;margin:25px 0 40px;padding:0;background:white}.toc summary{padding:16px 20px;cursor:pointer;font-weight:650;min-height:56px}.toc summary span{font-weight:400;color:var(--muted);font-size:.875rem;margin-left:12px}.toc ol{padding:0 20px 16px 44px;margin:0;font-size:.9375rem}.toc li a{display:block;padding:9px 4px;min-height:44px}.article-photo{margin-bottom:35px}.article-photo .photo{border-radius:var(--radius)}.tag{display:inline-block;font-size:.8125rem;padding:4px 12px;background:#eef4ff;color:var(--blue);border-radius:6px;margin-bottom:14px}.tag.neutral{background:var(--soft);color:var(--muted)}.table-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:8px 0 18px}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9375rem}th,td{vertical-align:top;border-bottom:1px solid var(--line);padding:16px}tr:last-child th,tr:last-child td{border-bottom:0}th{background:var(--soft);width:35%;font-weight:600}thead th{background:#eaf0f8;border-bottom:1px solid var(--line)!important}.notice{font-size:.9375rem;background:var(--soft);border-left:3px solid #7d90ab;border-radius:0 8px 8px 0;padding:22px;margin:24px 0}.article-body details:not(.toc){border-bottom:1px solid var(--line);padding:0}.article-body details:not(.toc) summary{cursor:pointer;font-weight:600;padding:18px 2px;min-height:54px}.article-body details:not(.toc) p{padding:0 2px 10px;color:var(--muted);font-size:.9375rem}.shops{display:grid;gap:12px;margin-bottom:16px}.shop{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;font:inherit;font-size:.9375rem;border:1px solid var(--line);border-radius:9px;padding:15px 18px;min-height:52px;background:var(--soft)}.shop:disabled{color:var(--muted);opacity:1;cursor:not-allowed}.shop span{font-size:.8125rem}.shop[href]{background:var(--blue);color:white}.back-link{display:inline-flex;min-height:48px;align-items:center;color:var(--blue);font-size:.9375rem}.fine{font-size:.8125rem;color:var(--muted);line-height:1.9}.fine a,.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.page-head{padding-top:28px}.page-head h1{font-size:2rem;margin:12px 0}.empty{background:var(--soft);padding:32px;border-radius:var(--radius)}.empty h2{font-size:1.3rem}.prose{max-width:740px;margin:28px auto 75px}.prose h1{font-size:2rem;margin:14px 0 30px}.prose h2{margin-top:40px}.prose li{padding-bottom:12px}.prose ul{padding-left:24px}footer{border-top:1px solid var(--line);padding:30px 32px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top .brand{font-size:1rem}.footer-top p{font-size:.875rem;color:var(--muted);margin:0}.footer-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin:20px 0 14px;font-size:.875rem}.footer-links a{display:inline-flex;align-items:center;min-height:44px}footer .fine{margin-bottom:8px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}figure{margin:0}img{display:block;max-width:100%;height:auto}figcaption{font-size:.8125rem;color:var(--muted);padding:8px}.mobile{display:none}@media(max-width:640px){.header-inner{padding:18px 20px 6px}.brand{font-size:1.0625rem}.brand-note{display:none}.main-nav{padding:0 20px;gap:22px;font-size:.875rem}.main-nav a{min-height:46px}main{padding:0 20px}.hero{padding:28px 0 22px}.hero h1{font-size:1.85rem;max-width:13em;line-height:1.6}.hero p{font-size:.9375rem}.hero .eyebrow{font-size:.8125rem}.reviews{padding:25px 0 45px}.section-heading h2{font-size:1.25rem}.section-heading>span{font-size:.75rem}.review-card{grid-template-columns:1fr}.photo{min-height:116px;padding:20px}.card-body{padding:22px}.card-body h3{font-size:1.45rem}.card-body p{font-size:.9375rem;margin-bottom:16px}.text-link{display:flex;width:100%}.article-head{margin-top:16px}.article-head h1{font-size:1.8rem}.article-subtitle{font-size:1.2rem}.article-head .muted{font-size:.8125rem}.breadcrumbs{font-size:.75rem;padding-top:14px}.article-body h2,.prose h2{font-size:1.2rem}.conclusion{padding:21px}.lead{font-size:1.15rem}.article-body section{margin-bottom:34px}.toc{margin:20px 0 32px}.toc summary{padding:14px 16px}.toc summary span{font-size:.8125rem}.notice{padding:18px;font-size:.875rem}th,td{padding:12px 10px}table{font-size:.875rem}.article-layout{padding-bottom:40px}.prose h1{font-size:1.6rem}.prose{margin-top:20px}.footer-top{display:block}.footer-top p{margin-top:10px}footer{padding:25px 20px}.footer-links{display:flex;flex-direction:column;gap:0}.footer-links a{min-height:44px}.shop{font-size:.875rem}.page-head h1{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.article-body h3{font-size:1.125rem;margin:28px 0 10px;line-height:1.8}.article-body ul{padding-left:24px}.article-body li{margin-bottom:12px}.author-link{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.author-profile{display:flex;gap:18px;align-items:center;margin:22px 0}.author-profile img,.author-card img{flex-shrink:0;border-radius:14px}.author-profile strong{display:block;font-size:1.25rem}.author-profile span{display:block;color:var(--muted);font-size:.875rem}.author-card{display:flex;align-items:flex-start;gap:16px;background:var(--soft);border-radius:12px;padding:22px;margin:30px 0 20px}.author-card p{font-size:.875rem;color:var(--muted);margin:8px 0 0}.author-card a{font-size:.9375rem;font-weight:600}
.efficiency-point{margin:24px 0;border:2px solid #245acb;border-radius:14px;padding:22px 26px;background:#fff}.efficiency-label{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:.9375rem;font-weight:750;margin-bottom:14px}.efficiency-label img{border-radius:8px}.article-body .efficiency-point .efficiency-title{font-size:1.15rem;font-weight:700;line-height:1.75;margin-bottom:10px}.article-body .efficiency-point p:last-child{font-size:.9375rem;margin-bottom:0}@media(max-width:640px){.efficiency-point{padding:20px}.article-body .efficiency-point .efficiency-title{font-size:1.0625rem}}
/* Editorial review: quick verdict, concrete scenes, readable detail. */
.article-intro{margin:0 0 28px}.article-intro p{font-size:1.0625rem}.verdict-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.verdict-label{display:block;font-size:.875rem;font-weight:750;color:var(--blue);margin-bottom:8px}.verdict-grid p{font-size:.9375rem;margin:0}.verdict-caution{border-left:1px solid #c3d2e9;padding-left:20px}.verdict-caution .verdict-label{color:#805119}.article-body .verdict-bottom{border-top:1px solid #c3d2e9;padding-top:18px;margin:20px 0 0;font-size:.9375rem}.device-group{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 10px}.device-group span{background:#edf3ff;border:1px solid #d6e3fb;color:#234c9d;border-radius:8px;padding:8px 12px;font-size:.875rem;font-weight:650}.experience-block{position:relative;margin:28px 0 32px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(120deg,#f6f9ff,#fff 65%)}.experience-number{font-size:.875rem;font-weight:750;color:var(--blue);letter-spacing:.1em}.article-body .experience-block h3{margin:8px 0 14px;font-size:1.2rem}.article-body .experience-block p:last-child{margin-bottom:0}.scene-table caption{text-align:left;padding:12px 16px;color:var(--muted);font-size:.875rem;background:#fff}.scene-table td span{display:block;font-size:.8125rem;color:var(--muted);margin-top:6px}.scene-table strong{font-weight:600}.official-note{padding:22px;background:var(--soft);border-radius:12px;margin:0 0 36px}.official-note p{font-size:.9375rem}.official-note a{font-size:.875rem;color:var(--blue);text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:8px 0;min-height:44px}.article-body #buy{background:#f1f5fc;border:1px solid #d9e3f3;border-radius:16px;padding:26px}.article-body #buy h2{border:0;padding-bottom:0}.article-body #buy p:last-child{margin-bottom:0}.shop[href]:hover{background:#1745a4;color:white}.article-body strong{font-weight:700}#scenes{margin-top:32px}
@media(max-width:640px){.verdict-grid{grid-template-columns:1fr;gap:18px}.verdict-caution{border-left:0;border-top:1px solid #c3d2e9;padding:16px 0 0}.article-intro p{font-size:1rem}.experience-block{padding:20px;margin:22px 0}.article-body .experience-block h3{font-size:1.125rem}.article-body #buy{padding:20px}.device-group span{flex:1 1 120px;text-align:center}.scene-table th{width:37%}.official-note{padding:20px}}
.ad-disclosure{font-size:.875rem!important;line-height:1.8!important;color:#354459;background:#f0f3f7;border:1px solid #ced7e3;border-radius:8px;padding:12px 14px;margin:0 0 18px}.ad-disclosure strong{display:inline-block;background:#354459;color:#fff;padding:2px 8px;border-radius:4px;margin-right:8px;font-size:.875rem}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-grid figure:first-child{grid-column:1/-1}.photo-grid img{width:100%;border-radius:12px;aspect-ratio:1;object-fit:cover;object-position:center 40%}.photo-grid figure:first-child img{aspect-ratio:1;object-position:center 45%}.photo-grid figcaption{padding:9px 2px}.card-visual figure{height:100%}.card-visual img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.card-visual figcaption{display:none}caption{text-align:left;padding:12px 16px;font-size:.875rem;font-weight:650}@media(max-width:640px){.card-visual{height:240px}.photo-grid{gap:12px}.photo-grid figcaption{font-size:.8125rem}.ad-disclosure{padding:10px 12px}}
/* Selected background-edited photos retain their full product framing. */
.photo-grid img,.photo-grid figure:first-child img{aspect-ratio:4/3;object-fit:contain;background:#eef0f3}.card-visual{background:#eef0f3}.card-visual img{object-fit:contain;object-position:center}
/* Quiet editorial theme: open text, a single signature callout. */
:root{--ink:#292722;--muted:#69665f;--blue:#ad4517;--line:#e5e3df;--soft:#f5f5f3;--radius:10px;--accent:#b84b16;--accent-soft:#fff5ec}
header{border-bottom-color:var(--line)}.eyebrow{color:var(--muted)}.main-nav a[aria-current]{color:var(--ink);border-color:var(--accent)}.hero{padding-top:40px}.hero h1{letter-spacing:.025em}.review-card{border:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line);padding-bottom:28px;gap:28px}.card-visual{border-radius:10px;overflow:hidden}.card-body{padding:12px 0}.card-body h3{font-size:1.65rem}.text-link{border-radius:6px;background:var(--accent)}.text-link:hover,.shop[href]:hover{background:#883711}.article-body h2,.prose h2{border-bottom:0;padding:0;margin-bottom:24px;font-weight:750;letter-spacing:.01em}.article-body h2:before{display:none}.article-body section{margin-bottom:52px}.article-body h3{font-weight:700}.article-intro{margin-bottom:34px}.conclusion{background:none;border:0;border-radius:0;padding:0}.conclusion .lead{font-size:1.5rem}.verdict-grid{gap:26px}.verdict-label{color:var(--ink)}.verdict-caution{border-color:var(--line)}.verdict-caution .verdict-label{color:var(--ink)}.article-body .verdict-bottom{border-color:var(--line)}.efficiency-point{border:0;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0;padding:26px 28px;margin:32px 0}.efficiency-label{color:#843c19}.device-group span{border:0;border-radius:0;padding:4px 0;background:none;color:var(--ink);font-weight:500}.device-group{display:grid;gap:2px}.toc{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}.toc summary{padding-left:0}.experience-block{border:0;background:none;border-radius:0;padding:0;margin:32px 0}.experience-block+.experience-block{border-top:1px solid var(--line);padding-top:28px}.experience-number{color:var(--muted);font-weight:500}.article-body .experience-block h3{font-size:1.25rem;margin-top:4px}.tag,.tag.neutral{background:var(--soft);color:var(--muted);border-radius:3px}.table-wrap{border-left:0;border-right:0;border-radius:0}.table-wrap th{background:#f5f5f3}.table-wrap thead th{background:#efefec}.notice{background:none;border-left:2px solid #aaa69c;border-radius:0;padding:6px 0 6px 20px}.official-note{background:none;border-radius:0;border-top:1px solid var(--line);padding:24px 0 0}.author-card{background:none;border-radius:0;border-top:1px solid var(--line);padding:24px 0}.article-body #buy{background:none;border:0;border-top:2px solid var(--ink);border-radius:0;padding:26px 0}.shop{border-radius:6px}.shop[href]{background:var(--accent);border-color:var(--accent);font-weight:650}.ad-disclosure{background:none;border:0;border-radius:0;padding:0;color:var(--muted)}.ad-disclosure strong{background:#eeeae4;color:#4c453c;font-weight:600}.photo-ad{font-size:.8125rem!important;color:var(--muted);margin-bottom:8px!important}.article-photo{margin:32px 0 44px}.article-photo img{width:100%;height:auto;border-radius:8px}.article-photo figcaption{padding:10px 0;color:var(--muted)}.review-status{font-size:.875rem}.author-link,.fine a,.official-note a{color:var(--ink);text-decoration-color:#ae9d8d}.back-link,.subtle-link{color:var(--ink)}
@media(max-width:640px){.review-card{gap:0}.card-body{padding:20px 0 0}.conclusion .lead{font-size:1.25rem}.verdict-grid{gap:18px}.verdict-caution{padding-top:16px}.efficiency-point{padding:22px 20px}.article-body section{margin-bottom:42px}.article-body .experience-block h3{font-size:1.125rem}.device-group span{flex:none;text-align:left}.article-photo{margin:26px 0 36px}.article-body #buy{padding:24px 0}.card-body h3{font-size:1.4rem}}
/* Purple editorial accents; orange is reserved for purchase actions. */
:root{--ink:#28252e;--muted:#68636f;--line:#e6e2eb;--soft:#f7f6f9;--accent:#6845a6;--accent-soft:#f5f0fc;--blue:#6845a6;--purchase:#fc6600;--purchase-hover:#dc5900}
.text-link{background:var(--accent);border-color:var(--accent);color:#fff}.text-link:hover{background:#55358d;color:#fff}
.shop[href]{background:var(--purchase);border-color:var(--purchase);color:#fff}.shop[href]:hover,.shop[href]:focus-visible{background:var(--purchase-hover);border-color:var(--purchase-hover);color:#fff}
.efficiency-label{color:#57358b}.efficiency-point{border-left-color:var(--accent);background:var(--accent-soft)}.main-nav a[aria-current]{color:#57358b;border-color:var(--accent)}.author-link,.fine a,.official-note a,.back-link,.subtle-link{color:#604093;text-decoration-color:#c8b8e0}.notice{border-left-color:#c8b8e0}.table-wrap th{background:var(--soft)}.table-wrap thead th{background:#efebf5}.ad-disclosure strong{background:#eeebf2;color:#514a5a}
.brand-mark{background:#fff;object-fit:contain;border-radius:50%;width:42px;height:42px}.efficiency-label img{width:54px;height:54px;object-fit:contain;border-radius:50%;background:white}.author-card img{width:76px;height:76px;object-fit:contain;border-radius:50%}.author-profile img{width:120px;height:120px;object-fit:contain;border-radius:50%}.author-card{align-items:center}@media(max-width:640px){.author-profile img{width:90px;height:90px}.author-card img{width:64px;height:64px}.brand-mark{width:36px;height:36px}}

/* Visited text links; keep filled action buttons consistently white. */
a:visited:not(.shop):not(.text-link):not(.card-visual):not(.brand){color:#8463a8}.shop.yahoo[href]{font-size:1rem;font-weight:650;line-height:1.5;padding:12px 16px;min-height:50px;color:#fff}.shop.yahoo[href]:visited{color:#fff}.shop.yahoo[href]:hover{color:#fff}.text-link:visited{color:#fff}

/* Keep the home introduction compact so reviews remain the main focus. */
.hero{padding:28px 0 24px}.hero h1{font-size:1.5rem;line-height:1.6;margin:8px 0 12px;letter-spacing:.01em}.shops{max-width:440px}.shop{padding:12px 16px;min-height:50px}
@media(max-width:640px){.hero{padding:22px 0 20px}.hero h1{font-size:1.375rem;max-width:none}.brand{font-size:1rem;gap:8px}}
/* Rakuten purchase action uses Rakuten crimson red. */
.shop.rakuten[href]{background:#bf0000;border-color:#bf0000;color:#fff;font-size:1rem;font-weight:650;line-height:1.5;padding:12px 16px;min-height:50px}.shop.rakuten[href]:visited{color:#fff}.shop.rakuten[href]:hover,.shop.rakuten[href]:focus-visible{background:#a00000;border-color:#a00000;color:#fff}

/* Portable, CSS-only motion. Text remains visible and layout stays fixed. */
@keyframes chu-greeting {
  0%,100% { transform:rotate(0deg); }
  35% { transform:rotate(-7deg); }
  68% { transform:rotate(4deg); }
}
@media(prefers-reduced-motion:no-preference) {
  header .brand-mark { transform-origin:50% 80%; animation:chu-greeting 600ms ease-out 180ms 1; }
  .shop[href],.text-link { transition:transform 120ms ease-out,background-color 150ms ease-out; }
  .shop[href]:active,.text-link:active { transform:translateY(1px); }
}
@media(prefers-reduced-motion:reduce) {
  header .brand-mark,.shop[href],.text-link { animation:none;transition:none;transform:none; }
}

/* One subtle sheen when an available shop button enters the viewport. */
.shop[href]{position:relative;overflow:hidden}
@keyframes shop-sheen {
  from { transform:translateX(-120%) skewX(-18deg); }
  to { transform:translateX(460%) skewX(-18deg); }
}
@media(prefers-reduced-motion:no-preference) {
  .shop-shine::after{content:"";position:absolute;pointer-events:none;inset:0 auto 0 0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:shop-sheen 1000ms ease-out 1000ms 1 both}
}
@media(prefers-reduced-motion:reduce){.shop-shine::after{display:none;animation:none}}

/* Amazon purchase button */
.shop.amazon[href]{background:#b1844c;border-color:#b1844c;color:#fff;font-size:1rem;font-weight:650;line-height:1.5;padding:12px 16px;min-height:50px}.shop.amazon[href]:visited{color:#fff}.shop.amazon[href]:hover,.shop.amazon[href]:focus-visible{background:#986e3b;border-color:#986e3b;color:#fff}

/* Subtle depth shared by filled action buttons. */
.shop[href],.text-link{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.13),0 3px 0 rgba(35,25,45,.16),0 5px 10px rgba(35,25,45,.10);
}
.shop[href]:active,.text-link:active{
  box-shadow:inset 0 1px 3px rgba(0,0,0,.15),0 1px 0 rgba(35,25,45,.14);
}
@media(prefers-reduced-motion:no-preference){
  .shop[href],.text-link{transition:transform 120ms ease-out,box-shadow 120ms ease-out,background-color 150ms ease-out}
  .shop[href]:active,.text-link:active{transform:translateY(2px)}
}

/* Gentle surface depth; smaller movement on text-heavy tables. */
.article-photo img,.card-visual{box-shadow:0 2px 5px rgba(35,25,45,.035),0 7px 18px rgba(35,25,45,.065)}
.table-wrap{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(35,25,45,.04)}
@media(prefers-reduced-motion:no-preference){
  .article-photo img,.card-visual,.table-wrap{transform:translateY(var(--surface-offset,0px))}
}

/* Site-wide photo note: quiet, legible, and away from article photography. */
footer .photo-notice{font-size:.8125rem;line-height:1.8;color:#666;max-width:74ch;margin:1rem 0;font-weight:400}

/* Screenshot-led iPhone guides */
.lockscreen-photo{max-width:340px;margin:32px auto}.lockscreen-photo img{display:block;width:100%;height:auto;border-radius:18px}.lockscreen-photo figcaption{font-size:14px;line-height:1.7}.setup-steps li{padding:8px 0}.hack-article .article-head h1{font-size:clamp(1.6rem,4.8vw,2.5rem)}.hack-card-visual{display:flex;align-items:center;justify-content:center}.hack-card-visual>img{width:100%;height:auto;object-fit:contain}
