@import url('./fonts/fraunces.css?v=20261028-card-1');
:root{--paper:#fffaf0;--cream:#fbf3e4;--ink:#3b2a22;--muted:#796653;--faint:#85725e;--line:#e6d6b8;--red:#c2412d;--red-dark:#9e3222;--mustard:#e8b44a;--body:"Noto Serif SC",serif;--display:"Noto Serif SC",serif;--latin:"Fraunces",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.8 var(--body);-webkit-font-smoothing:antialiased;isolation:isolate}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.035;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button,a,label{ -webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.55}button,a,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #385b76;outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:900;overflow-wrap:anywhere}img,svg{max-width:100%;height:auto}input{min-width:0}button,.primary,.secondary,.back,.text-button,summary{min-height:44px}a,button{transition:background .18s,color .18s,box-shadow .18s}.page-shell{max-width:1260px;padding:0 44px;margin:auto;min-width:0}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;line-height:1.3;font-weight:900;font-size:23px;white-space:nowrap;min-height:44px}.brand img{flex-shrink:0}.brand small{display:block;font:italic 700 10px/2 var(--latin);letter-spacing:.15em;color:var(--red)}.site-header nav{display:flex;gap:24px;align-items:center}.text-button,.back{padding:8px 2px;color:var(--muted);font-size:14px}.text-button:hover,.back:hover{color:var(--red);text-decoration:underline;text-underline-offset:5px}.eyebrow{font:italic 700 12px/1.7 var(--latin);letter-spacing:.13em;color:var(--red);overflow-wrap:anywhere}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:12px;border-radius:999px;padding:12px 22px;min-height:54px;font-size:16px;font-weight:700;line-height:1.6;text-align:center}.primary{background:var(--red);color:var(--paper);box-shadow:0 3px 0 var(--red-dark)}.primary:hover{background:var(--red-dark)}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 var(--red-dark)}.secondary{border:1.5px solid var(--ink);background:transparent;color:var(--ink);min-height:50px}.secondary:hover{background:#f3e6ce}.form-error{font-size:14px;color:var(--red-dark);line-height:1.8;margin-top:12px}.form-error:empty{display:none}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:48px;padding:20px 0;font-size:12px;color:var(--muted)}.site-footer a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}

/* Shared card face: 5:7 paper, cropped illustration, then the overlapping nameplate. */
.wangge-card{position:relative;aspect-ratio:5/7;padding:9px;border-radius:18px;background:var(--paper);overflow:hidden;isolation:isolate;box-shadow:0 1px 0 #0000000a,0 18px 34px -16px #50321475}.card-art{position:absolute;inset:9px 9px 30%;overflow:hidden;border-radius:11px;background:#f3e3c4}.card-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.card-serial{position:absolute;left:18px;top:18px;z-index:3;padding:3px 9px;border-radius:12px;background:#fffaf0ed;font:italic 800 11px/1.5 var(--latin);letter-spacing:.04em}.card-club{position:absolute;right:18px;top:18px;z-index:3;display:grid;place-content:center;width:38px;height:38px;background:#fffaf0ed;border:1.2px solid var(--red);border-radius:50%;font:900 8.5px/1.3 var(--body);text-align:center;color:var(--red)}.card-plate{position:absolute;left:9px;right:9px;bottom:9px;height:calc(30% - 2px);padding:0 12px;display:flex;flex-direction:column;justify-content:center;z-index:2;min-width:0}.dog-code{font:italic 900 var(--code-size,58px)/.95 var(--latin);font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.025em;color:var(--red);margin:-32px 0 3px;white-space:nowrap;text-shadow:0 2px 0 var(--paper),2px 0 0 var(--paper),-2px 0 0 var(--paper),0 -2px 0 var(--paper),2px 2px 0 var(--paper),-2px -2px 0 var(--paper)}.card-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.card-title h2{font-size:25px;line-height:1.4;white-space:nowrap}.card-title small{font-size:12px;font-weight:500;color:var(--muted);max-width:76px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.card-note{font-size:11px;line-height:1.6;color:var(--muted);margin-top:3px;min-height:35px;display:flex;align-items:center}.card-note-link{font-size:inherit;line-height:1.6;text-align:left;padding:0;color:var(--red-dark);min-height:44px}.card-note-link:hover{text-decoration:underline;text-underline-offset:3px}.holo::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1;pointer-events:none;mix-blend-mode:color-dodge;opacity:.5;background:linear-gradient(115deg,transparent 22%,#ff8cbe8c 34%,#8cdcff8c 44%,#ffeb828c 54%,transparent 66%);background-size:260% 260%;background-position:30% 30%;animation:card-sheen 7s ease-in-out infinite}.card-small .dog-code{font-size:var(--code-small,30px);margin-top:-22px}.card-small .card-title h2{font-size:15px}.card-small .card-plate{padding:0 8px}.card-small .card-serial{left:14px;top:14px;padding:2px 7px;font-size:9px}.card-small .card-club{display:none}.dog-card{width:300px;max-width:100%;margin:auto}.wangge-back{position:relative;aspect-ratio:5/7;width:244px;margin:32px auto;border-radius:18px;background:var(--paper);padding:9px;box-shadow:0 18px 34px -16px #50321475;transform:rotate(-3deg);transform-style:preserve-3d;backface-visibility:hidden}.card-back-face{position:absolute;inset:9px;border-radius:11px;background:var(--red);overflow:hidden;display:grid;place-items:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cg fill='%23fffaf0' fill-opacity='.12'%3E%3Cellipse cx='22' cy='27' rx='6' ry='5'/%3E%3Ccircle cx='14' cy='19' r='2.6'/%3E%3Ccircle cx='19' cy='14' r='2.6'/%3E%3Ccircle cx='25' cy='14' r='2.6'/%3E%3Ccircle cx='30' cy='19' r='2.6'/%3E%3C/g%3E%3C/svg%3E")}.card-back-seal{width:160px;height:160px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px solid var(--paper);outline:1px dashed #fffaf0b3;outline-offset:-10px;border-radius:50%;color:var(--paper)}.card-back-seal b{font-size:30px;line-height:1.3;letter-spacing:.12em}.card-back-seal small{font:italic 700 10px/1.8 var(--latin);letter-spacing:.1em;margin-top:6px}.card-back-number{position:absolute;bottom:22px;left:0;right:0;font:italic 700 11px var(--latin);letter-spacing:.2em;color:var(--paper)}.wangge-back.is-flipping{animation:card-back-lift .32s ease-in forwards}.wangge-card.is-opening{animation:card-open .5s cubic-bezier(.2,.65,.3,1) both;backface-visibility:hidden}.holo.is-sweeping::after{animation:card-glint .8s ease-out,card-sheen 7s .8s ease-in-out infinite}@keyframes card-sheen{50%{background-position:80% 80%}}@keyframes card-glint{from{background-position:0 0}to{background-position:100% 100%}}@keyframes card-back-lift{to{transform:translateY(-12px) rotateY(90deg) rotate(-3deg)}}@keyframes card-open{from{transform:perspective(1000px) rotateY(-90deg)}to{transform:perspective(1000px) rotateY(0)}}

/* Opening. Its five grid areas are also used by the purchase and activation gates. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-areas:"heading art" "description art" "controls art" "facts art";column-gap:48px;row-gap:20px;padding:54px 0 44px;align-items:center}.hero-copy{display:contents}.hero-heading{grid-area:heading}.hero h1{font-size:clamp(39px,4.4vw,60px);line-height:1.35;letter-spacing:-.04em;margin-top:8px}.hero h1 em{font-style:normal;color:var(--red);background:linear-gradient(transparent 70%,#e8b44a80 70% 92%,transparent 92%)}.hero-description{grid-area:description;font-size:16px;line-height:1.9;color:#5b4a3d;max-width:460px}.hero-actions{grid-area:controls;max-width:420px;width:100%;margin-top:0}.dog-name{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.name-row input{width:100%;height:50px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);padding:10px 20px;font-size:16px}.hero-actions>.primary{width:100%;margin-top:12px}.authorization-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}.hero-facts{grid-area:facts;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--line);padding-top:12px;max-width:420px;font-size:12px;color:var(--muted)}.hero-facts b{display:block;font:italic 800 26px/1.3 var(--latin);color:var(--ink)}.hero-art{grid-area:art;position:relative;isolation:isolate;width:100%;max-width:520px;height:480px;margin:auto;align-self:center}.hero-art .fan-card{position:absolute;width:46%;top:77px}.hero-art .fan-1{left:6%;transform:rotate(-11deg);z-index:1}.hero-art .fan-2{left:50%;width:49%;top:25px;transform:translateX(-50%);z-index:2}.hero-art .fan-3{right:6%;transform:rotate(10deg);z-index:1}.hero-sticker{position:absolute;right:7%;top:5px;z-index:3;padding:7px 13px;border-radius:999px;background:var(--mustard);font-size:13px;font-weight:900;transform:rotate(6deg);box-shadow:0 3px 0 #c79430}.hero-more{display:flex;align-items:center;gap:22px;border-block:1px solid var(--line);padding:22px 0}.hero-more .index{font:italic 900 36px var(--latin);color:var(--red)}.hero-more p{flex:1;font-size:18px}.hero-more small{display:block;font-size:13px;color:var(--muted);margin-top:3px}.club-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:28px 0 12px}.club-strip span{font-size:13px;color:var(--muted)}.club-strip strong{display:block;font-size:16px;color:var(--ink);margin-bottom:3px}.entry-illustration{grid-area:art;min-width:0;width:100%}

.photo-step,.dog-reveal{max-width:550px;margin:32px auto;padding:0 0 30px}.photo-step h1,.dog-reveal h1{font-size:clamp(27px,4vw,40px);line-height:1.45;margin:8px 0}.photo-step .intro{font-size:15px;line-height:1.9;color:#5b4a3d}.photo-slot{position:relative;width:236px;aspect-ratio:5/7;margin:22px auto;background:var(--paper);padding:9px;border-radius:18px;box-shadow:0 16px 30px -18px #50321480}.photo-step-preview{position:absolute;inset:9px 9px 30%;border:2px dashed #bfa780;border-radius:11px;overflow:hidden;background:repeating-linear-gradient(135deg,#f6ead2 0 10px,#f9f0dd 10px 20px);display:grid;place-items:center;align-content:center;gap:6px;text-align:center}.photo-step-preview svg{width:38px;height:38px;color:var(--red)}.photo-step-preview b{font-size:15px}.photo-step-preview small{font-size:11px;color:var(--muted)}.photo-step-preview img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-slot-plate{position:absolute;left:18px;right:18px;bottom:24px}.photo-slot-plate i{display:block;height:10px;margin-top:8px;border-radius:5px;background:#efe3cc}.photo-slot-plate i:first-child{width:56%;height:22px;background:#f1d4cc}.photo-step>.secondary,.photo-step>.primary{display:flex;width:100%;margin-top:16px}.photo-step>.text-button{display:block;margin:12px auto 0}.consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0 10px;font-size:13px;line-height:1.8;color:#6b5a4b;min-height:44px;cursor:pointer}.consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--red);margin:3px 0 0}.photo-hint,.portrait-limit{font-size:12px;line-height:1.85;color:var(--muted);margin-top:9px}.dog-reveal{text-align:center;perspective:1000px;position:relative;background:radial-gradient(ellipse at 50% 36%,#fff6e3,transparent 70%)}.dog-reveal::before{content:"";position:absolute;left:50%;top:80px;width:320px;height:320px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#e8b44a59,transparent 68%);z-index:-1}.dog-reveal>p:not(.eyebrow){font-size:14px;color:var(--muted)}.dog-reveal>.primary{display:flex;width:100%;margin-top:22px}.dog-reveal>.text-button{display:block;margin:12px auto}

.quiz{max-width:680px;margin:28px auto 0}.quiz-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.quiz-dog{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere}.quiz-dog img,.quiz-dog svg{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--red);padding:1px}.quiz-dog svg{padding:5px;background:var(--paper);color:var(--red)}.question-count{font:italic 800 26px/1.4 var(--latin);white-space:nowrap}.question-count small{font-size:14px;color:var(--muted)}.progress{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px;margin:14px 0 20px}.progress span{height:5px;border-radius:3px;background:#eadcc2}.progress .answered{background:var(--red)}.progress .current{background:var(--mustard)}.question-card{padding:26px 24px;border-radius:22px;background:var(--paper);box-shadow:0 14px 30px -20px #50321455}.quiz h1{font-size:26px;line-height:1.6;margin:8px 0}.question-hint{font-size:14px;line-height:1.8;color:var(--muted)}.answers{border:0;padding:0;margin:20px 0 0;display:grid;gap:9px;min-width:0}.answer{display:flex;align-items:center;gap:12px;min-height:56px;padding:11px 14px;border:1.5px solid var(--line);border-radius:16px;background:#fffdf7;font-size:16px;line-height:1.6;cursor:pointer;position:relative;transition:background .16s,border-color .16s}.answer:hover{border-color:var(--red)}.answer:has(input:checked){border-color:var(--red);background:#fff3ec;color:var(--red-dark);font-weight:700;box-shadow:0 3px 0 #c2412d40}.answer input{position:absolute;opacity:0;width:1px;height:1px}.answer:has(input:focus-visible){outline:3px solid #385b76;outline-offset:3px}.option-dot{width:22px;height:22px;border:1.5px solid #bfa780;border-radius:50%;flex-shrink:0}.answer input:checked+.option-dot{background:var(--red);border-color:var(--red);box-shadow:inset 0 0 0 5px #fff3ec}.answer-unknown{border-style:dashed;background:transparent;min-height:44px;font-size:13px;color:var(--muted)}.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px 0}.quiz-actions>span{font-size:12px;color:var(--muted)}.quiz-actions .primary{font-size:14px;min-height:44px}.quiz-bottom{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}.review{max-width:760px;margin:32px auto}.review h1,.atlas h1{font-size:36px;line-height:1.4;margin:8px 0 12px}.review-intro,.atlas-intro{font-size:15px;color:var(--muted)}.review-warning{border:1.5px solid var(--mustard);border-radius:14px;padding:14px;background:#fff0cb;font-size:14px;margin:20px 0}.review-list{padding:0;list-style:none;margin:26px 0;display:grid;gap:10px}.review-list li{display:grid;grid-template-columns:30px minmax(0,1fr) 44px;align-items:center;gap:12px;padding:14px;border:1.5px solid transparent;border-radius:16px;background:var(--paper)}.review-list li.missing{border-color:var(--mustard);background:#fff4d8}.review-number{font:italic 800 22px var(--latin);color:var(--red)}.review-question{font-size:13px;color:var(--muted)}.review-answer{font-size:15px;margin-top:3px}.review-list button{font-size:13px;color:var(--red)}.review>.primary{width:100%;margin:12px 0}

.result{max-width:800px;margin:0 auto;padding-top:30px}.result-opening{text-align:center;margin-bottom:20px}.result-opening h1{font-size:30px;line-height:1.6;margin-top:6px}.result-front{max-width:500px;margin:auto;perspective:1000px}.result-id{font-size:10px;line-height:1.8;letter-spacing:.03em;color:var(--muted);text-align:center;margin:18px 0 14px;overflow-wrap:anywhere}.owner-role{padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);font-size:14px;color:#5b4a3d}.owner-role strong{color:var(--red);font-size:16px}.owner-role span{display:block;font-size:13px;margin-top:3px}.card-quote{font-size:17px;font-weight:700;text-align:center;margin:15px 0}.card-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.card-actions button{font-size:14px;padding:10px 8px;gap:4px}.report-jump{display:flex;justify-content:center;align-items:center;min-height:44px;font-size:13px;color:var(--red-dark);margin-top:8px}.report-jump:hover{text-decoration:underline;text-underline-offset:4px}.portrait-panel{max-width:680px;margin:28px auto;padding:24px;border:1px solid var(--line);border-radius:20px;background:#f5e9d2}.portrait-heading{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.portrait-heading h2{font-size:27px;line-height:1.5;margin-top:4px}.portrait-heading .eyebrow{font-size:10px}.portrait-badge{font:italic 700 18px/1.3 var(--latin);border:1px solid var(--red);color:var(--red);padding:8px 13px;border-radius:50%;transform:rotate(8deg);white-space:nowrap}.portrait-panel .intro{font-size:14px;color:#5b4a3d;margin-top:12px;line-height:1.85}.photo-input-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:center;margin-top:22px}.photo-preview{position:relative;width:100px;height:100px;border:1.5px dashed #bfa780;border-radius:11px;background:var(--paper);display:grid;place-content:center;overflow:hidden}.photo-preview img{width:100px;height:100px;object-fit:cover}.photo-preview svg{width:34px;height:34px;color:var(--red);margin:0 auto 6px}.photo-preview span{font-size:10px;color:var(--muted);text-align:center}.photo-select{padding:8px 15px;min-height:44px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);font-size:14px}.portrait-controls{display:flex;align-items:center;gap:15px;margin-top:20px}.portrait-controls .primary{font-size:15px}.portrait-controls small{font-size:12px;color:var(--muted)}.portrait-done{display:flex;align-items:center;gap:18px;margin-top:20px}.portrait-done img{width:110px;height:110px;object-fit:cover;flex-shrink:0;border:6px solid var(--paper);border-radius:12px}.portrait-done p{font-size:16px;font-weight:700}.portrait-done small{display:block;font-size:12px;color:var(--muted)}.portrait-done .secondary{font-size:13px;margin-top:10px;min-height:44px;padding:8px 14px}.portrait-developing{position:absolute;inset:0;background:#f6ead2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px}.portrait-developing p{font-size:14px}.portrait-developing small{font-size:12px;color:var(--muted)}.spinner{width:34px;height:34px;border:3px solid #d7c09a;border-top-color:var(--red);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}#save-portrait-hint{max-width:680px;margin:14px auto;text-align:center}.report-back{margin-top:32px;padding:26px;border-radius:22px;background:var(--paper);box-shadow:0 14px 30px -22px #50321455}.report-back-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1.5px dashed var(--line)}.report-back-heading h2{font-size:20px;line-height:1.6}.report-back-heading>span{font:italic 700 16px var(--latin);color:var(--red)}.report-summary{font-size:16px;line-height:1.9;margin-top:18px}.report-quote{font-size:20px;line-height:1.9;margin-top:16px;color:var(--red-dark)}.report-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.report-tags span{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:#f6ecd8}.dimension{margin:22px 0}.dimension-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:15px}.dimension-head small{font-size:12px;color:var(--muted);text-align:right}.dimension-bar{height:12px;border-radius:6px;background:#f1e5cf;overflow:hidden;position:relative;margin:7px 0 4px}.dimension-bar span{position:absolute;top:0;bottom:0;border-radius:6px}.from-low span{left:0;background:var(--mustard)}.from-high span{right:0;background:var(--red)}.dimension-labels{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.dimension-labels .is-lean{font-weight:900;color:var(--ink)}.dimension-reflection{font-size:13px;color:var(--muted);line-height:1.9;margin-top:6px}.section-title{display:flex;align-items:center;gap:10px;margin:28px 0 12px}.section-title span{font:italic 900 27px var(--latin);color:var(--red)}.section-title h2{font-size:22px;line-height:1.5}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.evidence{padding:14px;border-radius:12px;background:#fff3dc;border-left:3px solid var(--mustard)}.evidence-label{font-size:12px;color:var(--muted)}.evidence blockquote{font-size:15px;line-height:1.8;margin:5px 0 0;font-weight:700}.evidence summary{display:flex;align-items:center;cursor:pointer;font-size:12px;color:var(--muted);margin-top:4px}.evidence details p{font-size:13px;color:var(--muted);padding:5px 0}.ideas{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ideas li{border:1.5px solid var(--ink);border-radius:12px;padding:16px}.ideas h3{font-size:16px;color:var(--red-dark);margin-bottom:4px}.ideas p{font-size:14px;line-height:1.9;color:#5b4a3d}.little-date{font-size:15px;padding:12px 0 12px 14px;margin-top:20px;border-left:3px solid var(--mustard)}.neighbor{font-size:14px;color:var(--muted);margin-top:22px;padding-top:18px;border-top:1px dashed var(--line)}.neighbor strong{color:var(--red-dark)}.report-about{border-top:1px solid var(--line);margin-top:24px}.report-about summary{display:flex;align-items:center;cursor:pointer;font-size:14px;padding-top:7px}.disclosure{font-size:13px;color:var(--muted);line-height:1.9;margin:10px 0}.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 14px}.result-actions>*{flex:1}.result-more{display:flex;justify-content:space-between;gap:12px}

.atlas{padding:28px 0}.atlas>.eyebrow{margin-top:18px}.atlas-filters{display:flex;gap:8px;margin:22px 0 0}.atlas-filters button{padding:8px 16px;min-height:44px;border:1px solid var(--line);border-radius:999px;font-size:14px;background:var(--paper);white-space:nowrap}.atlas-filters button[aria-pressed="true"]{border-color:var(--red);color:var(--paper);background:var(--red)}.atlas-filters button:hover{border-color:var(--red)}.atlas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:34px;margin-top:32px}.type-preview{position:relative;min-width:0;scroll-margin-top:32px}.type-preview>.wangge-card{width:100%}.type-preview>p{font-size:14px;line-height:1.85;color:var(--muted);margin:13px 3px 0}.type-preview.is-own>.wangge-card{outline:3px solid var(--mustard);outline-offset:3px}.own-card-label{position:absolute;left:9px;right:auto;top:-15px;z-index:4;max-width:calc(100% - 18px);padding:3px 10px;border-radius:999px;background:var(--mustard);font-size:11px;font-weight:900;line-height:1.7;transform:rotate(-4deg);overflow-wrap:anywhere}.atlas-foot{font-size:13px;color:var(--muted);margin-top:28px;line-height:1.9}

/* Scope gate styling so the other assessments retain their current design. */
body[data-entry-product="dogs"] .commerce-opening{max-width:1260px;padding:0 44px;margin:auto}body[data-entry-product="dogs"] .hero{align-items:start}body[data-entry-product="dogs"] .entry-illustration{position:sticky;top:28px}body[data-entry-product="dogs"] .commerce-entry{grid-area:controls;border-radius:22px;border:1px solid var(--line);background:var(--paper);max-width:460px;padding:24px;margin:0}body[data-entry-product="dogs"] .commerce-entry h2{font-weight:900}body[data-entry-product="dogs"] .commerce-entry input{border:1.5px solid var(--ink);border-radius:999px;background:var(--cream);padding:12px 18px}body[data-entry-product="dogs"] .commerce-entry button,body[data-entry-product="dogs"] .commerce-entry .commerce-continue{border:0;border-radius:999px;min-height:54px;background:var(--red);color:var(--paper);box-shadow:0 3px 0 var(--red-dark)}body[data-entry-product="dogs"] .commerce-entry button:not(:disabled):hover{background:var(--red-dark);filter:none}body[data-entry-product="dogs"] .commerce-price{font-family:var(--latin);font-style:italic}body[data-entry-product="dogs"] .commerce-buy{border-color:var(--line)}

dialog{position:fixed;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:20px;max-width:560px;width:calc(100% - 32px);padding:38px 28px;max-height:88dvh;overflow:auto;box-shadow:0 20px 100px #3e301a33}dialog::backdrop{background:#30271b85;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:6px;right:9px;width:44px;height:44px;font-size:28px;color:var(--red)}#dialog-content h2{font-size:25px;line-height:1.6;margin:6px 0 18px}#dialog-content p{font-size:15px;color:#5b4a3d;line-height:1.9;margin:12px 0}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.dialog-actions>*{flex:1;min-width:120px}.boot{text-align:center;padding:90px 20px}.skip-link{position:fixed;top:-70px;left:20px;background:var(--ink);color:var(--paper);padding:10px;z-index:99}.skip-link:focus{top:10px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 35px);background:var(--ink);color:var(--paper);border-radius:14px;padding:11px 18px;font-size:14px;z-index:80;opacity:0;pointer-events:none;transition:opacity .15s}#notice.visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.enter{animation:appear .35s ease both}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.page-shell{padding:0 28px}.hero{column-gap:20px}.hero h1{font-size:42px}.hero-art{height:370px}.hero-art .fan-card{top:62px}.hero-art .fan-2{top:22px}.hero-sticker{font-size:11px;right:2%}body[data-entry-product="dogs"] .commerce-opening{padding:0 28px}}
@media(max-width:760px){.page-shell{padding:0 22px}.site-header{height:76px;gap:10px}.brand{font-size:19px;gap:8px}.brand img{width:30px;height:30px}.brand small{font-size:8px;letter-spacing:.09em}.site-header nav{gap:12px}.site-header .text-button{font-size:12px}.about-link{display:none}.hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "art" "description" "controls" "facts";padding:24px 0;row-gap:16px}.hero h1{font-size:34px;line-height:1.3;letter-spacing:-.02em}.hero .eyebrow{font-size:11px}.hero-art{max-width:430px;height:clamp(274px,82vw,365px);margin:0 auto}.hero-art .fan-card{top:48px}.hero-art .fan-2{top:10px}.hero-sticker{top:0;right:3%;font-size:12px;padding:6px 11px}.hero-description{font-size:14px;line-height:1.9}.hero-actions{max-width:none}.dog-name{font-size:13px}.hero-actions>.primary{font-size:15px}.authorization-note{font-size:11px;margin-top:10px}.hero-facts{max-width:none;font-size:11px;gap:10px;padding-top:10px}.hero-facts b{font-size:23px}.hero-more{gap:12px;flex-wrap:wrap;padding:18px 0}.hero-more .index{font-size:30px}.hero-more p{font-size:16px;min-width:225px}.hero-more small{font-size:12px}.hero-more .text-button{margin-left:41px}.club-strip{gap:14px;margin-top:24px}.club-strip span{font-size:11px;line-height:1.9}.club-strip strong{font-size:13px}.site-footer{font-size:10px;margin-top:32px;gap:10px}.photo-step,.dog-reveal{margin-top:24px}.photo-step h1,.dog-reveal h1{font-size:27px}.photo-step .intro{font-size:14px}.consent{font-size:12px}.photo-slot{margin-top:20px}.quiz{margin-top:20px}.quiz-meta{font-size:13px}.question-count{font-size:24px}.progress{margin:12px 0 18px;gap:3px}.question-card{padding:22px 16px}.quiz .eyebrow{font-size:10px}.quiz h1{font-size:22px;line-height:1.55}.question-hint{font-size:13px}.answer{font-size:15px;min-height:54px;padding:10px 12px;gap:11px}.answer-unknown{font-size:12px;min-height:44px}.answers{margin-top:16px}.quiz-actions{padding:8px 3px 0}.quiz-actions .back{font-size:13px}.quiz-bottom{font-size:10px}.review h1,.atlas h1{font-size:28px}.review-intro,.atlas-intro{font-size:14px}.review-list li{gap:9px;grid-template-columns:24px minmax(0,1fr) 44px;padding:12px}.review-question{font-size:12px}.review-answer{font-size:14px}.result{padding-top:22px}.result-opening{text-align:left;margin-bottom:16px}.result-opening h1{font-size:23px}.result-opening .eyebrow{font-size:9px;letter-spacing:.08em}.result-id{font-size:9px;margin-top:16px}.owner-role{font-size:13px;padding:12px 14px}.owner-role strong{font-size:14px}.owner-role span{font-size:12px}.card-quote{font-size:15px}.card-actions .primary,.card-actions .secondary{font-size:13px;min-height:50px}.portrait-panel{padding:20px 16px}.portrait-heading h2{font-size:23px}.portrait-heading .eyebrow{font-size:9px;letter-spacing:.05em}.portrait-badge{font-size:15px;padding:7px 11px}.portrait-panel .intro{font-size:13px}.photo-input-row{grid-template-columns:88px minmax(0,1fr);gap:12px}.photo-preview,.photo-preview img{width:88px;height:88px}.photo-select{font-size:13px;padding:8px 12px}.photo-hint,.portrait-limit{font-size:11px}.portrait-controls{flex-direction:column;align-items:stretch;gap:8px}.portrait-controls small{text-align:center;font-size:11px}.portrait-done{gap:12px}.portrait-done img{width:90px;height:90px}.portrait-done p{font-size:14px}.portrait-done small{font-size:11px}.portrait-done .secondary{font-size:12px;padding:7px 12px}.report-back{padding:18px 16px;margin-top:26px}.report-back-heading h2{font-size:16px}.report-back-heading>span{font-size:14px}.report-summary{font-size:14px}.report-quote{font-size:17px;line-height:1.9}.report-tags{gap:6px}.report-tags span{font-size:11px;padding:4px 9px}.dimension-head{font-size:14px}.dimension-head small{font-size:10px}.dimension-labels{font-size:11px}.dimension-reflection{font-size:12px}.section-title{gap:8px;margin-top:26px}.section-title span{font-size:24px}.section-title h2{font-size:18px}.evidence-grid,.ideas{grid-template-columns:minmax(0,1fr)}.evidence{padding:12px}.evidence-label{font-size:11px}.evidence blockquote{font-size:14px}.ideas h3{font-size:15px}.ideas p{font-size:13px}.little-date{font-size:14px}.neighbor,.disclosure{font-size:12px}.result-actions{display:grid;grid-template-columns:minmax(0,1fr)}.result-actions>*{font-size:14px}.result-more .text-button{font-size:12px}.atlas{padding-top:20px}.atlas-filters{gap:6px;margin-top:18px}.atlas-filters button{padding:8px 13px;font-size:12px}.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:30px;margin-top:28px}.type-preview>p{font-size:12px;line-height:1.85;margin-top:10px}.atlas-foot{font-size:12px}.atlas .card-small .card-plate{padding-inline:5px}.atlas .card-small .card-serial{left:13px;top:13px;font-size:8px}.atlas .card-small .card-title h2{font-size:15px}.atlas .card-small .dog-code{letter-spacing:-.04em}body[data-entry-product="dogs"] .commerce-opening{padding:0 22px}body[data-entry-product="dogs"] .entry-illustration{position:relative;top:auto}body[data-entry-product="dogs"] .commerce-entry{max-width:none;padding:20px}dialog{padding:38px 22px 24px}#dialog-content h2{font-size:22px}#dialog-content p{font-size:14px}}
@media(max-height:500px) and (min-width:761px){.hero{padding-top:26px}.site-header{height:72px}.dog-reveal{padding-top:0}.wangge-back{width:210px}.photo-slot{width:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.portrait-panel button.portrait-redraw{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;width:auto;padding:4px 2px;border:0;border-radius:0;background:transparent;color:inherit;font-size:13px;font-weight:400;line-height:1.7;font-family:inherit;text-decoration:underline;text-underline-offset:4px;box-shadow:none}.portrait-panel button.portrait-redraw:hover{background:transparent;filter:none;box-shadow:none;opacity:.8}

/* 2026-10-30 卡背报告改为珍藏册：高光小卡、技能卡、约会票根与隐藏款，与主题 PDF 一致 */
.back-title{align-items:center;gap:12px}.back-title>div{min-width:0}.back-title small{display:block;font:italic 800 12px/1.5 var(--latin);letter-spacing:.03em;color:var(--red)}
.report-back .dimension-bar{height:10px;background:#efe1c6;border-radius:6px}.report-back .dimension-bar span{background:var(--mustard);border-radius:6px}
.report-back .dimension-labels .is-lean{font-family:var(--latin);font-style:italic;font-weight:800;color:var(--ink)}
.moments{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin-top:6px}
.moment{display:flex;flex-direction:column;min-height:220px;padding:14px 15px 12px;background:var(--paper);border:1.5px solid var(--ink);border-radius:12px;box-shadow:5px 5px 0 var(--red)}
.moment header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:7px;border-bottom:1.5px dashed var(--line);font-size:13px;font-weight:700}
.moment-no{font:italic 800 15px var(--latin);color:var(--red)}
.moment-q{margin-top:9px;font-size:13px;line-height:1.75;color:var(--muted)}
.moment blockquote{margin:10px 0 12px;font-size:16px;line-height:1.7;font-weight:700}
.moment blockquote:before{content:"“";display:block;height:20px;font:italic 900 38px/1 var(--latin);color:var(--red)}
.moment small{margin-top:auto;font-size:12px;color:var(--muted)}
.skills{list-style:none;margin:0;padding:0}
.skills li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;padding:14px 0;border-bottom:1.5px dashed var(--line)}
.skill-no{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--mustard);color:var(--ink);font:italic 800 17px var(--latin)}
.skills small{font-size:13px;font-weight:700;color:var(--red)}.skills p{margin-top:3px;font-size:15px;line-height:1.8}
.date-ticket{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);margin:22px 0 4px;background:var(--paper);border:1.5px solid var(--red);border-radius:8px}
.date-ticket:before,.date-ticket:after{content:"";position:absolute;left:96px;width:16px;height:16px;border-radius:50%;background:var(--cream);border:1.5px solid var(--red)}.date-ticket:before{top:-9px}.date-ticket:after{bottom:-9px}
.ticket-stub{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:14px 10px;background:#fbe3dd;border-right:1.5px dashed var(--red);border-radius:7px 0 0 7px;text-align:center}
.ticket-stub span{font:italic 800 17px/1.2 var(--latin);color:var(--red)}.ticket-stub small{font-size:12px;font-weight:700}
.date-ticket p{padding:14px 18px;font-size:15px;line-height:1.85}
.variant{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center}
.ghost-card{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:5/7;border:2px dashed var(--red);border-radius:12px;color:var(--red);background:repeating-linear-gradient(135deg,#fff7ea 0 10px,#fbefd9 10px 20px)}
.ghost-card span{font:italic 900 52px/1 var(--latin)}.ghost-card small{font-size:12px;font-weight:700;margin-top:6px}
.variant>div>small{font-size:13px;color:var(--muted)}.variant h3{font-size:28px;line-height:1.4;color:var(--red)}.variant p{font-size:14px;line-height:1.85;margin-top:6px}.variant .text-button{margin-top:6px;padding-left:0}
.report-back .report-about{margin-top:22px}
.result-id{font-size:12px}
@media(max-width:560px){.moments{grid-template-columns:1fr;gap:14px}.moment{min-height:0}.variant{grid-template-columns:92px minmax(0,1fr);gap:14px}.ghost-card span{font-size:40px}.variant h3{font-size:24px}.date-ticket{grid-template-columns:88px minmax(0,1fr)}.date-ticket:before,.date-ticket:after{left:80px}.date-ticket p{padding:12px 14px}}
@media(max-width:760px){.quiz-bottom,.site-footer,.site-footer a,.dimension-head small,.result-id{font-size:12px}}
/* 底部已有完整推荐时，不再重复单张推荐 */
#main:has(.next-tests:not(.next-tests-compact)) .result .next-tests-compact{display:none}
.photo-preview span{font-size:12px;line-height:1.5}
