/* fixes.css — v3〜v15 の平坦化バンドル
 *
 * 旧実装は @import 12連鎖で、(1) 初回表示でCSSが直列取得される
 * (2) index.html 上の読み込み順が styles → fixes → v2 で、古い v2 が新しい v3〜v15 を
 * 同一詳細度で上書きする逆転が起きていた。
 * v4.9.0 で読み込み順を styles → v2 → fixes → v16 に正し、@import を実体連結に置換した。
 * 旧 v3.css〜v15.css は履歴として残るが、もう参照されない。編集はこのファイルに対して行う。
 */
[hidden]{display:none!important}
/* ===== v3.css（平坦化・無改変） ===== */
.optional-box{background:#fff7f3;border:1px solid #ffded4;border-radius:18px;padding:14px}.optional-box label{font-size:12px}.optional-box .eyebrow{margin-bottom:10px}.badge-card[data-kind="秘密"]{background:linear-gradient(145deg,#191f2c,#30394c);color:#fff}.badge-card[data-kind="秘密"] p{color:#b8c0d0}.badge-card .kind-chip{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:999px;background:#f1f2f4;color:#6b7280;font-size:9px;font-weight:800}.badge-card[data-kind="無駄"] .kind-chip{background:#fff0a9;color:#745c00}.badge-card[data-kind="探索"] .kind-chip{background:#dff7ed;color:#147552}.badge-card[data-kind="秘密"] .kind-chip{background:#4b5569;color:#fff}

/* ===== v4.css（平坦化・無改変） ===== */
.request-card{border-color:#ffd4c8;background:linear-gradient(145deg,#fff,#fff7f3)}.request-card .primary{box-shadow:none}.request-card #requestCount{margin:10px 0 0;text-align:center}

/* ===== v5.css（平坦化・無改変） ===== */
.environment-box{margin-top:14px;padding-top:14px;border-top:1px solid #ffded4}.environment-box .safety-note{margin:10px 0 0;color:#9a5b2c;font-size:11px;line-height:1.5}

/* ===== v6.css（平坦化・無改変） ===== */
.collection-browser{margin:0 0 18px}.collection-copy{padding:0 3px 10px}.collection-copy h3{margin:0;font-size:17px;letter-spacing:-.3px}.collection-copy>p:last-child{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.collection-shelves{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(104px,1fr);gap:9px;overflow-x:auto;padding:2px 2px 11px;scroll-snap-type:x proximity;scrollbar-width:none}.collection-shelves::-webkit-scrollbar{display:none}.collection-tab{scroll-snap-align:start;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:68px;padding:10px;text-align:left;border:1px solid #e3e6ea;border-radius:17px;background:rgba(255,255,255,.82);color:var(--ink);box-shadow:0 3px 12px rgba(17,24,39,.035)}.collection-tab>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:38px;font-size:22px}.collection-tab strong{align-self:end;font-size:12px;white-space:nowrap}.collection-tab small{align-self:start;color:var(--muted);font-size:10px}.collection-tab.active{border-color:#ff9a82;background:linear-gradient(145deg,#fff,#fff0eb);box-shadow:0 7px 18px rgba(239,91,62,.13)}.collection-tab.active strong{color:#b83d27}.filter-stack select:disabled{opacity:.55;background:#eef0f3}.badge-card[data-kind="都道府県"] .badge-icon{background:#e8f4ed}.badge-card[data-kind="距離"] .badge-icon{background:#e8f0ff}.badge-card[data-kind="日付"] .badge-icon{background:#fff0db}.badge-card[data-kind="環境"] .badge-icon{background:#e6f6fa}.badge-card[data-kind="習慣"] .badge-icon{background:#fff0ec}.badge-card[data-kind="無駄"] .kind-chip{background:#fff0a9;color:#745c00}.badge-card[data-kind="秘密"]{background:linear-gradient(145deg,#191f2c,#30394c);color:#fff}.badge-card[data-kind="秘密"] p{color:#b8c0d0}.badge-card[data-kind="秘密"] .kind-chip{background:#4b5569;color:#fff}@media(max-width:420px){.collection-shelves{grid-auto-columns:102px}.badge-card{padding:15px}.badge-card h3{font-size:14px;line-height:1.35}}

/* ===== v7.css（平坦化・無改変） ===== */
.badge-emblem{--base:#7c5cff;--deep:#35257e;--light:#d9d0ff;position:relative;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;overflow:hidden;isolation:isolate;color:#fff;background:linear-gradient(145deg,var(--light),var(--base) 45%,var(--deep));box-shadow:inset 0 0 0 2px rgba(255,255,255,.72),inset 0 0 0 5px rgba(0,0,0,.08),0 5px 12px rgba(17,24,39,.16)}.badge-emblem.is-small{width:46px;height:46px;flex-basis:46px}.badge-emblem.cat-pref{--base:#2fa06f;--deep:#0b4932;--light:#b9f1d5}.badge-emblem.cat-distance{--base:#3679df;--deep:#16386f;--light:#bdd8ff}.badge-emblem.cat-date{--base:#e47238;--deep:#773116;--light:#ffd6ad}.badge-emblem.cat-habit{--base:#ef5b3e;--deep:#7c2517;--light:#ffc2b4}.badge-emblem.cat-weather{--base:#2a9fb3;--deep:#155260;--light:#b7edf3}.badge-emblem.cat-hobby{--base:#8b5bd5;--deep:#452771;--light:#dfcaff}.badge-emblem.cat-time{--base:#52627d;--deep:#222c3e;--light:#d4dced}.badge-emblem.cat-odd{--base:#d9a520;--deep:#6b4d08;--light:#ffe9a2}.badge-emblem.cat-secret{--base:#485168;--deep:#0c111c;--light:#8d97ae}.badge-emblem.cat-total{--base:#e05275;--deep:#702038;--light:#ffc5d4}.badge-emblem.shape-0{border-radius:50%}.badge-emblem.shape-1{clip-path:polygon(50% 0,91% 17%,86% 72%,50% 100%,14% 72%,9% 17%)}.badge-emblem.shape-2{clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}.badge-emblem.shape-3{border-radius:19px 8px 19px 8px}.badge-emblem.shape-4{clip-path:polygon(50% 0,63% 13%,82% 8%,88% 28%,100% 40%,89% 57%,91% 78%,70% 83%,56% 100%,40% 88%,20% 94%,14% 73%,0 61%,11% 43%,8% 22%,30% 17%)}.badge-emblem .emblem-field{position:absolute;z-index:-2;inset:7px;border:1px solid rgba(255,255,255,.48);border-radius:inherit}.badge-emblem.pattern-0 .emblem-field{background:repeating-linear-gradient(45deg,transparent 0 4px,rgba(255,255,255,.22) 4px 6px)}.badge-emblem.pattern-1 .emblem-field{background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.42) 0 2px,transparent 3px),radial-gradient(circle at 75% 75%,rgba(255,255,255,.24) 0 2px,transparent 3px);background-size:13px 13px}.badge-emblem.pattern-2 .emblem-field{background:repeating-conic-gradient(from 10deg,rgba(255,255,255,.28) 0 8deg,transparent 8deg 28deg)}.badge-emblem.pattern-3 .emblem-field{background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 1px,transparent 1px 7px),repeating-linear-gradient(0deg,rgba(255,255,255,.15) 0 1px,transparent 1px 7px)}.badge-emblem.pattern-4 .emblem-field{background:radial-gradient(circle,transparent 0 35%,rgba(255,255,255,.25) 36% 39%,transparent 40% 58%,rgba(255,255,255,.16) 59% 62%,transparent 63%)}.badge-emblem .emblem-orbit{position:absolute;z-index:-1;width:64%;height:64%;border:1px solid rgba(255,255,255,.5);border-radius:50%;transform:rotate(-18deg)}.badge-emblem.palette-1 .emblem-orbit{width:78%;height:38%;transform:rotate(38deg)}.badge-emblem.palette-2 .emblem-orbit{width:38%;height:78%;transform:rotate(22deg)}.badge-emblem.palette-3 .emblem-orbit{width:72%;height:72%;border-style:dashed;transform:rotate(45deg)}.badge-emblem strong{position:relative;z-index:2;max-width:43px;font-size:17px;line-height:1;font-weight:900;letter-spacing:-1.2px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.38)}.badge-emblem.is-small strong{font-size:14px}.badge-emblem small{position:absolute;z-index:3;right:8px;bottom:7px;font-size:6px;line-height:1;font-weight:900;letter-spacing:.5px;color:rgba(255,255,255,.88)}.badge-emblem.rank-rare{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px rgba(255,214,102,.52),0 5px 13px rgba(17,24,39,.18)}.badge-emblem.rank-epic{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px #d9b7ff,inset 0 0 0 7px rgba(55,25,91,.35),0 5px 14px rgba(65,32,110,.28)}.badge-emblem.rank-legend{box-shadow:inset 0 0 0 2px #fff6c9,inset 0 0 0 5px #e9bd3f,inset 0 0 0 7px rgba(88,55,0,.34),0 5px 15px rgba(130,91,0,.3)}.badge-emblem.is-hidden{--base:#303848;--deep:#080b12;--light:#6b7487;color:#d8deea}.badge-emblem.is-earned::after{content:"";position:absolute;z-index:5;inset:-30%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.62) 48%,transparent 61%);transform:translateX(-90%);animation:emblem-shine 2.8s ease-in-out 1}.badge-card .badge-emblem{margin:0}.emblem-info{background:linear-gradient(145deg,#fff,#f7f3ff);border-color:#e4d8fa}.emblem-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px}.emblem-legend span{padding:8px 9px;border-radius:10px;background:#fff;color:#5c4f70;font-size:11px;font-weight:750;border:1px solid #eee7f8}@keyframes emblem-shine{0%,25%{transform:translateX(-90%)}70%,100%{transform:translateX(90%)}}@media(prefers-reduced-motion:reduce){.badge-emblem.is-earned::after{animation:none}}

/* ===== v8.css（平坦化・無改変） ===== */
.badge-emblem strong.mark-long{font-size:11px;letter-spacing:-.7px}.badge-emblem.is-small strong.mark-long{font-size:9px}

/* ===== v9.css（平坦化・無改変） ===== */
.badge-emblem .emblem-pictogram{position:relative;z-index:2;width:25px;height:25px;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0,0,0,.38));transform:translateY(-2px)}.badge-emblem.is-small .emblem-pictogram{width:21px;height:21px}.badge-emblem strong,.badge-emblem strong.mark-long{position:absolute;z-index:4;left:7px;bottom:7px;max-width:31px;padding:2px 4px;border-radius:5px;background:rgba(8,14,25,.5);color:#fff;font-size:7px;line-height:1;font-weight:900;letter-spacing:-.2px;text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:clip}.badge-emblem strong.mark-long{font-size:6px}.badge-emblem.is-small strong,.badge-emblem.is-small strong.mark-long{left:6px;bottom:6px;max-width:27px;font-size:6px}.badge-emblem small{top:7px;right:7px;bottom:auto;padding:1px 2px;border-radius:3px;background:rgba(8,14,25,.35)}

/* ===== v10.css（平坦化・無改変） ===== */
.journey-snapshot{width:100%;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin:-14px 0 28px;padding:15px 16px;text-align:left;border:1px solid #dfe5e4;border-radius:20px;background:linear-gradient(135deg,#f8fffc,#f2f7ff);color:var(--ink);box-shadow:0 5px 18px rgba(27,67,55,.06)}
.journey-snapshot span+span{padding-left:12px;border-left:1px solid #dfe5e4}.journey-snapshot small{display:block;margin-bottom:4px;color:#708078;font-size:8px;font-weight:900;letter-spacing:1.1px}.journey-snapshot strong{font-size:13px}.journey-snapshot b{color:#82908a;font-size:24px}
.location-settings{background:linear-gradient(150deg,#fff,#f3fbf7);border-color:#d7ebe0}.location-settings label{display:block;margin-top:14px;font-size:12px;font-weight:800}.location-settings select{margin-top:7px}.travel-hint{margin:7px 0 0!important;padding:8px 10px;border-radius:10px;background:#f2f4f6;color:#65707b!important;font-size:11px!important}.travel-hint.is-travel{background:#e8f3ff;color:#23649b!important;font-weight:750}
#collectionFeature:empty{display:none}.map-feature,.distance-feature{margin:0 0 18px;padding:20px;border:1px solid #e4e8e6;border-radius:25px;background:#fff;box-shadow:0 9px 26px rgba(17,24,39,.055);overflow:hidden}.feature-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.feature-head h3{margin:0;font-size:20px;letter-spacing:-.5px}.feature-head p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.feature-head>strong{white-space:nowrap;font-size:30px;letter-spacing:-1.5px}.feature-head>strong small{margin-left:3px;color:var(--muted);font-size:11px;letter-spacing:0}
.map-scroll{overflow-x:auto;margin:17px -20px 0;padding:5px 20px 14px;scrollbar-width:none}.map-scroll::-webkit-scrollbar{display:none}.japan-map{position:relative;display:grid;grid-template-columns:repeat(12,38px);grid-template-rows:repeat(14,31px);gap:3px;min-width:489px;width:max-content;margin:auto;padding:12px 8px;border-radius:20px;background:radial-gradient(circle at 78% 22%,rgba(71,170,140,.09),transparent 28%),linear-gradient(160deg,#f8fcfb,#f4f7fa)}
.pref-cell{grid-column:var(--col);grid-row:var(--row);display:grid;place-items:center;min-width:0;padding:0 2px;border:1px solid #d9dfdd;border-radius:8px;background:#fff;color:#8b9490;box-shadow:0 2px 5px rgba(17,24,39,.04);font-size:7px;font-weight:850;white-space:nowrap;transition:transform .15s ease,background .15s ease}.pref-cell:active{transform:scale(.92)}.pref-cell.visited{border-color:#229566;background:linear-gradient(145deg,#52c995,#14855a);color:#fff;box-shadow:0 4px 9px rgba(28,138,92,.22)}.pref-cell.home{outline:2px solid #ff8b68;outline-offset:2px}.pref-cell.home::after{content:"HOME";position:absolute;transform:translateY(22px);padding:2px 3px;border-radius:4px;background:#ff7a55;color:#fff;font-size:5px;letter-spacing:.5px}
.map-legend{display:flex;flex-wrap:wrap;gap:13px;margin-top:2px;color:var(--muted);font-size:10px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:12px;height:12px;border:1px solid #d9dfdd;border-radius:4px;background:#fff}.map-legend i.visited{border-color:#229566;background:#2da872}.map-legend i.home{border:2px solid #ff7a55;background:#fff}.feature-note{margin:10px 0 0;color:#8a9390;font-size:10px;line-height:1.5}
.distance-feature{background:linear-gradient(160deg,#fff,#f4f8ff)}.distance-scene{position:relative;height:142px;margin:17px -4px 10px;overflow:hidden;border-radius:20px;background:linear-gradient(#bfe8ff 0 55%,#e7f1dc 56% 100%)}.scene-sun{position:absolute;top:18px;right:22px;width:30px;height:30px;border-radius:50%;background:#ffd86a;box-shadow:0 0 0 9px rgba(255,216,106,.18)}.scene-mountain{position:absolute;left:4%;bottom:36px;width:58%;height:64%;background:linear-gradient(145deg,#8fb59f,#4f846e);clip-path:polygon(0 100%,30% 38%,45% 66%,65% 18%,100% 100%)}.scene-city{position:absolute;right:5%;bottom:35px;width:31%;height:45%;opacity:0;background:repeating-linear-gradient(90deg,#526986 0 12px,transparent 12px 17px);clip-path:polygon(0 100%,0 33%,18% 33%,18% 5%,40% 5%,40% 55%,62% 55%,62% 22%,82% 22%,82% 45%,100% 45%,100% 100%)}.scene-earth{position:absolute;display:grid;place-items:center;inset:12px auto auto 50%;width:88px;height:88px;border:2px solid rgba(255,255,255,.72);border-radius:50%;opacity:0;color:#fff;font-size:54px;transform:translateX(-50%);background:radial-gradient(circle at 35% 30%,#7ad2b0 0 13%,transparent 14%),radial-gradient(circle at 65% 65%,#7ad2b0 0 17%,transparent 18%),#4698d2}.distance-road{position:absolute;left:0;right:0;bottom:18px;height:14px;background:#d7d5cf;border-top:2px solid #fff;border-bottom:2px solid #fff;box-shadow:0 3px 0 #a2a49f}.distance-road::after{content:"";position:absolute;inset:5px 0 auto;height:2px;background:repeating-linear-gradient(90deg,#fff 0 12px,transparent 12px 22px)}.distance-road>span{position:absolute;z-index:1;left:0;top:-2px;height:14px;border-radius:0 8px 8px 0;background:linear-gradient(90deg,#ff9d69,#ef5b3e);opacity:.83}.distance-road img{position:absolute;z-index:2;top:-18px;width:26px;height:26px;filter:brightness(0) saturate(100%) invert(31%) sepia(71%) saturate(1636%) hue-rotate(340deg) brightness(100%);transform:translateX(-50%)}.distance-next{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.distance-next strong{color:#42516b}.distance-feature.stage-3 .scene-city,.distance-feature.stage-4 .scene-city,.distance-feature.stage-5 .scene-city{opacity:.88}.distance-feature.stage-3 .scene-mountain,.distance-feature.stage-4 .scene-mountain,.distance-feature.stage-5 .scene-mountain{left:-12%;opacity:.45}.distance-feature.stage-6 .distance-scene,.distance-feature.stage-7 .distance-scene,.distance-feature.stage-8 .distance-scene{background:radial-gradient(circle at 50% 100%,#273d69,#0b1428 66%)}.distance-feature.stage-6 .scene-earth,.distance-feature.stage-7 .scene-earth,.distance-feature.stage-8 .scene-earth{opacity:1}.distance-feature.stage-6 .scene-sun,.distance-feature.stage-7 .scene-sun,.distance-feature.stage-8 .scene-sun{width:4px;height:4px;box-shadow:-40px 16px 0 #fff,32px -3px 0 #fff,68px 35px 0 #fff,-82px 42px 0 #fff,18px 60px 0 #fff}.distance-feature.stage-6 .scene-mountain,.distance-feature.stage-7 .scene-mountain,.distance-feature.stage-8 .scene-mountain,.distance-feature.stage-6 .scene-city,.distance-feature.stage-7 .scene-city,.distance-feature.stage-8 .scene-city{opacity:0}
@media(max-width:420px){.map-feature,.distance-feature{padding:17px}.map-scroll{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.feature-head h3{font-size:18px}.feature-head>strong{font-size:25px}.journey-snapshot{grid-template-columns:1fr 1fr auto;padding:13px}.journey-snapshot strong{font-size:11px}}
.pref-cell{position:relative}
.real-japan-map{display:block;width:min(100%,330px);height:auto;margin:0 auto;padding:4px;overflow:visible;filter:drop-shadow(0 8px 13px rgba(16,57,44,.11))}.pref-path{fill:#e3e9e6;stroke:#fff;stroke-width:1.4;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .16s ease,filter .16s ease}.pref-path:hover,.pref-path:focus{fill:#b9d8ca;outline:none;filter:brightness(1.04)}.pref-path.visited{fill:#2ca873}.pref-path.home{fill:#ff8463;stroke:#a83e25;stroke-width:2.2}.pref-path.visited.home{fill:#ff6f4a}.pref-path:focus{stroke:#111827;stroke-width:2.5}

/* ===== v11.css（平坦化・無改変） ===== */
/* Category-specific badge grammar: geography, distance, calendar, streak, weather and hobby badges each speak differently. */
.badge-card .badge-emblem:not(.is-small){width:68px;height:68px;flex-basis:68px}
.badge-emblem{overflow:hidden;clip-path:none!important;border-radius:19px;transform:translateZ(0)}
.badge-emblem .emblem-field{inset:6px;border-width:1px;opacity:.72}
.badge-emblem .emblem-orbit{z-index:0;opacity:.72}
.badge-emblem .emblem-detail{position:absolute;z-index:1;inset:0;pointer-events:none}
.badge-emblem .emblem-pictogram{z-index:3;width:29px;height:29px;transform:translateY(-1px)}
.badge-emblem .emblem-prefecture{position:relative;z-index:3;width:39px;height:39px;overflow:visible;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.badge-emblem .emblem-prefecture path{fill:currentColor;stroke:rgba(255,255,255,.35);stroke-width:.5;vector-effect:non-scaling-stroke}
.badge-emblem strong,.badge-emblem strong.mark-long{left:6px;top:6px;bottom:auto;max-width:34px;padding:2px 4px;border:1px solid rgba(255,255,255,.2);background:rgba(7,16,27,.46);font-size:7px;letter-spacing:.1px}
.badge-emblem strong.mark-long{font-size:6px}.badge-emblem small{top:6px;right:6px;padding:2px 3px;border:1px solid rgba(255,255,255,.16);background:rgba(7,16,27,.35);font-size:6px;letter-spacing:.7px}
.badge-emblem em{position:absolute;z-index:4;left:7px;right:7px;bottom:5px;overflow:hidden;color:rgba(255,255,255,.92);font-size:5px;font-style:normal;font-weight:900;letter-spacing:.8px;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.badge-emblem.is-small em{display:none}.badge-emblem.is-small strong,.badge-emblem.is-small strong.mark-long{left:5px;top:5px;bottom:auto}.badge-emblem.is-small small{top:5px;right:5px}.badge-emblem.is-small .emblem-prefecture{width:28px;height:28px}

/* Geography: a minted travel seal with the real prefecture silhouette. */
.badge-emblem.cat-pref{border-radius:50%;background:radial-gradient(circle at 37% 30%,#8be0b5 0,#2ba873 38%,#0a5138 78%)}
.badge-emblem.cat-pref .emblem-field{inset:5px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 7px,rgba(255,255,255,.12) 8px 9px)!important}
.badge-emblem.cat-pref .emblem-orbit{width:82%;height:82%;border:1px dashed rgba(255,255,255,.5)}
.badge-emblem.cat-pref .emblem-detail{background:linear-gradient(115deg,transparent 48%,rgba(255,255,255,.15) 49% 51%,transparent 52%)}
.badge-emblem.cat-pref strong{background:#075038}.badge-emblem.cat-pref em{letter-spacing:1px}

/* Distance: instrument dial and measured track. */
.badge-emblem.cat-distance{border-radius:50%;background:radial-gradient(circle,#629cff 0 39%,#245bb7 40% 61%,#102f69 62%)}
.badge-emblem.cat-distance .emblem-field{inset:4px;border-radius:50%;background:repeating-conic-gradient(from -2deg,rgba(255,255,255,.8) 0 1deg,transparent 1deg 12deg)!important;mask:radial-gradient(circle,transparent 0 72%,#000 73%)}
.badge-emblem.cat-distance .emblem-orbit{width:58%;height:58%;border:1px dashed rgba(255,255,255,.65)}
.badge-emblem.cat-distance .emblem-detail::after{content:"";position:absolute;left:50%;top:50%;width:2px;height:21px;border-radius:2px;background:#ffdf6b;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(42deg);box-shadow:0 0 4px rgba(0,0,0,.25)}

/* Calendar: compact tear-off card with a bound top edge. */
.badge-emblem.cat-date{border-radius:13px;background:linear-gradient(#9f361b 0 25%,#f17b42 26% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.75),inset 0 0 0 5px rgba(99,30,11,.18),0 5px 12px rgba(17,24,39,.16)}
.badge-emblem.cat-date .emblem-field{inset:7px 6px 6px;border-radius:8px;background:linear-gradient(#fff5e7 0 24%,rgba(255,255,255,.16) 25%)!important;opacity:.38}
.badge-emblem.cat-date .emblem-orbit{display:none}.badge-emblem.cat-date .emblem-detail::before,.badge-emblem.cat-date .emblem-detail::after{content:"";position:absolute;top:2px;width:5px;height:13px;border-radius:3px;background:#ffe6cd;box-shadow:0 1px 2px rgba(0,0,0,.25)}.badge-emblem.cat-date .emblem-detail::before{left:16px}.badge-emblem.cat-date .emblem-detail::after{right:16px}

/* Streak: an ember shield with continuity ticks. */
.badge-emblem.cat-habit{border-radius:50% 50% 44% 44%/42% 42% 58% 58%;background:radial-gradient(circle at 50% 63%,#ffb245 0 15%,#ee5a36 39%,#7a2017 82%)}
.badge-emblem.cat-habit .emblem-field{inset:5px;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,255,255,.13) 7px 8px)!important}
.badge-emblem.cat-habit .emblem-orbit{width:70%;height:70%;border:2px dotted rgba(255,237,182,.7)}
.badge-emblem.cat-habit .emblem-detail{background:radial-gradient(circle at 50% 54%,rgba(255,238,160,.26),transparent 43%)}

/* Weather: a glass atmospheric capsule. */
.badge-emblem.cat-weather{border-radius:22px 22px 30px 30px;background:linear-gradient(155deg,#85d8ea,#289aae 49%,#114e62)}
.badge-emblem.cat-weather .emblem-field{inset:5px;border-radius:18px 18px 26px 26px;background:radial-gradient(circle at 72% 26%,rgba(255,255,255,.78) 0 7%,transparent 8%),linear-gradient(175deg,transparent 0 62%,rgba(255,255,255,.17) 63%)!important}
.badge-emblem.cat-weather .emblem-orbit{width:90%;height:34%;border-style:dotted;transform:rotate(-12deg)}

/* Time: watch face. */
.badge-emblem.cat-time{border-radius:50%;background:radial-gradient(circle,#71809a 0 47%,#2e3a51 48% 67%,#121927 68%)}
.badge-emblem.cat-time .emblem-field{inset:3px;border-radius:50%;background:repeating-conic-gradient(#fff 0 1deg,transparent 1deg 30deg)!important;mask:radial-gradient(circle,transparent 0 77%,#000 78%)}
.badge-emblem.cat-time .emblem-orbit{width:53%;height:53%;border-style:solid}.badge-emblem.cat-time .emblem-detail::before{content:"";position:absolute;left:50%;top:50%;width:1px;height:17px;background:#ffd66e;transform-origin:bottom;transform:translate(-50%,-100%) rotate(25deg)}

/* Playful/odd: intentionally imperfect rubber stamp. */
.badge-emblem.cat-odd{border-radius:17px 9px 19px 11px;background:linear-gradient(135deg,#ffe07c,#d99a12 52%,#6c4905);transform:rotate(-1.5deg)}
.badge-emblem.cat-odd .emblem-field{border:2px dashed rgba(91,60,3,.4);background:repeating-linear-gradient(-12deg,transparent 0 5px,rgba(255,255,255,.2) 6px 7px)!important}.badge-emblem.cat-odd .emblem-orbit{border-color:rgba(89,57,0,.35);transform:rotate(21deg)}

/* Hobby and milestones: embroidered patch / award medallion. */
.badge-emblem.cat-hobby{border-radius:18px;background:linear-gradient(145deg,#d7baff,#8753d0 47%,#3f216b)}
.badge-emblem.cat-hobby .emblem-field{inset:4px;border:2px dotted rgba(255,255,255,.55);border-radius:15px}.badge-emblem.cat-hobby .emblem-orbit{width:63%;height:63%;border-color:rgba(255,255,255,.38)}
.badge-emblem.cat-total{border-radius:50%;background:radial-gradient(circle,#ff91ad 0 37%,#d74369 38% 61%,#72203b 62%)}.badge-emblem.cat-total .emblem-field{inset:4px;border-radius:50%;background:repeating-conic-gradient(rgba(255,255,255,.3) 0 4deg,transparent 4deg 20deg)!important;mask:radial-gradient(circle,transparent 0 70%,#000 71%)}
.badge-emblem.cat-secret{border-radius:15px;background:linear-gradient(145deg,#7c879d,#333d52 45%,#080d17)}.badge-emblem.cat-secret .emblem-field{inset:5px;border:1px solid #9aa6bc;background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(255,255,255,.08) 5px 6px)!important}.badge-emblem.cat-secret .emblem-orbit{border-color:#77839a;border-style:dashed}

.badge-emblem.rank-rare::before,.badge-emblem.rank-epic::before,.badge-emblem.rank-legend::before{content:"";position:absolute;z-index:6;inset:2px;border-radius:inherit;pointer-events:none}.badge-emblem.rank-rare::before{border:1px solid rgba(255,239,177,.9)}.badge-emblem.rank-epic::before{border:2px solid rgba(225,191,255,.86)}.badge-emblem.rank-legend::before{border:2px solid #ffd96a;box-shadow:inset 0 0 7px rgba(255,225,120,.58)}
@media(max-width:420px){.badge-card .badge-emblem:not(.is-small){width:64px;height:64px;flex-basis:64px}.badge-emblem .emblem-prefecture{width:36px;height:36px}}

/* ===== v13.css（平坦化・無改変） ===== */
/* v4.5 editorial system: flat surfaces, measured typography, category-led colour. */
:root{
  --bg:#f1efe9;
  --card:#fffdf8;
  --ink:#191b19;
  --muted:#6d716c;
  --line:#d9dbd4;
  --accent:#d65337;
  --accent2:#d65337;
  --green:#267459;
  --danger:#a83b32;
  --shadow:0 2px 0 rgba(25,27,25,.05);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Hiragino Sans","Yu Gothic UI",sans-serif;
  background:var(--bg)
}
body{background:var(--bg);color:var(--ink)}
button{border-radius:8px}
.topbar{padding-bottom:17px;border-bottom:1px solid var(--line)}
.topbar h1{font-size:25px;font-weight:780;letter-spacing:-1px}
.eyebrow{color:#747872;font-size:9px;font-weight:800;letter-spacing:1.45px}
.icon-btn{width:42px;height:36px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink)}
main{padding-top:18px}
.hero-card{position:relative;min-height:176px;padding:23px 22px 20px;overflow:hidden;border:1px solid #cecfc8;border-radius:15px;background:var(--card);box-shadow:none;color:var(--ink)}
.hero-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent)}
.hero-card::after{content:"BADGE / LOG / REPEAT";position:absolute;right:20px;top:18px;color:#a2a49e;font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px}
.hero-card .muted{color:var(--muted)}
.hero-card h2{max-width:300px;margin-top:9px;color:var(--ink);font-size:28px;line-height:1.16;letter-spacing:-1.15px}
.primary{min-height:46px;border:1px solid #b6412b;border-radius:8px;background:var(--accent);box-shadow:none;color:#fff;font-weight:760}
.round{border-radius:8px}
.stats-grid{gap:0;margin:11px 0 29px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--card)}
.stats-grid article{padding:15px 12px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.stats-grid article:last-child{border-right:0}
.stats-grid span{font-size:10px;letter-spacing:.2px}
.stats-grid strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:23px;font-weight:740;letter-spacing:-1.3px}
.section-head{margin-top:28px;padding-bottom:9px;border-bottom:1px solid #cfd1ca}
.section-head h2,.page-intro h2{font-size:22px;font-weight:780;letter-spacing:-.7px}
.text-btn{color:#a83f2c}
.progress-list,.activity-list{gap:7px}
.progress-card,.activity-card,.task-card{border:1px solid var(--line);border-radius:11px;background:var(--card);box-shadow:none}
.progress-card,.activity-card{padding:14px}
.badge-icon,.activity-icon{border:1px solid #e2dfd7;border-radius:9px;background:#f4f0e8}
.bar,.mini-bar,.next-progress{border-radius:2px;background:#dedfd9}
.bar span,.mini-bar span,.next-progress span{border-radius:0;background:var(--accent)}
.empty{border-radius:10px;background:rgba(255,253,248,.5)}
.segmented{gap:0;padding:3px;border:1px solid var(--line);border-radius:9px;background:#e6e5df}
.segmented button{border-radius:6px}
.segmented button.active{box-shadow:none}
select,input,textarea{border-color:#cfd1ca;border-radius:8px;background:#fffefb}
.secondary,.danger{border-radius:8px;background:transparent}
.settings-card{padding:18px;border-color:var(--line);border-radius:12px;background:var(--card);box-shadow:none}
.settings-card h3{font-size:16px;letter-spacing:-.2px}
.settings-card p{line-height:1.65}
.location-settings{border-color:var(--line);background:var(--card)}
.travel-hint{border-radius:6px;background:#ecece7}
.travel-hint.is-travel{background:#e3ece8;color:#235f4c!important}
.journey-snapshot{margin-top:-14px;padding:14px 15px;border-color:var(--line);border-radius:10px;background:var(--card);box-shadow:none}
.journey-snapshot small{color:#858983}
.bottom-nav{background:#fffdf9;border-top-color:#cfd1ca;backdrop-filter:none;-webkit-backdrop-filter:none}
.bottom-nav .add-nav span{width:54px;height:54px;border:1px solid #b6412b;background:var(--accent);box-shadow:0 4px 0 rgba(111,43,31,.15)}
.bottom-nav button.active{color:#a83f2c}
.sheet{border-radius:16px 16px 0 0;background:#f1efe9}
.sheet form>header{border-bottom-color:var(--line);background:rgba(241,239,233,.96)}
.collection-browser{padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:none}
.collection-copy h3{font-size:20px;letter-spacing:-.5px}
.collection-shelves{gap:7px}
.collection-tab{min-width:102px;padding:12px 10px;border:1px solid var(--line);border-radius:8px;background:#f7f5ef;box-shadow:none}
.collection-tab>span{font-size:17px;filter:grayscale(.35)}
.collection-tab.active{border-color:#262a27;background:#262a27;color:#fff;transform:none;box-shadow:none}
.collection-tab.active small{color:#c8ccc7}
.filter-stack{border-color:var(--line);border-radius:10px;background:var(--card);box-shadow:none}
.badge-grid{gap:8px}
.badge-card{min-height:184px;padding:15px;border-color:var(--line);border-radius:12px;background:var(--card);box-shadow:none}
.badge-card.earned{border-color:#b68c7e;background:var(--card)}
.badge-card.locked{filter:saturate(.28)}
.badge-card h3{margin-top:13px;font-size:14px;line-height:1.35}
.badge-card .task-name{color:#747872}
.badge-card .kind-chip{border-radius:4px;background:#e7e6e0;color:#5d625d}
.earned-mark{display:grid;place-items:center;width:24px;height:24px;border:1px solid #8cb1a2;border-radius:50%;background:var(--card);font-size:12px}
.badge-card .badge-emblem:not(.is-small){width:64px;height:64px;flex-basis:64px}



/* The paid plan is visible as a product decision, never as a fake purchase flow. */
.premium-plan-card{border-top:3px solid #262a27}
.plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.plan-heading h3{margin:2px 0 0;font-size:19px}
.plan-type{padding:5px 7px;border:1px solid #bfc1ba;border-radius:4px;color:#5e625d;font-size:10px;font-weight:750;white-space:nowrap}
.plan-features{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:14px 0 5px;padding:0;border-top:1px solid var(--line);list-style:none}
.plan-features li{padding:10px 7px 10px 18px;border-bottom:1px solid var(--line);color:#3e423e;font-size:12px;line-height:1.35}
.plan-features li:nth-child(odd){border-right:1px solid var(--line)}
.plan-features li::before{content:"↳";float:left;margin-left:-14px;color:var(--accent)}
.premium-plan-card button:disabled{opacity:.58;cursor:default}
.premium-plan-card .plan-note{margin-bottom:0;color:#838681;font-size:11px}

/* Earth-distance ledger: code-drawn, factual and reusable instead of AI artwork. */
.map-feature,.distance-feature{padding:19px;border-color:var(--line);border-radius:12px;background:var(--card);box-shadow:none}
.feature-head h3{font-size:20px}
.feature-head>strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:27px;font-weight:740}
.distance-feature.terrestrial{background:#f8f6f0}
.earth-ledger{margin:18px 0 14px;padding:18px 16px 12px;border:1px solid #cfd1ca;background:#242c28;color:#f5f2e9}
.earth-dial{position:relative;display:grid;place-items:center;width:174px;height:174px;margin:0 auto 25px;border:1px solid #818a84;border-radius:50%;background:conic-gradient(#d75a3e 0 var(--lap),#38423d var(--lap) 360deg)}
.earth-dial::before{content:"";position:absolute;inset:9px;border:1px dashed #737c76;border-radius:50%;background:radial-gradient(circle at 38% 31%,#526b5d 0 9%,transparent 10%),radial-gradient(circle at 65% 59%,#526b5d 0 13%,transparent 14%),#1b211e}
.earth-dial::after{content:"N";position:absolute;top:-7px;padding:0 5px;background:#242c28;color:#b9c0bb;font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px}
.earth-core{position:relative;z-index:1;display:grid;place-items:center}
.earth-core span{color:#adb5b0;font:750 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:2px}
.earth-core strong{margin-top:7px;font:700 31px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-2px}
.earth-core small{margin-top:4px;color:#c1c6c2;font-size:10px}
.earth-scale{position:relative;height:3px;margin:0 2px 21px;background:#5e6862}
.earth-scale-fill{position:absolute;left:0;top:0;height:100%;background:#d75a3e}
.earth-marker{position:absolute;top:-3px;width:1px;height:9px;background:#aeb6b1}
.earth-marker i{display:none}
.earth-marker small{position:absolute;top:12px;left:50%;width:36px;color:#aeb6b1;font:650 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;transform:translateX(-50%)}
.earth-marker:last-of-type small{transform:translateX(-100%)}
.earth-current{position:absolute;z-index:2;top:-15px;display:grid;place-items:center;width:29px;height:29px;border:2px solid #f5f2e9;border-radius:50%;background:#d75a3e;transform:translateX(-50%)}
.earth-current img{width:14px;height:14px;filter:brightness(0) invert(1)}
.earth-current em{position:absolute;bottom:34px;width:45px;color:#f5f2e9;font:700 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal;text-align:center}
.earth-caption{display:flex;justify-content:space-between;gap:10px;color:#8f9993;font:650 7px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}
.earth-caption strong{color:#d8ddd9;text-align:center}
.distance-next{align-items:flex-end;margin-top:2px;color:#6d716c}
.distance-next strong{color:#323733}
.next-progress{height:4px;margin:10px 0 15px}
.human-distance-note{padding:14px;border:1px solid #d3d0c8;border-radius:0;background:#eeece5}
.human-distance-note .eyebrow{color:#777b76}
.human-distance-note strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.human-distance-note>p:last-child{color:#626762}
.feature-note{color:#7a7e79}
.real-japan-map{filter:none}
.pref-path{stroke:#f8f6f0}

@media(max-width:420px){
  main{padding-left:14px;padding-right:14px}
  .topbar{padding-left:16px;padding-right:16px}
  .hero-card{min-height:170px;padding:21px 18px 18px}
  .hero-card h2{font-size:25px}
  .plan-features{grid-template-columns:1fr}
  .plan-features li:nth-child(odd){border-right:0}
  .earth-ledger{margin-left:-4px;margin-right:-4px;padding-left:12px;padding-right:12px}
  .earth-dial{width:158px;height:158px}
  .earth-marker small{font-size:6px}
}

/* ===== v14.css（平坦化・無改変） ===== */
/* v4.6 location privacy controls and grouped genre catalogue. */
.location-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch;margin-top:7px}
.location-input-row select{margin:0!important}
.location-button{min-width:96px;min-height:48px;margin:0;padding:0 11px;border:1px solid #2f5f50;border-radius:8px;background:#e7efeb;color:#214d40;font-size:11px;font-weight:800;line-height:1.2}
.location-button[aria-busy="true"]{opacity:.65;cursor:wait}
.location-status{min-height:18px;margin:7px 0 0!important;color:#717670!important;font-size:10px!important;line-height:1.5!important}
.location-status.is-success{color:#28654f!important}
.location-status.is-error{color:#a14335!important}
.privacy-strip{display:flex;align-items:flex-start;gap:8px;margin-top:9px;padding:9px 10px;border-left:3px solid #81968d;background:#f0f2ed;color:#626761;font-size:10px;line-height:1.5}
.privacy-strip strong{color:#343936;white-space:nowrap}
.home-location-button{margin-top:10px}
.pack-grid{display:block}
.pack-group{padding:13px 0;border-top:1px solid var(--line)}
.pack-group:first-child{padding-top:3px;border-top:0}
.pack-group h4{margin:0 0 8px;color:#747872;font-size:9px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}
.pack-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.pack-button{min-height:58px;border-color:var(--line);border-radius:8px;background:#f7f5ef;font-size:12px}
.pack-button small{display:block;margin:4px 0 0 28px;color:#858983;font-size:9px;font-weight:600}
.genre-count{margin:-2px 0 14px!important;color:#747872!important;font:700 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace!important}
@media(min-width:700px){.pack-group-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:370px){.location-input-row{grid-template-columns:1fr}.location-button{min-height:43px}.pack-group-grid{grid-template-columns:1fr}}

/* ===== v15.css（平坦化・無改変） ===== */
/* BadgeBase v4.7 — onboarding, explainable badges and beta readiness */
.badge-card[data-badge-id]{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.badge-card[data-badge-id]:active{transform:scale(.985)}
.badge-card[data-badge-id]:focus-visible{outline:3px solid rgba(190,82,58,.3);outline-offset:3px}
.progress-card[data-badge-id]{width:100%;color:inherit;text-align:left;cursor:pointer}
.empty-start{display:grid;gap:10px;justify-items:center}
.empty-start p{margin:0 0 3px}
.empty-start .primary,.empty-start .secondary{width:min(280px,100%)}

.welcome-dialog{margin:auto;width:calc(100% - 28px);max-width:500px;border-radius:24px;background:#f5f2eb;color:var(--ink);box-shadow:0 28px 80px rgba(22,27,24,.28);overflow:hidden}
.welcome-dialog::backdrop{background:rgba(24,28,26,.68);backdrop-filter:blur(9px)}
.welcome-body{position:relative;padding:28px 22px 22px;background:radial-gradient(circle at 92% 4%,rgba(221,132,105,.35),transparent 32%),linear-gradient(160deg,#fbfaf7,#eee9df)}
.welcome-close{position:absolute;right:13px;top:12px;width:36px;height:36px;border:1px solid rgba(0,0,0,.08);border-radius:50%;background:rgba(255,255,255,.62);font-size:22px;color:#545a55}
.welcome-body h2{max-width:420px;margin:12px 0 10px;font-size:27px;line-height:1.18;letter-spacing:-1px}
.welcome-body>p:not(.eyebrow){margin:0;color:#62665f;font-size:14px;line-height:1.75}
.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0 14px}
.welcome-steps span{display:grid;gap:5px;padding:11px 8px;border:1px solid rgba(35,40,37,.09);border-radius:12px;background:rgba(255,255,255,.55);font-size:11px;font-weight:750;text-align:center}
.welcome-steps b{display:grid;place-items:center;width:23px;height:23px;margin:auto;border-radius:50%;background:#2f3732;color:#fff;font-size:11px}
.welcome-packs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.welcome-packs button{min-height:49px;border:1px solid #d7d2c8;border-radius:12px;background:#fffdf9;color:#202522;font-weight:750;text-align:left;padding:0 13px}
.welcome-body>small{display:block;margin-top:12px;color:#797d77;text-align:center}

.badge-detail-dialog{margin:auto;width:calc(100% - 28px);max-width:450px;max-height:88vh;border-radius:24px;background:#f6f3ed;color:var(--ink);overflow:auto;box-shadow:0 28px 80px rgba(22,27,24,.28)}
.badge-detail-dialog::backdrop{background:rgba(24,28,26,.66);backdrop-filter:blur(8px)}
.badge-detail-body{padding:20px}
.detail-close{display:block;margin-left:auto;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#555e57;font-size:21px}
.detail-hero{display:grid;justify-items:center;text-align:center;padding:2px 8px 16px}
.detail-hero .badge-emblem{width:112px;height:112px;flex-basis:112px;margin:0 auto 16px}
.detail-hero .badge-emblem strong{font-size:18px}
.detail-hero .badge-emblem em{font-size:6px}
.detail-hero h2{margin:8px 0 6px;font-size:25px;line-height:1.2;letter-spacing:-.7px}
.detail-source{margin:0;color:#8b685c;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}
.detail-description{margin:0;color:#646a64;line-height:1.65}
.detail-status{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:999px;background:#e7e6e0;color:#555b56;font-size:11px;font-weight:800}
.detail-status.earned{background:#dfece3;color:#28613d}
.detail-condition{padding:17px;border:1px solid #dedad1;border-radius:15px;background:#fffdf9}
.detail-condition h3{margin:0 0 6px;font-size:13px}
.detail-condition p{margin:0;color:#4f554f;font-size:14px;line-height:1.6}
.detail-progress-row{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:12px;color:#6e746e}
.detail-progress-row strong{color:#252b27}
.detail-condition .bar{margin-top:8px}
.detail-actions{display:grid;gap:8px;margin-top:13px}
.detail-earned-date{margin:13px 0 0;color:#4d6a57;font-size:12px;font-weight:750;text-align:center}

.readiness-card{border-color:#d9d4c9;background:linear-gradient(155deg,#fbfaf7,#f1ede4)}
.readiness-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.readiness-head h3{margin:0}
.readiness-score{display:grid;place-items:center;min-width:64px;height:64px;border-radius:50%;background:#303732;color:#fff;font-size:19px;font-weight:900}
.readiness-score small{display:block;font-size:8px;letter-spacing:.8px}
.readiness-list{display:grid;gap:7px;margin-top:14px}
.readiness-item{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-top:1px solid rgba(50,55,52,.09);font-size:12px;line-height:1.45}
.readiness-item b{display:grid;place-items:center;flex:0 0 21px;height:21px;border-radius:50%;background:#deddd6;color:#71766f;font-size:11px}
.readiness-item.done b{background:#3d704f;color:#fff}
.readiness-next{margin:13px 0 0!important;padding:11px 12px;border-radius:10px;background:#fff;color:#3f4540!important;font-weight:700}
.legal-links{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.legal-links a{display:grid;place-items:center;min-height:43px;border:1px solid #d8d5ce;border-radius:10px;background:#fff;color:#363c37;font-size:12px;font-weight:750;text-decoration:none}

.legal-page{background:#f2efe8;padding-bottom:40px}
.legal-page .topbar{border-bottom:1px solid #ddd8cf}
.legal-page main{max-width:680px;padding-top:22px}
.legal-page article{padding:23px;border:1px solid #ddd8cf;border-radius:18px;background:#fffdf9}
.legal-page article h2{margin:0 0 7px;font-size:25px}
.legal-page article h3{margin:25px 0 7px;font-size:16px}
.legal-page article p,.legal-page article li{color:#555c56;font-size:14px;line-height:1.75}
.legal-page article ul{padding-left:20px}
.legal-page .back-link{display:inline-flex;margin-bottom:14px;color:#8f4e3d;font-weight:800;text-decoration:none}
.legal-page .updated{color:#858b85;font-size:12px}

@media(max-width:360px){.welcome-body{padding:25px 16px 18px}.welcome-body h2{font-size:23px}.welcome-steps{grid-template-columns:1fr}.welcome-steps span{grid-template-columns:auto 1fr;align-items:center;text-align:left}.welcome-steps b{margin:0}.legal-links{grid-template-columns:1fr}}
