:root{--bg:#f5f7fb;--white:#fff;--ink:#152238;--text:#25354b;--muted:#7b8ba0;--faint:#9aa8b9;--border:#e3e9f1;--soft:#eff3f9;--blue:#4c62e6;--deep:#344bcc;--blue-soft:#f0f2ff;--teal:#2c8995;--mint:#eaf7f5;--shadow:0 8px 35px rgba(28,52,95,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Yu Gothic UI','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:focus-visible,[role=button]:focus-visible,summary:focus-visible{outline:3px solid #98a8ff;outline-offset:3px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95em;background:#f0f3fa;border:1px solid #e5ebf5;padding:1px 5px;border-radius:5px;color:#4154af}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.shell{max-width:1254px;margin:auto;padding:0 34px}.app-header{display:flex;align-items:center;justify-content:space-between;height:96px;gap:16px;border-bottom:1px solid #e5eaf2}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:white;background:linear-gradient(145deg,#22365e,#4861cf);box-shadow:0 9px 15px #344fcc1b}.brand-main{font-size:17px;font-weight:800;letter-spacing:-.45px;white-space:nowrap}.brand-plus{font-weight:400;color:#a3afc0;margin:0 5px}.brand-sub{font-size:14px;color:#53647e;font-weight:650}.brand-caption{color:#96a3b6;font-weight:620;font-size:10px;margin-top:3px;letter-spacing:.35px}.header-right{display:flex;align-items:center;gap:17px}.secure-chip{display:flex;align-items:center;gap:8px;border:1px solid #dcece9;border-radius:9px;background:#f1faf8;padding:10px 12px;color:#497c76;font-weight:730;font-size:11px;white-space:nowrap}.secure-dot{background:#42a68d;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 3px #d6f0e8}.version{color:#9ba7b9;font-size:10px;letter-spacing:1px;font-weight:700;white-space:nowrap}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 3px 35px;min-height:206px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:1.6px;color:#6e80aa;margin-bottom:15px}.eyebrow-bar{width:22px;height:2px;background:#6579d7;display:inline-block}.intro h1{font-size:clamp(26px,3.1vw,38px);line-height:1.27;font-weight:820;letter-spacing:-1.55px;margin:0 0 13px}.intro p{margin:0;color:#728298;font-size:13px;line-height:1.95;letter-spacing:.04px}.intro p strong{color:#364b6c;font-weight:760}.intro-art{height:134px;min-width:285px;display:flex;align-items:center;justify-content:center;padding:12px 12px 0}.art-card{width:111px;height:117px;background:white;border:1px solid #e5eaf3;border-radius:14px;box-shadow:0 16px 27px #365a8b13;padding:14px;display:flex;flex-direction:column;justify-content:space-between}.art-card.art-b{transform:translateY(-8px);border-color:#dce1fc}.art-mini{font-size:9px;color:#8e9bb1;font-weight:820;letter-spacing:.8px}.art-card.art-b .art-mini{color:#7881c9}.art-lines{display:grid;gap:6px}.art-lines b,.art-lines i{display:block;height:5px;border-radius:3px;background:#dfe6f2}.art-lines i{width:70%;background:#aebce9}.art-lines b:last-child{width:85%}.art-b .art-lines b{background:#8191ec}.art-b .art-lines i{background:#d5dcff}.art-path{width:42px;height:32px;display:grid;place-items:center;border-top:1px dashed #a7b7e3;position:relative;color:#5b6bdd}.art-ball{font-size:22px;background:#f5f7fb;line-height:20px;position:absolute;top:-13px;font-weight:650;padding:0 4px}.journey{background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);min-height:97px;padding:23px 34px;display:flex;align-items:center;justify-content:space-between;gap:14px}.journey-item{display:flex;align-items:center;gap:14px;min-width:0}.journey-count{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:#f0f3fd;color:#586aca;font-size:13px;font-weight:850}.journey-item b{display:block;font-size:13px;font-weight:770;color:#22334f;margin-bottom:5px;white-space:nowrap}.journey-item span{display:block;color:#8896a9;font-size:11px;white-space:nowrap}.journey-arrow{color:#b3bfd0;display:grid;place-items:center}.journey-arrow .icon{width:18px;height:18px}.workspace-title{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:37px 2px 17px}.workspace-title h2{font-size:20px;letter-spacing:-.65px;margin:4px 0 0;font-weight:790}.label-up{font-size:10px;color:#6579ae;font-weight:820;letter-spacing:1.1px}.workspace-title p{margin:0 0 2px;color:#96a2b2;font-size:11px}.step-switch{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:17px}.step-button{position:relative;border:1px solid #e2e9f2;border-radius:16px;background:#fff;min-height:104px;text-align:left;display:flex;align-items:center;gap:15px;padding:20px 20px;box-shadow:var(--shadow);transition:border .15s,transform .15s,background .15s}.step-button:hover{border-color:#b9c6f6;transform:translateY(-1px)}.step-button.active{border-color:#afbcfa;background:linear-gradient(105deg,#fff,#f9faff);box-shadow:0 6px 21px #5064c217}.step-button .step-num{font-size:25px;line-height:1;color:#c4cfdf;font-weight:830;letter-spacing:-.9px;align-self:center;min-width:38px}.step-button.active .step-num{color:#4f61d7}.step-button-text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.step-button small{color:#8a9aad;font-size:10px;font-weight:700}.step-button b{font-size:16px;letter-spacing:-.3px;color:#233651;font-weight:790}.step-button.active b{color:#344bbe}.step-button-text>span{font-size:11px;color:#8391a4}.step-chevron{color:#a8b4c6}.active .step-chevron{color:#6176df}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:17px;align-items:start}.workspace-main{min-width:0}.work-card,.rail-card,.results{background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow)}.work-card{padding:30px 33px 29px}.work-card[hidden],.results[hidden],.feedback[hidden]{display:none!important}.card-top{display:flex;align-items:center;justify-content:space-between}.phase-indicator{display:inline-flex;align-items:center;gap:10px;padding:7px 10px;background:#eef1ff;color:#5063cb;border-radius:7px;font-size:10px;letter-spacing:.8px;font-weight:850}.phase-indicator span{height:4px;width:4px;border-radius:50%;background:#8a9ae9}.card-top-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#f5f7fb;color:#7c8ca8}.card-top-icon .icon{width:18px;height:18px}.work-card h3{font-size:21px;font-weight:820;letter-spacing:-.65px;line-height:1.55;margin:17px 0 6px}.section-sub{font-size:12px;color:#78879d;line-height:1.9;margin:0;max-width:610px}.section-line{height:1px;background:#ecf0f5;margin:26px 0 24px}.field-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;gap:12px;color:#30405a;font-size:12px;font-weight:800}.field-head-side{font-size:10px;color:#a0aebe;font-weight:650}.upload-card{display:flex;align-items:center;gap:13px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;padding:14px;min-height:82px;margin-bottom:10px;transition:background .17s,border .17s,box-shadow .17s;cursor:pointer}.upload-card:hover,.upload-card.drag-over{border-color:#b4c3ee;background:#fafbff}.upload-card.drag-over{box-shadow:inset 0 0 0 1px #b4c3ee}.upload-card.filled{border-color:#d0e8df;background:#fcfffe}.upload-symbol{display:grid;place-items:center;width:40px;height:44px;border:1px solid #e9edf5;background:#f6f8fc;border-radius:10px;color:#8d9bb1;flex:none}.filled .upload-symbol{background:#eaf8f1;color:#378e6d;border-color:#dceee5}.upload-symbol .icon{width:19px;height:19px}.upload-copy{flex:1;min-width:0}.upload-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-weight:800;font-size:12px;color:#2a3a52;margin-bottom:6px}.upload-title em{font-style:normal;color:#4d5fc5;font-size:9px;border-radius:5px;background:#eef1ff;padding:3px 6px;font-weight:820}.upload-title .soft{background:#f2f5f9;color:#929eaf}.upload-filename{font-size:11px;color:#99a7b8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.filled .upload-filename{color:#278365;font-weight:720}.choose{background:#f6f8fc;border:1px solid #e0e8f1;color:#48627b;font-size:11px;font-weight:790;padding:10px 11px;border-radius:8px;white-space:nowrap;transition:background .15s}.choose:hover{background:#eef2fa}.helper{display:flex;align-items:flex-start;gap:9px;background:#f6f8ff;border:1px solid #e9edfb;border-radius:11px;padding:14px 15px;line-height:1.85;color:#687b9a;font-size:11px;margin-top:15px}.helper .icon{color:#8294d7;width:16px;height:16px;margin-top:2px}.helper b{color:#52688d}.helper code{background:transparent;border:0;padding:0;font-weight:800;color:#435ab6}.advanced-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:18px;color:#6c7b92;font-size:11px;cursor:pointer}.advanced-toggle small{color:#a9b4c2;font-size:10px;margin-left:2px}.advanced-toggle input{position:absolute;opacity:0}.toggle-graphic{width:30px;height:17px;background:#d7dfeb;border-radius:15px;position:relative;transition:background .2s}.toggle-graphic:after{content:'';position:absolute;left:3px;top:3px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #64748b2a;transition:transform .2s}.advanced-toggle input:checked+.toggle-graphic{background:#6578e5}.advanced-toggle input:checked+.toggle-graphic:after{transform:translateX(13px)}.advanced-toggle input:focus-visible+.toggle-graphic{outline:3px solid #9caafa}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px}.action-message{display:flex;flex-direction:column;gap:5px;min-width:0}.action-message b{font-size:11px;font-weight:790;color:#455974}.action-message span{font-size:10px;color:#98a5b6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:245px}.primary-button{display:flex;align-items:center;gap:9px;min-height:47px;background:#485fe1;border:1px solid #485fe1;color:#fff;border-radius:10px;font-weight:790;font-size:12px;white-space:nowrap;padding:12px 15px 12px 17px;box-shadow:0 8px 17px #4159d528;transition:background .15s,transform .15s}.primary-button:hover:not(:disabled){background:#354cc9;transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;box-shadow:none}.primary-button .arrow{width:16px;height:16px;margin-left:6px}.rail-card{padding:23px 22px;margin-bottom:16px}.rail-eyebrow{font-size:9px;font-weight:830;letter-spacing:1.35px;color:#8697b5;margin-bottom:10px}.rail-head h3{font-size:15px;font-weight:780;letter-spacing:-.35px;margin:0}.rail-steps{margin-top:22px}.rail-step{display:flex;gap:12px;position:relative;padding:0 0 24px}.rail-step:before{content:'';width:1px;position:absolute;left:16px;top:33px;bottom:0;background:linear-gradient(#dee5f1,#eef1f7)}.rail-step:last-child{padding-bottom:0}.rail-step:last-child:before{display:none}.rail-step-no{flex:none;display:grid;place-items:center;border-radius:50%;width:33px;height:33px;background:#f0f3fb;color:#8698b7;font-size:12px;font-weight:800}.rail-step:first-child .rail-step-no{background:#edf1ff;color:#4b62d2}.rail-step b{font-size:12px;color:#354663;display:block;margin-top:1px}.rail-step p{font-size:11px;line-height:1.75;color:#8c9aad;margin:6px 0 0}.protection{background:#fbfcff}.protection-line{display:flex;gap:10px;align-items:flex-start;margin-top:14px;color:#6a7c92;font-size:11px;line-height:1.7}.protection-line .icon{width:15px;height:15px;color:#5b9e92;margin-top:1px}.rail-footnote{padding:3px 9px 8px;color:#91a0b2;font-size:10px;line-height:1.85;display:flex;gap:9px}.rail-footnote .icon{width:15px;height:15px;margin-top:3px}.rail-footnote p{margin:0}.results{margin-top:18px;padding:24px 28px}.results-top{display:flex;align-items:flex-start;gap:12px}.result-mark{width:38px;height:38px;border-radius:10px;background:#e9f8f2;color:#31916e;display:grid;place-items:center;flex:none}.results h3{font-size:16px;margin:0 0 5px}.results p{color:#8391a5;font-size:11px;margin:0;line-height:1.6}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.stats>div{background:#f8faff;border:1px solid #edf1f7;border-radius:10px;padding:13px 11px}.stats b{display:block;font-size:21px;font-weight:830;letter-spacing:-.6px}.stats small{display:block;font-size:10px;color:#97a3b5;margin-top:5px}.output-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #dce9e5;border-radius:11px;background:#fbfffd}.output-file{display:flex;gap:10px;align-items:center;min-width:0}.output-file>.icon{color:#579884}.output-file>div{display:flex;flex-direction:column;gap:4px;min-width:0}.output-file strong{font-size:11px;color:#365d52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.output-file span{font-size:10px;color:#83a49a}.download{background:#26765f;border:1px solid #26765f;color:white;border-radius:9px;padding:11px 13px;display:flex;gap:7px;align-items:center;white-space:nowrap;font-weight:790;font-size:11px}.download:hover{background:#1a5c4a}.download[hidden]{display:none!important}.warn-details{border-radius:11px;border:1px solid #f0e5ca;background:#fffcf5;margin-top:15px;overflow:hidden}.warn-details[hidden]{display:none}.warn-details summary{display:flex;align-items:center;gap:8px;list-style:none;padding:12px 14px;color:#9a762e;font-size:11px;font-weight:720;cursor:pointer}.warn-details summary::-webkit-details-marker{display:none}.warn-details summary>.icon{width:16px;height:16px}.warn-details .right-chevron{margin-left:auto}.warn-list{padding:4px 14px 14px;max-height:200px;overflow:auto;color:#947841;font-size:11px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.next-step{font-size:11px;color:#5e7491;line-height:1.8;margin-top:14px;padding:0 1px}.next-step button{background:none;border:0;color:#465fcb;font-weight:800;text-decoration:underline;text-underline-offset:3px;padding:0;cursor:pointer}.feedback{padding:15px 18px;border:1px solid #f2d2d2;border-radius:12px;background:#fff5f5;margin-top:14px;color:#b15353;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;align-items:center;color:#9ba8b9;font-size:10px;padding:35px 4px 33px;gap:18px}footer span:first-child{font-weight:800;letter-spacing:.5px}.footer-divider{font-weight:400;color:#c3cfde}.mobile-only{display:none}
@media(max-width:1040px){.workspace-grid{grid-template-columns:minmax(0,1fr) 258px}.rail-card{padding:20px 18px}.work-card{padding:27px}.shell{padding:0 23px}.intro-art{min-width:245px}.step-button{padding:18px 14px}.step-button b{font-size:14px}}
@media(max-width:800px){.intro-art{display:none}.workspace-grid{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:1fr 1fr;gap:13px}.right-rail .rail-card{margin:0}.rail-footnote{grid-column:1/-1}.journey{padding:20px}.journey-count{width:34px;height:34px}.journey-item{gap:10px}.journey-item b{font-size:11px}.journey-item span{font-size:10px}.step-button b{font-size:14px}}
@media(max-width:610px){.shell{padding:0 14px}.app-header{height:77px}.brand-mark{width:37px;height:37px}.brand-main{font-size:14px}.brand-sub{font-size:12px}.brand-caption{font-size:9px}.secure-chip{padding:9px;font-size:0}.secure-dot{width:7px;height:7px}.version{display:none}.intro{padding:31px 1px 24px;min-height:0}.intro h1{font-size:29px;letter-spacing:-1.15px}.mobile-only{display:initial}.intro p{font-size:12px;line-height:1.85}.journey{gap:8px;padding:15px 13px;min-height:0}.journey-item{gap:6px;flex:1;align-items:flex-start;flex-direction:column}.journey-count{width:26px;height:26px;font-size:9px;border-radius:8px}.journey-item b{font-size:10px;white-space:normal}.journey-item span{font-size:9px;white-space:normal;line-height:1.5}.journey-arrow{align-self:center}.journey-arrow .icon{width:12px;height:12px}.workspace-title{padding-top:29px}.workspace-title h2{font-size:18px}.workspace-title p{display:none}.step-switch{gap:9px;margin-bottom:12px}.step-button{padding:13px 12px;gap:7px;min-height:94px}.step-button .step-num{font-size:19px;min-width:23px;align-self:flex-start;margin-top:6px}.step-button-text{gap:4px}.step-button small{font-size:9px}.step-button b{font-size:11px;line-height:1.6}.step-button-text>span{font-size:9px;line-height:1.5}.step-chevron{display:none}.work-card{padding:22px 16px}.work-card h3{font-size:18px}.section-sub{font-size:11px}.section-line{margin:23px 0}.field-head{font-size:11px}.field-head-side{font-size:9px}.upload-card{gap:9px;padding:11px 10px;min-height:78px}.upload-symbol{width:32px;height:38px}.upload-title{gap:5px;font-size:11px}.upload-title em{font-size:8px}.choose{font-size:10px;padding:10px 9px}.upload-filename{font-size:10px}.helper{font-size:10px;padding:12px}.card-actions{align-items:stretch;flex-direction:column;gap:15px}.primary-button{justify-content:center}.action-message span{max-width:100%}.right-rail{grid-template-columns:1fr}.rail-footnote{grid-column:auto}.results{padding:20px 15px}.stats{gap:6px}.stats>div{padding:10px 8px}.stats b{font-size:18px}.stats small{font-size:9px}.output-row{flex-direction:column;align-items:stretch}.output-file strong{max-width:270px}.download{justify-content:center}footer{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:29px 4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v3: functional title, no slogan. */
@media(max-width:610px){.brand-main{font-size:12px;letter-spacing:-.18px}.brand-caption{font-size:8px}.intro h1{font-size:clamp(23px,6vw,29px);letter-spacing:-.75px;line-height:1.42}}

/* Reonard ID mapping sidebar */
.mapping-card .rail-head{padding-bottom:6px}
.mapping-intro{margin:10px 0 4px;font-size:12px;line-height:1.65;color:#748299}
.mapping-row{border-bottom:1px solid #e9eff6;padding:12px 0 13px;display:grid;grid-template-columns:1fr auto;column-gap:12px;row-gap:4px;align-items:center}
.mapping-row span{font-size:12px;font-weight:600;color:#6d7c94}
.mapping-row strong{color:#1d5dba;background:#edf5ff;padding:5px 7px;border-radius:7px;font-size:11px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.mapping-row small{font-size:11px;color:#8996a8;grid-column:1/-1}
.mapping-note{display:flex;align-items:flex-start;gap:8px;margin-top:15px;padding:12px;border-radius:10px;background:#f3f7fc;color:#536a88;font-size:11px;line-height:1.7}
.mapping-note .icon{width:16px;height:16px;flex-shrink:0;color:#4c84d9;margin-top:2px}

.safe-settings{margin-top:16px;border:1px solid #e3e9f1;border-radius:12px;padding:10px 14px;background:#f9fbff}.safe-settings>summary{cursor:pointer;font-weight:700;color:#4154af;list-style:revert}.safe-settings .advanced-toggle{margin-top:13px}.option-note{color:#65758c;font-size:12px;line-height:1.7;margin:12px 0 4px}
