.mirror-test-page{background:var(--ink-black);color:var(--bone);min-height:100vh;font-family:Cormorant Garamond,serif;line-height:1.5;position:relative;overflow-x:hidden}.ambient{z-index:0;pointer-events:none;background:radial-gradient(ellipse at 80% 10%, #8b0a1f2e 0%, transparent 50%), radial-gradient(ellipse at 10% 90%, #b8935a0f 0%, transparent 50%), var(--ink-black);position:fixed;inset:0}.ambient-kanji{color:var(--crimson);opacity:.025;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;font-family:Yuji Mai,serif;font-size:65vh;line-height:1;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.topbar{z-index:50;border-bottom:1px solid #f0e6d214;justify-content:space-between;align-items:center;padding:1.5rem 4rem;display:flex;position:relative}.topbar-logo{letter-spacing:.08em;color:var(--bone);align-items:center;gap:.6rem;font-family:Shippori Mincho,serif;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.topbar-logo .seal{background:var(--crimson);width:26px;height:26px;color:var(--bone);border-radius:50%;justify-content:center;align-items:center;font-family:Yuji Mai,serif;font-size:.95rem;display:inline-flex}.topbar-tag{letter-spacing:.3em;text-transform:uppercase;color:#f0e6d280;font-family:JetBrains Mono,monospace;font-size:.7rem}.stage{z-index:10;flex-direction:column;justify-content:center;max-width:920px;min-height:calc(100vh - 80px);margin:0 auto;padding:4rem 2rem 6rem;display:flex;position:relative}.step{animation:.7s cubic-bezier(.16,1,.3,1) stepIn;display:none}.step.active{display:block}@keyframes stepIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.progress-rail{align-items:center;gap:1.5rem;margin-bottom:3rem;display:flex}.progress-step-num{letter-spacing:.3em;color:var(--gold-leaf);text-transform:uppercase;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.7rem}.progress-step-num span{color:var(--crimson);font-family:Shippori Mincho,serif;font-size:1.3rem;font-weight:700}.progress-track{background:#f0e6d21a;flex:1;height:1px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(to right, var(--crimson-deep), var(--crimson));transition:right .6s cubic-bezier(.7,0,.3,1);position:absolute;inset:0 100% 0 0}.eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--crimson);align-items:center;gap:1rem;margin-bottom:1.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:flex}.eyebrow .num{color:var(--bone);font-family:Yuji Mai,serif;font-size:1.6rem;line-height:1}.step-title{letter-spacing:-.02em;color:var(--bone);margin-bottom:1.5rem;font-family:Shippori Mincho,serif;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:700;line-height:1.05}.step-title em{color:var(--crimson);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400}.step-lede{color:#f0e6d2c7;max-width:660px;margin-bottom:2.5rem;font-size:1.15rem;font-weight:300;line-height:1.65}.step-lede strong{color:var(--bone);font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:1.5rem 2rem;margin-bottom:2.5rem;display:grid}.form-field{flex-direction:column;display:flex}.form-field.span-2{grid-column:span 2}.form-label{letter-spacing:.25em;text-transform:uppercase;color:var(--gold-leaf);margin-bottom:.6rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.form-label .req{color:var(--crimson)}.form-input,.form-select{color:var(--bone);background:#14100f99;border:1px solid #f0e6d226;outline:none;width:100%;padding:.9rem 1rem;font-family:Shippori Mincho,serif;font-size:1.05rem;transition:all .4s}.form-input:focus,.form-select:focus{border-color:var(--crimson);background:#14100fe6;box-shadow:0 0 0 3px #c8102e1a}.form-input::placeholder{color:#f0e6d24d;font-style:italic}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4 L6 8 L10 4' stroke='%23c8102e' fill='none' stroke-width='1.5'/></svg>");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-select option{background:var(--ink-deep);color:var(--bone)}.form-textarea{resize:vertical;min-height:100px;font-family:Cormorant Garamond,serif}.btn-row{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1rem;display:flex}.btn{letter-spacing:.25em;text-transform:uppercase;cursor:pointer;border:none;align-items:center;gap:.7rem;padding:1.05rem 2.4rem;font-family:JetBrains Mono,monospace;font-size:.78rem;text-decoration:none;transition:color .4s;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--crimson);color:var(--bone)}.btn-primary:before{content:"";background:var(--ink-black);transition:transform .5s cubic-bezier(.7,0,.3,1);position:absolute;inset:0;transform:translateY(100%)}.btn-primary:hover:before{transform:translateY(0)}.btn-primary:hover{color:var(--crimson)}.btn-primary>*{z-index:1;position:relative}.btn-ghost{color:var(--bone);background:0 0;padding:1.05rem .5rem}.btn-ghost:after{content:"";transform-origin:0;background:#f0e6d266;width:calc(100% - 1rem);height:1px;transition:transform .4s,background .4s;position:absolute;bottom:.6rem;left:.5rem;transform:scaleX(.3)}.btn-ghost:hover:after{background:var(--crimson);transform:scaleX(1)}.btn-ghost:hover{color:var(--crimson)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:before{transform:translateY(100%)!important}.question-card{background:linear-gradient(#1a1614b3 0%,#0a0707d9 100%);border:1px solid #f0e6d21a;margin-bottom:2rem;padding:3rem 2.5rem;position:relative;overflow:hidden}.question-card:after{content:attr(data-kanji);color:var(--crimson);opacity:.1;pointer-events:none;font-family:Yuji Mai,serif;font-size:6rem;line-height:1;position:absolute;top:1.5rem;right:2rem}.question-num{letter-spacing:.3em;color:var(--crimson);text-transform:uppercase;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.question-text{color:var(--bone);letter-spacing:-.01em;max-width:90%;margin-bottom:1.5rem;font-family:Shippori Mincho,serif;font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:600;line-height:1.3}.question-trap{color:#f0e6d2a6;border-left:2px solid var(--crimson);background:#c8102e0d;margin-bottom:2rem;padding:.8rem 1.2rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic}.question-trap-label{letter-spacing:.3em;color:var(--crimson);text-transform:uppercase;margin-bottom:.4rem;font-family:JetBrains Mono,monospace;font-size:.6rem;font-style:normal;display:block}.answer-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.answer-btn{color:var(--bone);letter-spacing:.05em;cursor:pointer;text-align:left;background:#14100f80;border:1px solid #f0e6d226;padding:1.4rem 1rem;font-family:Shippori Mincho,serif;font-size:1.1rem;font-weight:600;transition:all .4s cubic-bezier(.7,0,.3,1);position:relative;overflow:hidden}.answer-btn:before{content:"";background:var(--crimson);transform-origin:bottom;z-index:0;transition:transform .4s cubic-bezier(.7,0,.3,1);position:absolute;inset:0;transform:scaleY(0)}.answer-btn>*{z-index:1;position:relative}.answer-btn:hover{border-color:var(--crimson)}.answer-btn:hover:before{transform-origin:top;transform:scaleY(.05)}.answer-btn .kanji{color:var(--crimson);margin-right:.6rem;font-family:Yuji Mai,serif;font-size:1.6rem;transition:color .4s}.answer-btn .label{letter-spacing:.3em;color:#f0e6d280;margin-left:.6rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.answer-btn.selected{border-color:var(--crimson);background:#c8102e26}.answer-btn.selected:before{transform-origin:bottom;transform:scaleY(1)}.answer-btn.selected .kanji{color:var(--bone)}.belt-reveal{text-align:center;margin-bottom:4rem}.belt-glyph{color:var(--crimson);text-shadow:0 0 60px #c8102e80;margin-bottom:1rem;font-family:Yuji Mai,serif;font-size:12rem;line-height:1;animation:1.4s cubic-bezier(.16,1,.3,1) kanjiReveal}@keyframes kanjiReveal{0%{opacity:0;filter:blur(20px);transform:scale(.5)rotate(-10deg)}to{opacity:1;filter:blur();transform:scale(1)rotate(0)}}.belt-name{color:var(--bone);letter-spacing:-.02em;margin-bottom:.5rem;font-family:Shippori Mincho,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700}.belt-romaji{color:var(--crimson);letter-spacing:.1em;margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-style:italic}.score-display{border-top:1px solid #c8102e66;border-bottom:1px solid #c8102e66;align-items:baseline;gap:.4rem;margin-bottom:2.5rem;padding:1.5rem 3rem;display:inline-flex}.score-display .num{color:var(--crimson);font-family:Shippori Mincho,serif;font-size:4rem;font-weight:700;line-height:1}.score-display .out-of{color:#f0e6d280;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-style:italic}.belt-verdict{color:var(--bone);max-width:720px;margin:0 auto 3rem;padding:0 1rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-style:italic;line-height:1.5}.belt-verdict:before,.belt-verdict:after{content:"「";color:var(--crimson);margin-right:.4rem;font-family:Yuji Mai,serif}.belt-verdict:after{content:"」";margin-left:.4rem;margin-right:0}.archetype-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.archetype-pill{background:#14100f99;border:1px solid #f0e6d226;padding:1.4rem 1.4rem 1.2rem;transition:all .4s}.archetype-pill.lead{border-color:var(--crimson);background:linear-gradient(#c8102e1f 0%,#14100f99 100%)}.archetype-pill .role{letter-spacing:.3em;text-transform:uppercase;color:#f0e6d280;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;font-size:.6rem}.archetype-pill.lead .role{color:var(--crimson);font-weight:700}.archetype-pill .name{color:var(--bone);margin-bottom:.3rem;font-family:Shippori Mincho,serif;font-size:1.5rem;font-weight:700}.archetype-pill .domain{color:var(--gold-leaf);font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic}.reco-section{margin-bottom:4rem}.reco-section-title{color:var(--bone);text-align:center;margin-bottom:.4rem;font-family:Shippori Mincho,serif;font-size:1.8rem;font-weight:700}.reco-section-sub{color:var(--gold-leaf);text-align:center;margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic}.invoice-summary{text-align:center;background:linear-gradient(#8b0a1f1f 0%,#14100f99 100%);border:1px solid #c8102e4d;margin-bottom:3rem;padding:2.5rem}.invoice-summary .label{letter-spacing:.4em;text-transform:uppercase;color:var(--gold-leaf);margin-bottom:.8rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.invoice-summary .amount{color:var(--crimson);letter-spacing:-.02em;margin-bottom:.8rem;font-family:Shippori Mincho,serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;line-height:1.1}.invoice-summary .caption{color:#f0e6d2b3;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic}.phase-grid{grid-template-columns:1fr;gap:1rem;display:grid}.phase-card{background:#14100f99;border:1px solid #f0e6d21a;grid-template-columns:100px 1fr;align-items:start;gap:1.5rem;padding:1.6rem 1.8rem;transition:all .4s;display:grid}.phase-card:hover{border-color:#c8102e66}.phase-num{color:var(--crimson);font-family:Yuji Mai,serif;font-size:2.5rem;line-height:1}.phase-num-sub{letter-spacing:.3em;color:var(--gold-leaf);margin-top:.4rem;font-family:JetBrains Mono,monospace;font-size:.6rem}.phase-content h4{color:var(--bone);margin-bottom:.4rem;font-family:Shippori Mincho,serif;font-size:1.2rem;font-weight:600}.phase-content p{color:#f0e6d2b3;margin-bottom:.5rem;font-size:.95rem;font-weight:300;line-height:1.55}.phase-deliverable{color:var(--gold-leaf);border-top:1px dashed #b8935a4d;margin-top:.6rem;padding-top:.6rem;font-family:Cormorant Garamond,serif;font-size:.92rem;font-style:italic}.phase-deliverable:before{content:"↳ Deliverable: ";color:var(--crimson);letter-spacing:.2em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.65rem;font-style:normal}.grad-checklist{border-left:3px solid var(--gold-leaf);background:#14100f66;margin-top:2rem;padding:1.5rem 1.8rem}.grad-checklist h4{letter-spacing:.3em;color:var(--gold-leaf);text-transform:uppercase;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.grad-checklist ul{padding:0;list-style:none}.grad-checklist li{color:#f0e6d2bf;border-bottom:1px dashed #f0e6d214;padding:.5rem 0 .5rem 1.8rem;font-size:.95rem;position:relative}.grad-checklist li:last-child{border-bottom:none}.grad-checklist li:before{content:"☐";color:var(--crimson);font-size:1.1rem;position:absolute;left:0}.grad-checklist li strong{color:var(--bone);font-weight:600}.final-action{text-align:center;border-top:1px solid #f0e6d21a;margin-top:3rem;padding:3rem 2rem}.final-action-title{color:var(--bone);margin-bottom:1.5rem;font-family:Shippori Mincho,serif;font-size:1.5rem;font-weight:600}.final-action-title em{color:var(--crimson);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400}.pdf-hint{color:#f0e6d280;margin-top:1rem;font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic}.intro-hero{text-align:center;padding:2rem 0}.intro-kanji{color:var(--crimson);text-shadow:0 0 60px #c8102e66;margin-bottom:1.5rem;font-family:Yuji Mai,serif;font-size:8rem;line-height:1;animation:6s ease-in-out infinite introBreathe}@keyframes introBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.intro-quote{color:var(--gold-leaf);max-width:580px;margin:2rem auto 1rem;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;line-height:1.5}.intro-quote-author{letter-spacing:.3em;color:#f0e6d266;text-transform:uppercase;margin-bottom:3rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.intro-rules{text-align:left;background:#14100f80;border:1px solid #f0e6d21a;max-width:580px;margin:2.5rem auto;padding:2rem}.intro-rules h4{letter-spacing:.3em;color:var(--crimson);text-transform:uppercase;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.intro-rules p{color:#f0e6d2bf;margin-bottom:.6rem;font-family:Cormorant Garamond,serif;line-height:1.5}.intro-rules p strong{color:var(--bone);font-style:italic}@media (max-width:768px){.topbar{padding:1rem 1.2rem}.stage{padding:2rem 1.2rem 4rem}.form-grid{grid-template-columns:1fr;gap:1.5rem}.form-field.span-2{grid-column:span 1}.answer-row{grid-template-columns:1fr}.question-card{padding:2rem 1.5rem}.question-card:after{font-size:4rem}.belt-glyph{font-size:8rem}.ambient-kanji{font-size:50vh}.progress-rail{gap:.8rem}.topbar-tag{display:none}.phase-card{grid-template-columns:1fr;gap:.5rem}.archetype-row{grid-template-columns:1fr 1fr}}
