@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f5ec;--color-surface:#fff;--color-surface-hover:#f4f8f0;--color-lime:#668765;--color-lime-light:#a9c59f;--color-lime-soft:#dce8d5;--color-text:#344637;--color-text-muted:#687867;--color-border:#d9e2d3;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--content-width:620px;--wide-content-width:1040px;--shadow-panel:0 18px 48px #40583d17, 0 2px 8px #40583d0a;--transition-fast:.2s ease}*,:before,:after{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}html{scroll-behavior:smooth;background:var(--color-bg)}body{min-height:100vh;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 12% 8%,#b9cfae47,#0000 30%),radial-gradient(at 88% 78%,#dae4c759,#0000 32%);font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;position:relative}h1,h2,h3,h4,p{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--color-lime);outline-offset:4px}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}ul,ol{margin:0;padding:0;list-style:none}::selection{color:#fff;background:#789875}.app{isolation:isolate;flex-direction:column;align-items:center;width:100%;min-height:100vh;padding:0 24px;display:flex;position:relative}.app>:not(.particles){z-index:1;position:relative}body:before{z-index:0;content:"";pointer-events:none;opacity:.46;background-image:radial-gradient(circle,#a8c5a0 0 2px,#0000 2.8px),radial-gradient(circle,#a8c5a0 0 2px,#0000 2.8px),radial-gradient(circle,#a8c5a0 0 2px,#0000 2.8px),linear-gradient(90deg,#0000 0 69px,#89ac8040 69px 70px,#0000 70px 100%),linear-gradient(0deg,#0000 0 99px,#89ac8038 99px 100px,#0000 100px 100%);background-position:18px 22px,100px 65px,30px 140px,18px 22px,100px 65px;background-size:180px 160px,260px 220px,320px 280px,180px 160px,260px 220px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#000000b3 55%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000b3 55%,#0000 100%)}.particles{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.particles:before{content:"";opacity:.22;background-image:linear-gradient(90deg,#0000 0 12%,#a8c5a02e 12% 12.15%,#0000 12.15% 100%),linear-gradient(0deg,#0000 0 28%,#a8c5a029 28% 28.15%,#0000 28.15% 100%),linear-gradient(90deg,#0000 0 72%,#a8c5a029 72% 72.15%,#0000 72.15% 100%),radial-gradient(circle,#a8c5a06b 1.5px,#0000 2px);background-position:0 0,40px 30px,80px 20px,12px 20px;background-size:360px 220px,420px 280px,500px 300px,120px 100px;position:absolute;inset:0}.particle{background:#a8c5a026;border:1px solid #a8c5a0cc;border-radius:1px;width:5px;height:5px;animation:12s ease-in-out infinite alternate particle-float;display:block;position:absolute;box-shadow:0 0 10px #a8c5a059}.p1{top:20%;left:8%}.p2{width:4px;height:4px;animation-delay:-4s;top:72%;left:22%}.p3{width:3px;height:3px;animation-delay:-7s;top:35%;left:38%}.p4{animation-duration:16s;top:82%;left:55%}.p5{width:7px;height:7px;animation-delay:-3s;top:16%;left:68%}.p6{animation-duration:14s;top:42%;left:82%}.p7{width:4px;height:4px;animation-delay:-6s;top:75%;left:92%}.p8{animation-delay:-9s;top:90%;left:14%}.p9{width:3px;height:3px;animation-duration:17s;top:12%;left:48%}.p10{animation-delay:-5s;top:62%;left:74%}.p11{width:6px;height:6px;animation-duration:15s;top:54%;left:31%}.p12{width:3px;height:3px;animation-delay:-8s;top:25%;left:88%}.p1,.p3,.p6,.p8,.p10,.p12{background:var(--color-lime-light);border:0;border-radius:50%;box-shadow:0 0 6px #a8c5a0cc,0 0 16px #a8c5a059}.p2,.p5,.p7,.p11{animation-name:particle-float-rotate}.site-header,.site-footer{z-index:5;isolation:isolate;width:100%;max-width:var(--wide-content-width);position:relative}.site-header{cursor:pointer;border-bottom:1px solid #7898754d;padding:30px 0 22px}.site-header:before,.site-footer:before{z-index:-1;content:"";pointer-events:none;background:#f5f5eceb;position:absolute;left:-24px;right:-24px}.site-header:before{top:0;bottom:1px}.site-footer:before{top:0;bottom:0}.site-header>*,.site-footer>*{z-index:1;position:relative}.footer-links{flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:12px 0;display:flex}.footer-links button{color:#687867;text-underline-offset:3px;background:0 0;padding:4px 0;font-size:11px;text-decoration:underline}.footer-links button:hover{color:#4f7250}.legal-page h1{margin-bottom:28px;font-size:24px;line-height:1.6}.legal-page .result-section{margin:24px 0}.legal-page .result-section p+p{margin-top:12px}.copyright{margin-top:10px}.brand{color:#58775a;letter-spacing:.16em;font-family:Orbitron,sans-serif;font-size:13px;font-weight:800}.brand-subtitle{color:#778675;letter-spacing:.08em;margin-top:6px;font-size:12px}.english-text{font-family:Orbitron,sans-serif}.site-footer{color:#7b8878;text-align:center;border-top:1px solid #78987547;margin-top:auto;padding:26px 0 30px;font-size:11px;line-height:1.9}.site-footer p{margin:4px 0}.panel{width:100%;max-width:var(--content-width);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #dce5d6;margin:44px auto;padding:40px;animation:.5s both panel-enter}.eyebrow{color:#6f916d;letter-spacing:.14em;margin:0 0 26px;font-size:11px;font-weight:800;line-height:1.8}.description{color:#667565;overflow-wrap:anywhere;font-size:14px;line-height:2}.note{color:var(--color-text-muted);letter-spacing:.04em;margin:26px 0 30px;font-size:12px}.primary-button{border-radius:var(--radius-md);color:#fff;width:100%;min-height:56px;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:#668765;border:1px solid #668765;justify-content:center;align-items:center;gap:8px;padding:16px 22px;font-size:15px;font-weight:800;line-height:1.5;display:inline-flex;box-shadow:0 7px 16px #567b5429}.primary-button:hover{color:#fff;background:#4f7250;border-color:#4f7250;transform:translateY(-2px);box-shadow:0 9px 22px #567b5433}.primary-button:active{transform:translateY(0)}.option-button{border-radius:var(--radius-md);color:#3d5140;text-align:left;width:100%;min-height:64px;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:#fff;border:1px solid #d7e2d2;align-items:center;gap:14px;padding:14px 18px;font-size:14px;line-height:1.7;display:flex;box-shadow:0 3px 10px #40583d09}.option-button:hover{color:#355337;background:#f4f8f0;border-color:#8eae87}.back-button{color:#6c806a;transition:color var(--transition-fast);background:0 0;justify-content:center;align-items:center;margin-top:28px;padding:10px 0;font-size:13px;display:inline-flex}.back-button:hover{color:#3d6540}.home{text-align:center;margin-top:64px;margin-bottom:64px;padding:52px 44px}.home .eyebrow{margin-bottom:30px}.hero-icon{filter:grayscale(.8);margin:0 auto 28px;font-size:64px;line-height:1.3}.hero-icon img{object-fit:contain;filter:drop-shadow(0 7px 10px #4b67441f);width:100%;max-width:250px;height:250px;margin:0 auto;display:block}.home h1{color:var(--color-text);letter-spacing:-.045em;margin-bottom:26px;font-size:clamp(27px,4vw,38px);font-weight:800;line-height:1.65}.home .description{margin-bottom:14px}.investigator-intro{text-align:center;background:#f1f5ec;border:1px solid #dce7d5;border-radius:14px;max-width:440px;margin:24px auto;padding:16px 20px}.investigator-name{color:#58775a;margin-bottom:8px;font-weight:700}.investigator-intro p:last-child{color:#667565;line-height:1.8}.catalog-entry{text-align:center;width:fit-content;max-width:100%;margin:14px auto 0;display:block}.quiz{padding:36px 40px 40px}.quiz .eyebrow{margin-bottom:24px}.progress-info{color:#6d8969;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;margin-bottom:10px;font-size:14px;font-weight:800;display:flex}.progress-track,.loading-track{background:#e8eee3;border-radius:999px;width:100%;overflow:hidden}.progress-track{height:6px;margin-bottom:36px}.progress-fill,.loading-fill{border-radius:inherit;background:linear-gradient(90deg,#a9c59f,#668765);height:100%}.progress-fill{transition:width .35s;box-shadow:0 0 12px #a8c5a033}.question-title{color:var(--color-text);overflow-wrap:anywhere;margin-bottom:12px;font-size:clamp(21px,3vw,27px);font-weight:800;line-height:1.8}.quiz>.description{margin-bottom:28px;font-size:13px}.options{flex-direction:column;gap:12px;display:flex}.option-button .option-letter{color:#668765;width:34px;height:34px;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:#edf4e8;border:1px solid #d7e2d2;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.option-button:hover .option-letter{color:#fff;background:#668765;border-color:#668765}.loading-screen{text-align:center}.loading-bug{margin:12px auto 24px;font-size:68px;line-height:1.4;animation:.8s ease-in-out infinite alternate loading-bounce}.loading-title{color:var(--color-lime);margin-bottom:16px;font-size:clamp(23px,4vw,30px);font-weight:800;line-height:1.6}.loading-screen .description{min-height:2em;margin-bottom:28px}.loading-track{height:8px;margin-bottom:16px}.loading-fill{width:0;animation:4s ease-in-out forwards loading-progress;box-shadow:0 0 14px #a8c5a066}.result{padding:36px 40px 40px}.result>.eyebrow{text-align:center;margin-bottom:24px}.result-image{object-fit:contain;filter:drop-shadow(0 7px 10px #4b67441f);width:min(100%,240px);max-height:280px;margin:0 auto 24px;display:block}.result-label{color:#71816f;text-align:center;margin-bottom:12px;font-size:13px;line-height:1.8}.result-title{border-radius:var(--radius-sm);width:fit-content;max-width:100%;color:var(--color-text);background:var(--color-lime-light);text-align:center;overflow-wrap:anywhere;margin:0 auto 16px;padding:10px 18px;font-size:clamp(23px,4vw,30px);font-weight:900;line-height:1.5}.character-name{color:#71816f;text-align:center;margin-bottom:16px;font-size:12px;line-height:1.8}.catchphrase{color:#58775a;text-align:center;overflow-wrap:anywhere;margin-bottom:32px;font-size:16px;font-weight:700;line-height:1.9}.result-section{border-radius:var(--radius-md);background:#f7f9f4;border:1px solid #e0e8db;margin-top:14px;padding:22px}.result-section h2,.result-section h3{color:#58775a;margin-bottom:12px;font-weight:800;line-height:1.7}.result-section h2{font-size:15px}.result-section h3{font-size:14px}.result-section p{color:#667565;overflow-wrap:anywhere;font-size:13px;line-height:2}.result>.primary-button{margin-top:28px}.share-buttons{flex-direction:column;gap:12px;margin-top:18px;display:flex}.share-buttons .primary-button{margin-top:0}.share-buttons .option-button{border-color:var(--color-border);text-align:center;background:0 0;justify-content:center;min-height:52px;font-weight:700}.share-buttons .option-button:hover{background:#a8c5a00f;border-color:#8eae87;transform:translateY(-1px)}.copy-message{color:#58775a;text-align:center;margin:0;font-size:12px;line-height:1.8}.investigator-note{border:1px solid #dce7d5;border-left:3px solid var(--color-lime);border-radius:var(--radius-md);background:#f1f5ec;margin-top:20px;padding:20px}.investigator-note-label{color:#58775a;letter-spacing:.06em;margin-bottom:10px;font-size:12px;font-weight:800}.investigator-note p:last-child{color:#667565;font-size:13px;line-height:1.9}.catalog-title{color:var(--color-text);text-align:center;margin-bottom:12px;font-size:clamp(24px,4vw,30px);font-weight:800;line-height:1.6}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0;display:grid}.catalog-card{border-radius:var(--radius-lg);min-width:0;color:var(--color-text);text-align:center;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:#fff;border:1px solid #dce5d6;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;display:flex;box-shadow:0 4px 14px #40583d0b}.catalog-card:hover,.catalog-card.is-selected{background:#f4f8f0;border-color:#8eae87;box-shadow:0 8px 22px #40583d17}.catalog-card:hover{transform:translateY(-2px)}.catalog-image{object-fit:contain;filter:drop-shadow(0 7px 10px #4b67441f);width:100%;max-width:140px;height:120px;margin:0 auto;display:block}.catalog-emoji{font-size:38px;line-height:1.4}.catalog-name{color:var(--color-text);overflow-wrap:anywhere;font-size:14px;font-weight:800}.catalog-type{color:#71816f;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.catalog-hint{color:#71816f;margin-top:4px;font-size:11px}.catalog-detail{border-radius:var(--radius-lg);overflow-wrap:anywhere;background:#f7f9f4;border:1px solid #e0e8db;margin:8px 0 24px;padding:24px}.catalog-detail-emoji{text-align:center;margin-bottom:12px;font-size:64px;line-height:1.4}.catalog-detail h2{color:#58775a;text-align:center;margin-bottom:12px;font-size:21px;line-height:1.6}.catalog-detail .result-section{margin-top:16px;padding:18px}.catalog-detail h3{color:#58775a;margin-bottom:10px;font-size:14px;line-height:1.7}.catalog-detail .character-name{margin-bottom:12px}.catalog-detail .catchphrase{margin-bottom:24px;font-size:14px}.catalog>.primary-button{margin-top:12px}.catalog>.option-button{text-align:center;justify-content:center}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes particle-float{0%{opacity:.2;transform:translate(0,0)rotate(0)}50%{opacity:.85}to{opacity:.45;transform:translate(18px,-28px)rotate(90deg)}}@keyframes particle-float-rotate{0%{opacity:.25;transform:translate(0,0)rotate(0)}50%{opacity:.9}to{opacity:.45;transform:translate(-16px,-24px)rotate(135deg)}}@keyframes loading-bounce{0%{transform:translateY(0)rotate(-5deg)}to{transform:translateY(-10px)rotate(5deg)}}@keyframes loading-progress{0%{width:0}to{width:100%}}@media (width<=600px){.app{padding:0 16px}.site-header{padding:23px 0 18px}.brand{font-size:12px}.panel{border-radius:var(--radius-lg);margin-top:24px;margin-bottom:24px;padding:28px 22px}.home{margin-top:30px;margin-bottom:36px;padding:36px 24px}.home .eyebrow{margin-bottom:22px}.hero-icon{margin-bottom:20px;font-size:54px}.hero-icon img{height:220px}.home h1{font-size:clamp(25px,7vw,32px);line-height:1.7}.home .description{text-align:center;font-size:15px;line-height:2}.note{margin:22px 0 24px;font-size:13px;line-height:1.8}.eyebrow{font-size:12px}.description{font-size:15px;line-height:1.9}.primary-button{min-height:54px;padding:14px 16px;font-size:16px}.quiz{padding:28px 22px}.quiz .eyebrow{margin-bottom:20px}.progress-track{margin-bottom:28px}.question-title{font-size:22px;line-height:1.8}.quiz>.description{margin-bottom:22px;font-size:15px}.options{gap:10px}.option-button{gap:12px;min-height:60px;padding:12px 14px;font-size:15px;line-height:1.75}.option-button .option-letter{flex-basis:32px;width:32px;height:32px}.back-button{margin-top:22px;font-size:14px}.result{padding:28px 20px}.result-image{width:min(100%,210px);max-height:230px}.result-title{padding:10px 14px;font-size:24px}.result-label{font-size:14px}.character-name{font-size:13px}.catchphrase{margin-bottom:32px;font-size:16px}.result-section{padding:18px}.result-section h2{font-size:16px}.result-section p{font-size:15px;line-height:1.9}.investigator-intro{margin:20px auto 24px;padding:15px 16px}.investigator-intro p:last-child{font-size:14px;line-height:1.9}.investigator-note{padding:16px}.investigator-note-label{font-size:13px}.investigator-note p:last-child{font-size:14px}.catalog-grid{gap:10px;margin:22px 0}.catalog-card{border-radius:var(--radius-md);padding:16px 8px}.catalog-image{max-width:150px}.catalog-emoji{font-size:32px}.catalog-name{font-size:15px}.catalog-type{font-size:13px}.catalog-hint{font-size:12px}.catalog-detail{padding:18px}.catalog-detail h3,.catalog-detail .catchphrase{font-size:15px}.loading-bug{font-size:58px}.site-footer{padding:22px 0 24px;font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
