:root{--bg: #ebf4f0;--panel: #ffffff;--text: #1f2823;--muted: #909993;--line: #d7e1dc;--soft: #e4efea;--accent: #10a081;--accent-strong: #0f9b7c;--radius: .875rem;--page-bleed: .875rem;--content-max: 35rem;--gallery-max-width: 60svh;--hero-space: 2rem;--shadow: 0 .875rem 2.125rem rgba(34, 60, 46, .07)}*{box-sizing:border-box}h1,h2,h3,p{margin:0}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);overflow-x:hidden}.shell{width:100%;margin:0 auto;min-height:100svh;padding:var(--page-bleed);color:var(--text);background:var(--bg)}.card{width:100%;min-height:calc(100svh - (var(--page-bleed) * 2));background:var(--panel);border:0;border-radius:var(--radius);box-shadow:none}.btn-primary,.btn-secondary{border:0;cursor:pointer;min-height:3.5rem;padding:.875rem 1.125rem;border-radius:.5rem;font:inherit;font-size:1.125rem;font-weight:800;transition:transform .14s ease,opacity .14s ease,background-color .14s ease}.btn-primary{background:var(--accent-strong);color:#fff}.btn-secondary{background:transparent;border:.0625rem solid #ccdbd5;color:var(--accent)}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-.0625rem)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.55;transform:none}.hero-v2{padding:var(--hero-space);text-align:center;overflow:hidden;display:flex}.hero-stack{width:100%;max-width:var(--content-max);margin:0 auto;flex:1;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}.hero-top,.hero-bottom{min-height:0;display:flex;align-items:center;justify-content:center}.hero-top{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.hero-top.is-dragging{cursor:grabbing}.hero-bottom{flex-direction:column;gap:var(--hero-space)}.hero-copy{display:flex;flex-direction:column;gap:.5rem}.intro-gallery{position:relative;width:min(100%,var(--gallery-max-width));aspect-ratio:1.38 / 1;margin:0;--center-card-width: 48%;--side-card-width: 40%;--side-card-top: 10%;-webkit-user-select:none;user-select:none}.hero-top.is-dragging .gallery-card{transition:none}.gallery-card{position:absolute;top:var(--side-card-top);width:var(--side-card-width);padding:0;border:0;border-radius:.5rem;overflow:hidden;background:transparent;box-shadow:0 .875rem 1.875rem #1f282314;transform-origin:center bottom;transition:left .26s ease,right .26s ease,top .26s ease,width .26s ease,opacity .2s ease,transform .26s ease,filter .2s ease;will-change:transform}.gallery-card img{width:100%;display:block;pointer-events:none}.gallery-card.is-center{left:calc((100% - var(--center-card-width)) / 2);top:0;width:var(--center-card-width);z-index:3;opacity:1;filter:none;transform:none}.gallery-card.is-left,.gallery-card.is-right,.gallery-card.is-enter-left,.gallery-card.is-enter-right{z-index:1;opacity:.78;filter:saturate(.94) contrast(.98)}.gallery-card.is-enter-left{left:calc(var(--side-card-width) * -.72);transform:none}.gallery-card.is-left{left:0;transform:none}.gallery-card.is-right{left:calc(100% - var(--side-card-width));transform:none}.gallery-card.is-enter-right{left:calc(100% - (var(--side-card-width) * .28));transform:none}.gallery-card.is-left:hover,.gallery-card.is-right:hover{opacity:.7}.hero-line{width:100%;height:.0625rem;background:#d8dcdc;margin:0;flex:none}.hero-v2 h1{font-size:2.75rem;font-weight:900;line-height:1.08;letter-spacing:0;margin-bottom:0}.hero-sub{color:var(--muted);font-size:1.3125rem;line-height:1.38;font-weight:400;margin-bottom:0}.hero-v2 .hero-actions{width:min(100%,15.875rem);margin:0 auto 2.125rem}.hero-bottom .hero-actions{margin:0 auto}.hero-v2 .btn-primary{width:100%;min-height:3.875rem;border-radius:.5rem;font-size:1.375rem;font-weight:700}.intro-meta{color:var(--muted);font-size:1.0625rem;line-height:1.6;display:flex;justify-content:center;gap:.5rem}.intro-meta a{color:var(--accent);font-weight:700}.test-wrap{padding:1.125rem .75rem .875rem;height:calc(100svh - (var(--page-bleed) * 2));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.test-head{min-height:0}.topbar{display:flex;align-items:center;gap:1rem;margin-bottom:1.125rem}.progress{flex:1;height:.875rem;background:#e0e5e2;border-radius:999rem;overflow:hidden}.progress>span{width:0;height:100%;display:block;background:linear-gradient(90deg,#0ca987,#0b9f81);border-radius:inherit;transition:width .2s ease}.progress-text{color:#8f9993;font-size:1.125rem;font-weight:700;white-space:nowrap}.question-list{min-height:0;overflow:hidden}.question{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0}.question-meta{display:flex;justify-content:space-between;align-items:center;color:#9ba49f;font-size:.875rem;margin-bottom:.875rem}.badge{background:#dff0ea;color:var(--accent);border-radius:999rem;font-weight:800;padding:.5625rem .875rem;font-size:.875rem}.question-sep{height:.0625rem;background:var(--line);margin-bottom:1rem}.question-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.125rem}.question-title{font-size:1.25rem;line-height:1.5;font-weight:800;padding-bottom:1rem;white-space:pre-wrap}.answer-dock{min-height:0;flex:none;padding-top:1rem;background:var(--panel);overflow:hidden}.options{display:grid;gap:.75rem;margin-top:0}.option{display:flex;align-items:center;gap:.5rem;min-height:4rem;padding:.625rem 1rem;border-radius:.75rem;border:.125rem solid #d6e1dc;background:#fbfdfc;transition:border-color .14s ease,background-color .14s ease}.option input{accent-color:var(--accent);transform:scale(1.22);margin:0;flex-shrink:0}.option-content{min-width:0;display:flex;align-items:center;margin-left:.75rem}.option-code{color:#1f2623;font-weight:900;min-width:1.35rem;font-size:1.125rem}.option-text{font-size:1rem;font-weight:400;line-height:1.5;color:#282e2a}.option:has(input:checked){border-color:#cfe6df;background:#e4efea}.option:has(input:checked) .option-code,.option:has(input:checked) .option-text{color:var(--accent)}.actions-bottom{min-height:0;padding-top:1rem}.hint{min-height:.75rem;margin-bottom:.5rem}.test-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.test-controls button{font-size:1.125rem;min-height:3.5rem;border-radius:.75rem}.result-wrap{padding:0;background:transparent;overflow-x:hidden}.result-layout{display:grid;gap:1.125rem}.result-main-card,.analysis-box,.dim-box{background:var(--panel);border:0;border-radius:var(--radius);padding:1.5rem 1.25rem}.result-main-title{font-size:1.25rem;text-align:center;margin-bottom:1.125rem;font-weight:700}.poster-box{display:grid;justify-items:center;width:100%;overflow-x:clip}.poster-stage{position:relative;width:min(76%,28rem);border-radius:.875rem;background:#eef3f1;margin-bottom:1.125rem}.poster-image{width:100%;display:block;object-fit:contain;border-radius:inherit}.approve-stamp{position:absolute;right:-18%;bottom:14%;width:44%;opacity:.9;transform:rotate(-9deg);transform-origin:50% 50%;pointer-events:none;animation:stampIn .9s cubic-bezier(.16,1.35,.22,1) .2s both}.poster-caption{color:var(--muted);font-size:1.0625rem;text-align:center;line-height:1.6;margin-bottom:1.25rem}.result-divider{height:.0625rem;background:var(--line);margin:0 0 1.375rem}.type-box{text-align:left}.type-kicker{color:var(--muted);font-size:1rem;margin-bottom:1rem;font-weight:700}.type-name{color:var(--accent-strong);font-size:2.35rem;line-height:1.16;font-weight:900;margin-bottom:.875rem;letter-spacing:0}.match{display:inline-flex;align-items:center;border-radius:999rem;background:#e5f3ef;color:var(--accent-strong);font-size:1rem;font-weight:800;padding:.5rem 1rem;margin-bottom:1.25rem}.type-subname{color:var(--muted);font-size:.875rem;line-height:1.6;padding-top:1.125rem;border-top:.0625rem solid var(--line)}.analysis-box h3,.dim-box h3{font-size:1.25rem;margin-bottom:1rem}.analysis-box p{color:#555d58;font-size:1rem;line-height:1.62;white-space:pre-wrap}.dim-list{display:grid;gap:1rem}.dim-item{border:.0625rem solid #b7ded4;border-radius:.5rem;padding:1rem 1.125rem;background:#fbfdfc}.dim-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.dim-item-name{color:var(--accent-strong);font-size:1rem;font-weight:800}.dim-item-score{color:var(--accent-strong);font-size:1rem;font-weight:900;white-space:nowrap}.dim-item p{color:#737d77;font-size:.875rem;line-height:1.45;margin:0}.result-actions{margin-top:1.125rem}.result-action-card{background:var(--panel);border-radius:var(--radius);padding:1rem}.result-button-row{width:100%;display:grid;gap:.625rem}.result-button-row .btn-secondary,.result-button-row .btn-primary{width:100%;min-height:4rem;font-size:1.125rem}@keyframes stampIn{0%{opacity:0;transform:rotate(-9deg) scale(3.2);filter:blur(.25rem)}46%{opacity:1;transform:rotate(-9deg) scale(.88);filter:blur(0)}64%{transform:rotate(-9deg) scale(1.06)}82%{transform:rotate(-9deg) scale(.98)}to{opacity:.9;transform:rotate(-9deg) scale(1)}}@media (prefers-reduced-motion: reduce){.approve-stamp{animation:none}}@media (max-width: 23.75rem){:root{--page-bleed: .875rem;--gallery-max-width: 100%;--hero-space: 1.5rem}.intro-gallery{aspect-ratio:1.38 / 1;margin-bottom:0;--center-card-width: 48%;--side-card-width: 40%;--side-card-top: 10%}.hero-line{margin:0}.hero-v2 h1{font-size:2.125rem;margin-bottom:0}.hero-sub{font-size:1.125rem;margin-bottom:0}.hero-v2 .hero-actions{width:min(100%,14rem);margin-bottom:1.375rem}.hero-bottom .hero-actions{margin-bottom:0}.hero-v2 .btn-primary{min-height:3.5rem;font-size:1.25rem}.intro-meta{font-size:.875rem}.question-title{font-size:1.125rem}.option-code{font-size:1rem}.option-text{font-size:.9375rem}.test-controls button{font-size:1rem}}@media (min-width: 40rem){:root{--page-bleed: 1.75rem;--gallery-max-width: 58svh;--hero-space: clamp(1.5rem, 3.2svh, 2.5rem)}.intro-gallery{width:auto;height:min(100%,calc(var(--gallery-max-width) / 1.38));max-width:100%;aspect-ratio:1.38 / 1;margin-bottom:0;--center-card-width: 48%;--side-card-width: 40%;--side-card-top: 10%}.gallery-card.is-left{left:0}.gallery-card.is-right{right:0}.hero-line{margin:0}.hero-v2 h1{font-size:3rem;margin-bottom:0}.hero-sub{font-size:1.5625rem;margin-bottom:0}.hero-v2 .hero-actions{width:min(100%,16.25rem);margin-bottom:2.125rem}.hero-bottom .hero-actions{margin-bottom:0}.hero-v2 .btn-primary{font-size:1.3125rem;min-height:3.875rem}.intro-meta,.progress-text{font-size:1.375rem}.question-meta,.badge{font-size:1rem}.question-title{font-size:1.75rem}.option-code{font-size:1.375rem}.option-text{font-size:1.25rem}.test-controls button{font-size:1.375rem;min-height:3.75rem}.result-main-title{font-size:1.25rem}.type-name{font-size:2.625rem}.analysis-box h3,.dim-box h3{font-size:1.25rem}.analysis-box p{font-size:.9375rem}.dim-item-name,.dim-item-score{font-size:.875rem}.dim-item p{font-size:.75rem}}
