@font-face{font-family:SmartFontUI;src:url(/assets/fonts/smartfontUI.otf) format("opentype");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg-primary: #FFFFFF;--bg-secondary: #fffcd9;--accent: #6FD327;--accent-hover: #5EB321;--text-primary: #655C40;--text-accent: #5EB321;--text-white: #FFFFFF;--font-size-heading: clamp(1.6rem, 4vw, 2.5rem);--font-size-subheading: clamp(1.1rem, 2.5vw, 1.8rem);--font-size-body: clamp(1rem, 1.8vw, 1.25rem);font-family:SmartFontUI,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{width:100%;min-height:100%;margin:0;padding:0;font-family:SmartFontUI,system-ui,sans-serif}a{font-weight:500;color:var(--accent);text-decoration:inherit}a:hover{color:var(--accent-hover)}button{font-family:inherit}.top-page{width:100%;min-height:100vh;min-height:100dvh;background:var(--bg-primary);overflow-x:hidden}.top-main{width:100%}.top-header{display:flex;flex-direction:column;padding:1rem 2rem;background:var(--bg-primary);z-index:100;box-shadow:0 2px 8px #0000000d}.header-top-row{display:flex;justify-content:space-between;align-items:center;width:100%}.header-bottom-row{display:flex;justify-content:center;align-items:center;width:100%;padding-top:3rem}.header-logo-tokyo{height:60px;width:auto}.header-logo-main{width:90%;max-width:1260px;height:auto}.mobile-menu-inline{display:none;position:relative}.desktop-nav{display:flex;align-items:center;gap:.25rem}.desktop-nav a{padding:.5rem 1rem;color:var(--text-primary);text-decoration:none;border-radius:8px;font-size:var(--font-size-body);font-weight:500;transition:background .2s,color .2s}.desktop-nav a:hover{background:#f5f5f5;color:var(--accent)}.header-menu-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .2s}.header-menu-button:hover{background:var(--accent-hover)}.menu-icon{display:flex;flex-direction:column;gap:4px}.menu-icon span{display:block;width:20px;height:2px;background:#fff;border-radius:1px}.menu-text{color:#fff;font-size:.75rem;font-weight:500}.header-nav{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:1rem;display:flex;flex-direction:column;gap:.5rem;min-width:180px}.header-nav a{padding:.75rem 1rem;color:var(--text-primary);text-decoration:none;border-radius:8px;transition:background .2s}.header-nav a:hover{background:#f5f5f5;color:var(--accent)}.hero-section{padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,2rem);background:var(--bg-primary)}.hero-content{display:flex;align-items:stretch;gap:clamp(1.5rem,4vw,3rem);max-width:1400px;margin:0 auto}.hero-left{flex:2;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}.hero-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-heading);font-weight:700;color:var(--accent);line-height:1.4;margin:0}.hero-description{font-size:var(--font-size-body);color:var(--text-primary);line-height:1.8;margin:0}.hero-cta-button{align-self:flex-start;padding:clamp(1rem,2.5vw,1.5rem) clamp(2rem,6vw,5rem);font-size:var(--font-size-subheading);font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:16px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 20px #6fd32766}.hero-cta-button:hover{transform:translateY(-2px);background:var(--accent-hover);box-shadow:0 6px 24px #6fd32780}.hero-right{flex:3}.hero-video-placeholder{width:100%}.hero-video-placeholder video{width:100%;display:block}.feature-carousel-section{padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,2rem);margin-bottom:clamp(2rem,5vw,5rem);background:#fff}.carousel-container{display:flex;align-items:center;gap:1.5rem;max-width:1400px;margin:0 auto}.carousel-arrow{width:56px;height:56px;border:3px solid var(--accent);background:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--accent);transition:all .2s;flex-shrink:0}.carousel-arrow svg{width:28px;height:28px}.carousel-arrow:hover{background:#6fd3271a;transform:scale(1.05)}.carousel-slide{flex:1;background:#fff;border-radius:24px;overflow:hidden;touch-action:pan-y}.feature-carousel-section .carousel-slide{height:320px}.carousel-slide-content{display:flex;align-items:stretch;transition:opacity .2s ease,transform .2s ease}.feature-carousel-section .carousel-slide-content{height:100%}.carousel-slide-content.carousel-enter{opacity:1;transform:translate(0)}.carousel-slide-content.carousel-exit-right{opacity:0;transform:translate(-30px)}.carousel-slide-content.carousel-exit-left{opacity:0;transform:translate(30px)}.carousel-image{width:40%;aspect-ratio:16 / 9;flex-shrink:0;align-self:center;margin:1.5rem;border-radius:16px;overflow:hidden}.carousel-image img{width:100%;height:100%;object-fit:cover;display:block}.carousel-image-placeholder{width:40%;aspect-ratio:16 / 9;background:linear-gradient(135deg,#00000014,#0000001f);display:flex;align-items:center;justify-content:center;color:var(--text-primary);opacity:.5;flex-shrink:0;align-self:center;margin:1.5rem;border-radius:16px}.carousel-experts{display:flex;gap:1.25rem;padding:1rem;width:50%;flex-shrink:0;align-self:center}.expert-card{flex:1;position:relative;border-radius:16px 16px 0 0;overflow:hidden;box-shadow:0 4px 20px #655c401f,0 1px 4px #655c400f;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.expert-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #655c402e,0 4px 8px #655c401a}.expert-image{width:60%;aspect-ratio:1 / 1;object-fit:cover;object-position:top center;display:block;transition:transform .4s ease;margin:.5rem auto 0}.expert-card:hover .expert-image{transform:scale(1.05)}.expert-image-placeholder{width:60%;aspect-ratio:1 / 1;background:linear-gradient(160deg,#6fd32714,#6fd3272e);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:.8rem;font-weight:500;margin:.5rem auto 0}.expert-info{position:relative;padding:.5rem .5rem .75rem;text-align:center;background:transparent}.expert-name{font-family:SmartFontUI,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.expert-title{font-size:.75rem;color:var(--text-secondary);margin:0;white-space:pre-line;line-height:1.4}.carousel-text{flex:1;padding:2rem 2.5rem 2rem 1rem;display:flex;flex-direction:column;justify-content:center}.carousel-number{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;color:var(--accent);margin-right:.25rem}.carousel-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;color:var(--accent);margin:0 0 1.25rem;line-height:1.4}.carousel-description{font-size:var(--font-size-body);color:var(--text-primary);line-height:1.8;margin-bottom:1.75rem;white-space:pre-line}.carousel-dots{display:flex;justify-content:center;gap:.75rem;margin-top:2rem}.carousel-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent);background:#fff;cursor:pointer;transition:all .2s;padding:0}.carousel-dot:hover{background:#6fd32733}.carousel-dot.active{background:var(--accent)}.reference-section{position:relative;padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,2rem);background:var(--bg-secondary);overflow:visible}.reference-characters{display:flex;justify-content:center;align-items:center;max-width:1400px;margin:0 auto 2rem;padding:0 1rem}.reference-character{position:absolute;top:0;transform:translateY(-33.3%);display:flex;flex-direction:column;align-items:center}.reference-character.left{left:max(.5rem,calc(50% - 800px));align-items:flex-start}.reference-character.right{right:max(.5rem,calc(50% - 800px));align-items:flex-end}.character-icon{width:clamp(120px,22vw,360px);height:clamp(120px,22vw,360px);min-width:100px;min-height:100px;object-fit:contain}.speech-bubble{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:500;color:var(--text-primary);position:relative;padding-bottom:2rem}.speech-bubble:after{content:"";position:absolute;bottom:0;width:80px;height:40px;border:2px solid #333;border-top:none}.speech-bubble.left:after{left:20px;border-right:none;border-radius:0 0 0 50px}.speech-bubble.right:after{right:20px;border-left:none;border-radius:0 0 50px}.reference-header{display:flex;flex-direction:row;align-items:center;gap:1.5rem;align-self:center}.reference-header-icon{width:clamp(56px,8vw,104px);height:clamp(56px,8vw,104px)}.reference-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-heading);font-weight:700;color:var(--accent);white-space:nowrap}.database-card{display:flex;gap:2rem;align-items:flex-start;max-width:1200px;margin:0 auto;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014}.database-image{flex-shrink:0;width:clamp(280px,45%,570px);border-radius:12px;overflow:hidden}.database-image img{width:100%;height:auto;display:block}.database-text{flex:1;padding-top:.5rem}.database-text p{font-size:clamp(1.05rem,2vw,1.2rem);color:var(--text-primary);line-height:1.9;margin-bottom:1.25rem}.database-text p:last-child{margin-bottom:0}.scene-selection-section{padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,2rem);background:var(--bg-primary);max-width:1600px;margin:0 auto}.scene-header{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem}.scene-header-icon{width:clamp(80px,12vw,160px);height:clamp(80px,12vw,160px)}.scene-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-heading);font-weight:700;color:var(--accent)}.scene-selection-content{background:transparent;padding:0}.scene-selection-content .selection-section{margin-bottom:2rem;background:var(--bg-secondary)!important;padding:2rem;border-radius:16px}.selection-section h3{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:500;margin-bottom:1rem;color:var(--text-primary);text-align:center}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stage-scroll-hint{display:none}.selection-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;background:#fff;border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .2s;color:var(--text-primary);box-shadow:0 2px 8px #0000000f;min-height:100px}.selection-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.selection-card.selected{border-color:var(--accent);background:linear-gradient(#6fd32726,#6fd32726),#fff;box-shadow:0 4px 16px #6fd32740}.selection-card.disabled{opacity:.5;cursor:not-allowed}.card-thumbnail{width:100%;border-radius:8px;overflow:hidden;margin-bottom:.75rem;background:#00000008}.card-thumbnail img{width:100%;height:auto;display:block;transition:transform .3s ease}.selection-card:hover .card-thumbnail img{transform:scale(1.05)}.card-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:500;color:var(--text-primary)}.card-text-area{display:flex;flex-direction:column;align-items:center}.card-description{font-size:var(--font-size-body);color:var(--text-primary);text-align:center;margin-top:.5rem;opacity:.8}.card-number{position:absolute;top:-10px;right:-10px;width:30px;height:30px;background:#bbb;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-body);font-weight:700;z-index:1;box-shadow:0 2px 6px #00000026;transition:background .2s}.selected .card-number{background:var(--accent)}.age-selection-grid-full{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.age-selection-note{margin-top:.5rem;font-size:var(--font-size-body);color:var(--text-secondary);text-align:left}.age-card-full{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:1rem;background:#fff;border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .2s;color:var(--text-primary);box-shadow:0 2px 8px #0000000f;text-align:left}.age-card-full:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.age-card-full.selected{border-color:var(--accent);background:linear-gradient(#6fd32726,#6fd32726),#fff;box-shadow:0 4px 16px #6fd32740}.age-card-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.08);text-align:center}.age-label{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:500;color:var(--text-primary)}.age-description{font-size:var(--font-size-body);color:var(--text-primary);opacity:.7}.age-card-stats{display:flex;flex-direction:column;gap:.6rem}.stat-item{display:flex;flex-direction:column;gap:.2rem}.stat-header{display:flex;align-items:center;gap:.3rem}.stat-label{font-size:var(--font-size-body);font-weight:600;color:var(--text-primary);opacity:.8}.stat-visual{display:flex;align-items:center;justify-content:center;gap:.4rem}.stat-value{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-body);font-weight:700;color:var(--accent)}.stat-note{font-size:var(--font-size-body);color:var(--text-primary);opacity:.5}.acuity-bar-container{display:flex;align-items:center;gap:.4rem}.acuity-bar-bg{flex:1;height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.acuity-bar-fill{height:100%;background:linear-gradient(90deg,#6fd327,#4caf50);border-radius:3px;transition:width .3s ease}.acuity-value{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-body);font-weight:700;color:var(--accent);min-width:1.8rem}.body-mobility-values{display:flex;flex-direction:column;gap:.25rem}.body-info,.mobility-info{display:flex;align-items:baseline;gap:.4rem}.sub-value{font-size:var(--font-size-body);color:var(--text-primary);opacity:.6}.mobility-speed{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-body);font-weight:600;color:var(--accent)}.fov-visualizer{display:flex;gap:1.5rem;justify-content:center;margin:.2rem 0}.fov-diagram{display:flex;flex-direction:row;align-items:center;gap:.3rem}.fov-diagram-content{display:flex;flex-direction:column;align-items:center;gap:.1rem}.fov-diagram-label{font-size:var(--font-size-body);color:var(--text-primary);opacity:.6;font-weight:500}.fov-svg{flex-shrink:0}.fov-value{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-body);font-weight:700;color:var(--accent)}.height-icon{flex-shrink:0}.start-game-button{display:block;width:fit-content;margin:1rem auto 0;padding:clamp(1rem,2.5vw,1.5rem) clamp(2rem,6vw,5rem);font-size:var(--font-size-subheading);font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:16px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 20px #6fd32766}.start-game-button:hover:not(.disabled){transform:translateY(-2px);background:var(--accent-hover);box-shadow:0 6px 24px #6fd32780}.start-game-button.disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.environment-note{width:fit-content;margin:1.5rem auto 0;padding:1rem;background:#fff;border-radius:8px;font-size:var(--font-size-body);color:var(--text-primary);line-height:1.7;text-align:left}.environment-note p{margin:.2rem 0}.environment-note-date{opacity:.7}.recommend-section{padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,2rem);background:var(--accent)}.recommend-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-heading);font-weight:700;color:#fff;text-align:center;margin-bottom:3rem}.recommend-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;max-width:900px;margin:0 auto}.recommend-card{display:flex;flex-direction:column;align-items:center;text-align:left;padding:1.5rem}.recommend-icon{width:clamp(120px,18vw,220px);height:clamp(120px,18vw,220px);margin-bottom:1.5rem;object-fit:contain}.recommend-card-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.recommend-card-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;color:#fff;margin-bottom:1rem}.recommend-card-description{font-size:var(--font-size-body);color:#fff;line-height:1.7}.guide-section{padding:clamp(3rem,6vw,5rem) clamp(.5rem,2vw,2rem);background:var(--bg-primary);max-width:1200px;margin:0 auto;overflow-x:hidden}.guide-section .carousel-container{position:relative}.guide-section .carousel-arrow{position:absolute;top:120px;z-index:10}.guide-section .carousel-arrow-left{left:0}.guide-section .carousel-arrow-right{right:0}.guide-section .carousel-arrow:hover{transform:scale(1.05)}.guide-section .carousel-slide{margin:0 70px}.guide-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-heading);font-weight:700;color:var(--accent);text-align:center;margin-bottom:2.5rem}.guide-slide-content{display:block;min-height:auto}.guide-steps-stack{width:100%;min-width:0}.guide-step-wrapper{display:none;min-width:0}.guide-step-wrapper.active{display:flex}.guide-step-section{padding:1.5rem;flex:1;display:flex;flex-direction:column;min-width:0}.guide-selection-preview{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;flex:1}.guide-selection-preview .selection-card,.guide-selection-preview .age-card-full{pointer-events:none}.guide-selection-preview .card-number{display:none}.guide-age-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem;flex:1}.guide-age-card{display:flex;flex-direction:column;align-items:stretch;padding:.75rem;background:#fff;border:2px solid rgba(0,0,0,.06);border-radius:12px;text-align:left}.guide-age-card.selected{border-color:var(--accent);background:linear-gradient(#6fd32726,#6fd32726),#fff;box-shadow:0 4px 16px #6fd32740}.guide-age-card .age-card-header{margin-bottom:.5rem;padding-bottom:.5rem}.guide-age-card .age-card-stats,.guide-age-card .stat-visual{gap:.5rem}.guide-step-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.guide-step-number{width:40px;height:40px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:SmartFontUI,sans-serif;font-weight:700;font-size:var(--font-size-subheading);flex-shrink:0}.guide-step-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;color:var(--text-primary);margin:0;min-width:12em;text-align:center}.guide-step-description{font-size:var(--font-size-body);color:var(--text-primary);line-height:1.8;margin:0;padding-left:56px}.guide-step-note{font-size:.8rem;color:var(--text-secondary);margin:.5rem 0 0;line-height:1.5;text-align:right;padding-right:1.5rem}.guide-controls{display:flex;justify-content:center;gap:1.5rem;padding:1.5rem 0;flex:1}.guide-control-group{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;border:2px solid rgba(0,0,0,.06);border-radius:16px;flex:1;min-width:0}.guide-control-group-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;color:var(--text-primary);padding:.25rem 1rem;border-bottom:2px solid var(--accent)}.guide-control-group-items{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}.guide-control-item{display:flex;flex-direction:column;align-items:center;gap:.75rem}.guide-control-keys{display:flex;flex-direction:column;align-items:center;gap:4px}.guide-key-row{display:flex;gap:4px}.guide-key{width:52px;height:52px;background:#2a2a2a;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:600;box-shadow:0 3px #1a1a1a,0 4px 8px #0003}.guide-key-arrow{font-size:var(--font-size-subheading)}.guide-key-wide{width:90px;height:52px;background:#2a2a2a;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:SmartFontUI,sans-serif;font-size:var(--font-size-body);font-weight:600;box-shadow:0 3px #1a1a1a,0 4px 8px #0003}.guide-control-or{font-size:var(--font-size-body);color:var(--text-primary);opacity:.6;margin:0 .5rem}.guide-control-label{font-size:var(--font-size-body);color:var(--text-primary);font-weight:500}.guide-mouse-icon,.guide-mouse-click{color:#2a2a2a}.guide-mouse-icon svg{animation:mouse-sway 2.5s ease-in-out infinite}.guide-mouse-click-highlight{animation:mouse-click-pulse 1.8s ease-in-out infinite}@keyframes mouse-sway{0%,to{transform:translate(0)}25%{transform:translate(4px,-2px)}50%{transform:translate(-3px,1px)}75%{transform:translate(2px,2px)}}@keyframes mouse-click-pulse{0%,to{opacity:.15}40%{opacity:.8}55%{opacity:.15}}.guide-controls-container{margin-top:.5rem;flex:1;display:flex;flex-direction:column}.guide-controls-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.guide-controls-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border:2px solid rgba(0,0,0,.06);border-radius:8px;cursor:pointer;font-size:var(--font-size-body);font-weight:500;color:var(--text-primary);transition:all .2s}.guide-controls-tab:hover{background:#6fd32714}.guide-controls-tab.active{background:#fff;border-color:var(--accent);color:var(--accent)}.guide-tab-icon{flex-shrink:0}.guide-controls-content{min-height:200px;flex:1}.guide-controls-mobile{display:flex;flex-direction:column;gap:1.5rem}.guide-mobile-orientation{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:#6fd3271a;border-radius:12px;border:2px dashed var(--accent)}.guide-phone-icon{color:var(--accent);flex-shrink:0}.guide-orientation-text{font-size:var(--font-size-body);color:var(--text-primary);font-weight:500}.guide-mobile-screen-mockup{position:relative;width:100%;aspect-ratio:16 / 9;max-width:500px;margin:0 auto;background:#1a2f26;border-radius:12px;border:3px solid #333;overflow:hidden}.guide-mobile-screen-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.guide-joystick{position:absolute;bottom:20px;width:80px;height:80px}.guide-joystick-left{left:20px}.guide-joystick-right{right:20px}.guide-joystick-base{width:100%;height:100%;background:#ffffff26;border:2px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center}.guide-joystick-stick{width:40px;height:40px;background:#fff9;border-radius:50%;box-shadow:0 2px 8px #0000004d}.guide-joystick-left .guide-joystick-stick{animation:guide-stick-move 4s ease-in-out infinite}@keyframes guide-stick-move{0%,to{transform:translate(0)}8%{transform:translateY(-12px)}20%{transform:translateY(-12px)}28%{transform:translate(0)}33%{transform:translate(12px)}45%{transform:translate(12px)}53%{transform:translate(0)}58%{transform:translateY(10px)}70%{transform:translateY(10px)}78%{transform:translate(0)}83%{transform:translate(-12px)}92%{transform:translate(-12px)}}.guide-joystick-right .guide-joystick-stick{animation:guide-stick-look 5s ease-in-out infinite}@keyframes guide-stick-look{0%,to{transform:translate(0)}10%{transform:translate(10px,-6px)}25%{transform:translate(-8px,-4px)}40%{transform:translate(-10px,6px)}55%{transform:translate(6px,8px)}70%{transform:translate(12px)}85%{transform:translate(-4px,-10px)}}.guide-joystick-arrows{position:absolute;inset:0;pointer-events:none}.guide-joystick-arrow{position:absolute;font-size:var(--font-size-body);color:#ffffff80}.guide-joystick-arrow.up{top:-2px;left:50%;transform:translate(-50%)}.guide-joystick-arrow.down{bottom:-2px;left:50%;transform:translate(-50%)}.guide-joystick-arrow.left{left:-2px;top:50%;transform:translateY(-50%)}.guide-joystick-arrow.right{right:-2px;top:50%;transform:translateY(-50%)}.guide-joystick-label{position:absolute;bottom:105px;font-size:var(--font-size-body);color:#fffc;background:#00000080;padding:4px 8px;border-radius:4px;white-space:nowrap}.guide-joystick-label.left{left:20px}.guide-joystick-label.right{right:20px}.guide-mobile-tap-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#ffffffd9}.guide-mobile-tap-center svg{animation:tap-pulse 2s ease-in-out infinite}@keyframes tap-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.guide-mobile-tap-center span{font-size:var(--font-size-body);font-weight:500;white-space:nowrap;background:#00000080;padding:4px 10px;border-radius:4px}.guide-hud-mockup{position:relative;width:100%;aspect-ratio:16 / 9;background:#d4c4a8;border-radius:12px;overflow:hidden;margin-top:1rem;flex:1}.guide-hud-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.guide-hud-top-left{position:absolute;top:12px;left:12px;z-index:2}.guide-hud-info-group{display:flex;gap:1rem;background:#0009;padding:8px 12px;border-radius:8px}.guide-hud-info{display:flex;flex-direction:column;align-items:center;color:#fff}.guide-hud-label{font-size:var(--font-size-body);opacity:.7}.guide-hud-value{font-size:var(--font-size-body);font-weight:700}.guide-hud-top-center{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:2}.guide-hud-timer{display:flex;flex-direction:column;align-items:center;background:#0009;padding:8px 16px;border-radius:8px;color:#fff}.guide-timer-value{font-size:var(--font-size-heading);font-weight:700;font-family:SmartFontUI,sans-serif}.guide-hud-top-right{position:absolute;top:12px;right:12px;z-index:2}.guide-hud-found{display:flex;flex-direction:column;align-items:center;background:#0009;padding:8px 16px;border-radius:8px;color:#fff;border:2px solid rgba(255,200,50,.6)}.guide-found-value{font-size:var(--font-size-heading);font-weight:700;color:#fc3;font-family:SmartFontUI,sans-serif}.guide-hud-bottom-left{position:absolute;bottom:12px;left:12px;z-index:2}.guide-esc-hint{color:#ffffff80;font-size:var(--font-size-body)}.guide-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.guide-crosshair-h{position:absolute;width:24px;height:3px;background:#0fa;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:2px;box-shadow:0 0 4px #0fac}.guide-crosshair-v{position:absolute;width:3px;height:24px;background:#0fa;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:2px;box-shadow:0 0 4px #0fac}.guide-crosshair-dot{width:6px;height:6px;background:#fff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #ffffffe6}.guide-hazard-label{position:absolute;bottom:35%;left:30%;z-index:2;background:#c81e1ee6;border:2px solid white;border-radius:8px;padding:6px 12px;display:flex;flex-direction:column;align-items:center;gap:2px}.guide-hazard-name{color:#fff;font-weight:700;font-size:var(--font-size-body)}.guide-hazard-desc{color:#fff;font-size:var(--font-size-body);opacity:.9}.guide-hud-highlight{outline:2.5px solid rgba(111,211,39,.95);outline-offset:3px;border-radius:10px}.guide-annotation{position:absolute;display:flex;flex-direction:column;gap:4px;z-index:10}.guide-annotation-line{display:none;width:2px;background:#6fd327f2}.guide-annotation-text{background:#6fd327f2;color:#fff;padding:8px 12px;border-radius:6px;font-size:var(--font-size-body);line-height:1.4;white-space:nowrap;font-weight:600}.guide-annotation-left{top:64px;left:12px}.guide-annotation-center{top:74px;left:50%;transform:translate(-50%);align-items:center}.guide-annotation-right{top:74px;right:12px;align-items:flex-end}.guide-annotation-crosshair{top:calc(50% + 40px);left:calc(50% + 30px)}.guide-annotation-vision{bottom:20%;right:5%;align-items:flex-end}.guide-annotation-vision .guide-annotation-line{width:40px;height:2px}.guide-annotation-esc{bottom:30px;left:12px}.guide-annotation-hazard{bottom:38%;left:calc(30% + 90px)}.guide-scan-demo{display:flex;align-items:center;justify-content:center;gap:2.5rem;margin-top:1.5rem;padding:2rem;border-radius:12px;flex:1}.guide-scan-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.guide-scan-icon{width:120px;height:120px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.guide-scan-click{position:relative;overflow:hidden}.guide-scan-line{animation:guide-scan-sweep 2s ease-in-out infinite}@keyframes guide-scan-sweep{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(29px);opacity:0}}.guide-click-cursor{position:absolute;right:8px;bottom:10px;animation:guide-click-bounce 2s ease-in-out infinite}@keyframes guide-click-bounce{0%,30%{transform:translate(0) scale(1);opacity:1}45%{transform:translate(-4px,-4px) scale(1);opacity:1}50%{transform:translate(-4px,-4px) scale(.8);opacity:1}55%{transform:translate(-4px,-4px) scale(1);opacity:1}70%,to{transform:translate(0) scale(1);opacity:1}}.guide-scan-found{position:relative}.guide-danger-label{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#c81e1e;color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:4px;z-index:1;letter-spacing:1px;white-space:nowrap;box-shadow:0 2px 6px #c81e1e66}.guide-scan-arrow{font-size:var(--font-size-heading);color:var(--accent);font-weight:700}.guide-scan-label{font-size:var(--font-size-body);color:var(--text-primary);font-weight:600}.guide-fov-demo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;padding:1.5rem;border-radius:12px;flex:1}.guide-fov-viewport{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;line-height:0;position:relative;aspect-ratio:16 / 9}.guide-fov-bg-image{width:100%;height:100%;object-fit:cover;display:block}.guide-fov-white-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;pointer-events:none}.guide-fov-scene{animation:guide-fov-scene 12s ease-in-out infinite}@keyframes guide-fov-scene{0%,8%{transform:translateY(0);filter:blur(0px)}17%,33%{transform:translateY(-15px);filter:blur(2.5px)}42%,58%{transform:translateY(-12px);filter:blur(1px)}67%,83%{transform:translateY(-8px);filter:blur(.2px)}92%,to{transform:translateY(0);filter:blur(0px)}}.guide-fov-path{d:path("M 100 10 C 146.9 10, 185 30.1, 185 55 C 185 83.7, 146.9 107, 100 107 C 53.1 107, 15 83.7, 15 55 C 15 30.1, 53.1 10, 100 10 Z");animation:guide-fov-path 12s ease-in-out infinite}@keyframes guide-fov-path{0%,8%{d:path("M 100 10 C 146.9 10, 185 30.1, 185 55 C 185 83.7, 146.9 107, 100 107 C 53.1 107, 15 83.7, 15 55 C 15 30.1, 53.1 10, 100 10 Z")}17%,33%{d:path("M 100 16 C 131.5 16, 157 33.5, 157 55 C 157 79.7, 131.5 98, 100 98 C 68.5 98, 43 79.7, 43 55 C 43 33.5, 68.5 16, 100 16 Z")}42%,58%{d:path("M 100 13 C 139.2 13, 171 31.5, 171 55 C 171 81.9, 139.2 102, 100 102 C 60.8 102, 29 81.9, 29 55 C 29 31.5, 60.8 13, 100 13 Z")}67%,83%{d:path("M 100 12 C 144.2 12, 180 30.8, 180 55 C 180 82.6, 144.2 105, 100 105 C 55.8 105, 20 82.6, 20 55 C 20 30.8, 55.8 12, 100 12 Z")}92%,to{d:path("M 100 10 C 146.9 10, 185 30.1, 185 55 C 185 83.7, 146.9 107, 100 107 C 53.1 107, 15 83.7, 15 55 C 15 30.1, 53.1 10, 100 10 Z")}}.guide-fov-labels{position:relative;height:1.6rem;width:100%;display:flex;justify-content:center;gap:2rem}.guide-fov-age-single{font-size:var(--font-size-body);font-weight:600;color:var(--text-primary);white-space:nowrap}.guide-fov-age{position:absolute;font-size:var(--font-size-body);font-weight:600;opacity:0;white-space:nowrap}.guide-fov-age-adult{color:#555;animation:guide-fov-label-adult 12s ease-in-out infinite}@keyframes guide-fov-label-adult{0%,8%{opacity:1}12%,88%{opacity:0}92%,to{opacity:1}}.guide-fov-age-12{color:#e74c3c;animation:guide-fov-label-12 12s ease-in-out infinite}@keyframes guide-fov-label-12{0%,13%{opacity:0}17%,33%{opacity:1}37%,to{opacity:0}}.guide-fov-age-34{color:#e67e22;animation:guide-fov-label-34 12s ease-in-out infinite}@keyframes guide-fov-label-34{0%,38%{opacity:0}42%,58%{opacity:1}62%,to{opacity:0}}.guide-fov-age-56{color:#27ae60;animation:guide-fov-label-56 12s ease-in-out infinite}@keyframes guide-fov-label-56{0%,63%{opacity:0}67%,83%{opacity:1}87%,to{opacity:0}}.guide-play-button{display:block;margin:1.5rem auto 0;padding:.7rem clamp(2rem,5vw,3.5rem);font-size:var(--font-size-body);font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 20px #6fd32766}.guide-play-button:hover{transform:translateY(-2px);background:var(--accent-hover);box-shadow:0 6px 24px #6fd32780}@media(max-width:1300px){.desktop-nav{display:none}.mobile-menu-inline{display:block}}@media(max-width:1024px)and (orientation:portrait){.hero-content{flex-direction:column;text-align:center;align-items:stretch}.hero-left{justify-content:flex-start}.hero-right{order:-1;width:100%}.hero-cta-button{margin:0 auto;align-self:center}.carousel-slide{height:auto}.carousel-slide-content{flex-direction:column;height:auto}.carousel-image,.carousel-image-placeholder{width:auto;min-height:200px;margin:1rem}.carousel-experts{width:auto;padding:1rem;gap:1rem;order:2}.expert-card{border-radius:14px 14px 0 0}.expert-image,.expert-image-placeholder{width:65%;aspect-ratio:1 / 1}.expert-info{padding:.9rem .65rem 1.1rem}.expert-name{font-size:1.1rem}.expert-title{font-size:.78rem}.carousel-text{padding:1.5rem;order:1}.database-card{flex-direction:column}.database-image{width:100%}.age-selection-grid-full{grid-template-columns:repeat(2,1fr)}.recommend-grid{gap:2rem}.guide-age-preview{grid-template-columns:repeat(2,1fr)}.guide-age-preview>:last-child{grid-column:1 / -1;max-width:50%;margin:0 auto}.footer-content{flex-direction:column;gap:2rem}}@media(max-width:768px)and (orientation:portrait){.guide-step-section{padding:.5rem .75rem}.guide-step-header{margin-bottom:.5rem;flex-shrink:0}.guide-step-description{padding-left:0;margin-top:.25rem;font-size:.85rem;line-height:1.6;flex-shrink:0}.guide-step-note{font-size:.7rem;margin:.25rem 0 0}.guide-step-title{min-width:auto;font-size:1.1rem}.guide-step-number{width:32px;height:32px;font-size:1rem}.guide-scan-demo{flex-direction:row;gap:1rem;margin-top:0;padding:.5rem;flex:1;align-items:center;justify-content:center}.guide-scan-icon{width:clamp(56px,14vw,100px);height:clamp(56px,14vw,100px);border-radius:10px}.guide-scan-icon svg{width:65%;height:65%}.guide-click-cursor{right:20%;bottom:8%}.guide-scan-label{font-size:clamp(.7rem,2vw,.9rem)}.guide-scan-arrow{font-size:clamp(1rem,3vw,1.5rem);transform:none}.guide-scan-item{gap:.4rem}.guide-selection-preview{gap:.75rem;margin-top:.5rem}.guide-selection-preview .selection-card{flex:none;width:100%}.guide-selection-preview .age-card-full{width:100%}.guide-age-preview{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;flex:1}.guide-age-preview>:last-child{max-width:none;margin:0}.guide-age-card{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;gap:.3rem .5rem;padding:.35rem .5rem;align-items:stretch;overflow-x:auto;-webkit-overflow-scrolling:touch}.guide-age-card .age-card-header{grid-column:1;grid-row:1;margin-bottom:0;padding:.3rem .6rem;border-bottom:none;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center}.guide-age-card .age-label{color:#fff;font-size:.8rem;line-height:1.2;white-space:nowrap}.guide-age-card .age-description{display:none}.guide-age-card .age-card-stats{display:contents}.guide-age-card .age-card-stats .stat-item{background:#00000008;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:.3rem .4rem}.guide-age-card .age-card-stats .stat-item:first-child{grid-column:1;grid-row:2}.guide-age-card .age-card-stats .stat-item:nth-child(2){grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center}.guide-age-card .age-card-stats .stat-item:nth-child(3){grid-column:3;grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center}.guide-age-card .stat-label{font-size:.65rem;color:var(--accent);opacity:1;border-bottom:1px solid rgba(111,211,39,.2);padding-bottom:.15rem;margin-bottom:.15rem;display:block;white-space:nowrap}.guide-age-card .acuity-bar-bg{display:none}.guide-age-card .fov-diagram{flex-direction:column;align-items:center}.guide-fov-demo{margin-top:0;padding:.5rem;gap:.5rem;flex:1;justify-content:center}.guide-fov-viewport{flex:1;display:flex;align-items:center;justify-content:center}.guide-fov-viewport svg{width:100%;max-width:none;height:auto}.guide-fov-labels{flex-shrink:0}.guide-fov-age{font-size:.9rem}.guide-controls-container{margin-top:.25rem;flex:1}.guide-controls-tabs{flex-direction:row;gap:.5rem;margin-bottom:.5rem;flex-shrink:0}.guide-controls-tab{justify-content:center;padding:.4rem 1rem;font-size:.85rem}.guide-controls-content{min-height:0;flex:1;display:flex;flex-direction:column}.guide-controls{flex-direction:row;gap:.5rem;padding:0;flex:1;align-items:stretch}.guide-control-group{padding:.5rem;gap:.5rem;flex:1;justify-content:center}.guide-control-group-title{font-size:.8rem;padding:.15rem .5rem}.guide-control-group-items{gap:.75rem;flex:1;align-items:center;justify-content:center}.guide-control-or{margin:0 .25rem;font-size:.65rem}.guide-control-label{font-size:.75rem}.guide-key{width:36px;height:36px;font-size:.85rem;border-radius:6px}.guide-key-wide{width:60px;height:36px;font-size:.8rem;border-radius:6px}.guide-key-arrow{font-size:1rem}.guide-mouse-icon svg,.guide-mouse-click svg{width:40px;height:52px}.guide-controls-mobile{gap:.5rem;flex:1}.guide-mobile-orientation{flex-direction:row;gap:.5rem;text-align:left;padding:.5rem .75rem;flex-shrink:0}.guide-phone-icon{width:40px;height:24px}.guide-orientation-text{font-size:.8rem}.guide-mobile-screen-mockup{max-width:100%;flex:1;aspect-ratio:auto}.guide-joystick{width:50px;height:50px;bottom:8px}.guide-joystick-left{left:8px}.guide-joystick-right{right:8px}.guide-joystick-stick{width:24px;height:24px}.guide-joystick-label{bottom:62px;font-size:.6rem}.guide-joystick-arrow{font-size:.55rem}.guide-mobile-tap-center svg{width:32px;height:32px}.guide-mobile-tap-center span{font-size:.65rem;padding:2px 6px}.guide-hud-mockup{aspect-ratio:auto;margin-top:.5rem;flex:1}.guide-annotation-text{font-size:.65rem;padding:4px 6px;white-space:nowrap}.guide-annotation-line{display:block;width:2px;background:#6fd327f2;flex-shrink:0}.guide-annotation-left{top:50px}.guide-annotation-left .guide-annotation-line{height:6px;align-self:flex-start;margin-left:16px}.guide-annotation-center{top:50px}.guide-annotation-center .guide-annotation-line{height:80px;align-self:center}.guide-annotation-right{top:50px}.guide-annotation-right .guide-annotation-line{height:150px;align-self:flex-end;margin-right:16px}.guide-hud-info-group{gap:.5rem;padding:4px 6px}.guide-hud-value{font-size:.65rem}.guide-hud-label{font-size:.5rem}.guide-timer-value,.guide-found-value{font-size:.9rem}.guide-hud-timer,.guide-hud-found{padding:4px 8px}}.contact-section{padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,2rem);background:var(--bg-primary);width:80%;max-width:600px;margin:0 auto}.contact-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-heading);font-weight:700;color:var(--accent);text-align:center;margin-bottom:2rem}.contact-form{padding:2rem;border-radius:16px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:var(--font-size-body);font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;font-size:var(--font-size-body);border:1px solid rgba(0,0,0,.15);border-radius:8px;background:#fff;color:var(--text-primary);font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6fd32733}.form-group textarea{resize:vertical}.submit-button{display:block;width:100%;max-width:200px;margin:1.5rem auto 0;padding:.7rem 2rem;font-size:var(--font-size-body);font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 20px #6fd32766}.submit-button:hover{transform:translateY(-2px);background:var(--accent-hover);box-shadow:0 6px 24px #6fd32780}.database-banner{background:var(--bg-secondary);padding:0}.database-banner-inner{display:flex;align-items:center;justify-content:center;gap:3rem;max-width:800px;margin:0 auto;height:120px}.database-banner-link-image{display:flex;justify-content:center;align-items:center;line-height:0;height:100%}.database-banner-link-image img{height:100%;width:auto;display:block;border-radius:0}.database-banner-link-image:hover{opacity:.9}.database-detail-link{display:block;width:fit-content;margin-top:.5rem;margin-left:auto;padding:.7rem 2rem;font-size:var(--font-size-body);font-weight:600;color:#fff;background:var(--accent);border-radius:8px;text-decoration:none;transition:all .2s}.top-footer{background:#f5f5f5;padding:3rem clamp(2rem,5vw,5rem) 1rem}.footer-content{display:flex;align-items:flex-start;justify-content:space-between;gap:3rem;max-width:1200px;margin:0 auto;padding-bottom:2rem;border-bottom:1px solid rgba(0,0,0,.1)}.footer-logo{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;flex-shrink:1;min-width:0;max-width:100%}.footer-logo-img{height:64px;width:auto;max-width:100%;object-fit:contain}.footer-nav{display:flex;flex:1;justify-content:space-between;align-items:flex-start;gap:4rem}.footer-links{display:flex;flex-direction:column;gap:.5rem}.footer-links a{color:var(--text-primary);text-decoration:none;font-size:var(--font-size-body);transition:color .2s;white-space:nowrap}.footer-links a:hover{color:var(--accent)}.footer-contact{display:flex;align-items:flex-start;gap:2rem;font-size:var(--font-size-body);color:var(--text-primary)}.footer-contact-item p{margin:.25rem 0}.footer-contact-item p:first-child{margin-top:0}.footer-contact a{color:var(--accent);text-decoration:none;word-break:break-all}.footer-contact a:hover{text-decoration:underline}.footer-safety-project{display:flex;align-items:center}.footer-safety-logo{height:80px;width:auto}.footer-bottom{text-align:center;padding-top:1.5rem;font-size:var(--font-size-body);color:var(--text-primary);opacity:.7;max-width:1200px;margin:0 auto}@media(max-width:768px)and (orientation:portrait){.header-top-row{gap:.5rem}.header-bottom-row{padding-top:1.5rem}.header-logo-tokyo{height:36px}.header-logo-main{width:94dvw;max-width:none;height:auto}.hero-section,.feature-carousel-section,.reference-section,.scene-selection-section,.recommend-section,.guide-section{display:flex;flex-direction:column;box-sizing:border-box;padding-top:5rem;padding-bottom:5rem}.hero-section{padding-top:2rem;padding-bottom:2rem}.feature-carousel-section{padding-top:2rem}.scene-selection-section,.guide-section{max-width:none;width:100%}.guide-section{padding:5rem .5rem;justify-content:flex-start}.guide-section .guide-title{margin-bottom:.5rem;flex-shrink:0;font-size:clamp(1.2rem,2.5vw,1.8rem)}.guide-section .carousel-container{min-height:0;position:relative}.guide-section .carousel-arrow{position:absolute;top:100px;z-index:10;transform:none}.guide-section .carousel-arrow-left{left:-8px}.guide-section .carousel-arrow-right{right:-8px}.guide-section .carousel-arrow:hover{transform:scale(1.05)}.guide-section .carousel-slide{align-self:stretch;display:flex;flex-direction:column;margin:0}.guide-section .guide-slide-content{min-height:0}.guide-section .guide-steps-stack{display:grid}.guide-section .guide-step-wrapper{grid-row:1;grid-column:1;visibility:hidden;display:flex;align-items:stretch}.guide-section .guide-step-wrapper.active{visibility:visible}.guide-section .guide-step-section{width:100%;justify-content:flex-start}.guide-section .carousel-dots{margin-top:.5rem;flex-shrink:0}.guide-section .guide-play-button{flex-shrink:0;margin:.5rem auto 0;padding:.6rem 2rem;font-size:.95rem;border-radius:10px;width:100%;max-width:320px;text-align:center}.contact-footer-section{display:flex;flex-direction:column;box-sizing:border-box}.contact-footer-section .contact-section{display:flex;flex-direction:column;box-sizing:border-box;padding:1.25rem .75rem .75rem}.contact-footer-section .contact-title{margin-bottom:.3rem;font-size:1rem;flex-shrink:0}.contact-footer-section .contact-form{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;gap:0}.contact-footer-section .form-row{grid-template-columns:repeat(2,1fr);gap:.4rem;margin-bottom:.2rem;flex-shrink:0}.contact-footer-section .form-group{margin-bottom:.2rem;flex-shrink:0}.contact-footer-section .form-group label{font-size:.7rem;margin-bottom:.1rem}.contact-footer-section .form-group input,.contact-footer-section .form-group select,.contact-footer-section .form-group textarea{padding:.3rem .5rem;font-size:.8rem;border-radius:6px}.contact-footer-section .submit-button{margin:.3rem auto 5rem;padding:.5rem 2rem;font-size:.8rem;width:auto;max-width:none;flex-shrink:0;border-radius:10px}.contact-footer-section .database-banner{flex-shrink:0;padding:0;border-top:1px solid rgba(0,0,0,.08)}.contact-footer-section .database-banner-inner{gap:0;height:80px}.contact-footer-section .top-footer{flex-shrink:0;padding:.5rem .75rem .4rem;border-top:1px solid rgba(0,0,0,.08)}.contact-footer-section .footer-content{flex-direction:column;align-items:stretch;gap:.5rem;padding-bottom:.4rem}.contact-footer-section .footer-logo{gap:.5rem}.contact-footer-section .footer-logo-img{height:72px}.contact-footer-section .footer-service-name{font-size:.8rem}.contact-footer-section .footer-tagline{display:none}.contact-footer-section .footer-nav{flex-direction:row;align-items:center;gap:1.5rem}.contact-footer-section .footer-links{gap:.25rem .75rem}.contact-footer-section .footer-links a{font-size:.7rem}.contact-footer-section .footer-contact{font-size:.65rem}.contact-footer-section .footer-contact p{margin:.1rem 0}.contact-footer-section .footer-bottom{padding-top:.35rem;font-size:.65rem}.top-header{padding:.75rem 1rem}.desktop-nav{display:none}.mobile-menu-inline{display:block}.header-nav{min-width:auto;width:max(180px,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}.hero-description{font-size:.95rem;margin-bottom:1.5rem;line-height:1.7}.hero-cta-button{display:block;width:100%;max-width:320px;text-align:center}.hero-video-placeholder{border-radius:0}.carousel-container{position:relative;gap:0}.carousel-arrow{position:absolute;top:100px;transform:translateY(-50%);z-index:10;width:36px;height:36px;border:none;background:#ffffffd9;box-shadow:0 2px 8px #00000026}.carousel-arrow-left{left:-8px}.carousel-arrow-right{right:-8px}.carousel-arrow:hover{transform:translateY(-50%) scale(1.05)}.carousel-arrow svg{width:18px;height:18px}.carousel-slide{border-radius:16px;width:100%}.carousel-image,.carousel-image-placeholder{min-height:140px;margin:.75rem .75rem 0;border-radius:12px}.carousel-experts{padding:.75rem;gap:.75rem;order:2;max-height:none}.expert-card{border-radius:12px 12px 0 0}.expert-image,.expert-image-placeholder{width:60%;aspect-ratio:1 / 1}.expert-info{padding:.8rem .5rem 1rem}.expert-name{font-size:1rem;margin-bottom:.35rem}.expert-title{font-size:.72rem}.carousel-text{padding:1rem 1rem 1.25rem;order:1}.carousel-title{margin-bottom:.75rem}.carousel-description{font-size:.9rem;margin-bottom:1rem;line-height:1.7}.carousel-dots{gap:.5rem;margin-top:1.25rem}.carousel-dot{width:10px;height:10px}.reference-section{padding:1rem .75rem;margin-bottom:6rem}.reference-characters{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:.75rem}.reference-character{position:static;transform:none;order:0}.reference-character.left,.reference-character.right{position:static}.reference-header{order:1;width:100%;justify-content:center;margin-bottom:0;gap:.4rem}.reference-header-icon{width:36px;height:36px}.reference-title{font-size:1.1rem}.character-icon{width:150px;height:150px}.speech-bubble{display:none}.database-card{padding:.75rem;gap:.75rem}.database-image{width:100%}.database-text p{font-size:.95rem;line-height:1.7;margin-bottom:.5rem}.database-detail-link{display:block;text-align:center;padding:.6rem 1.5rem;font-size:.9rem}.scene-selection-section{justify-content:flex-start;padding:1rem .75rem}.scene-header{flex-direction:row;gap:.5rem;text-align:center;margin-bottom:.75rem}.scene-header-icon{width:40px;height:40px}.scene-title{font-size:1rem}.scene-selection-content{padding:0}.scene-selection-content .selection-section{margin-bottom:.75rem;padding:.75rem;border-radius:12px}.selection-section h3{font-size:.9rem;margin-bottom:.5rem}.selection-grid{display:flex;overflow-x:auto;gap:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:10px}.selection-grid::-webkit-scrollbar{height:3px}.selection-grid::-webkit-scrollbar-track{background:#0000000d;border-radius:2px}.selection-grid::-webkit-scrollbar-thumb{background:var(--accent);border-radius:2px}.selection-grid-container{position:relative}.stage-scroll-hint{display:flex;position:absolute;right:0;top:0;bottom:0;width:36px;background:linear-gradient(to right,transparent,#fff 65%);align-items:center;justify-content:flex-end;pointer-events:none;z-index:2;padding-right:2px;animation:stage-scroll-hint-fade 4s ease forwards}.stage-scroll-hint svg{color:var(--accent);animation:stage-scroll-hint-bounce 1s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(111,211,39,.5))}@keyframes stage-scroll-hint-bounce{0%,to{transform:translate(0)}50%{transform:translate(5px)}}@keyframes stage-scroll-hint-fade{0%,60%{opacity:1}to{opacity:0;visibility:hidden}}.selection-card{flex:0 0 calc(100vw - 68px);flex-direction:row;align-items:stretch;scroll-snap-align:start;padding:0;border-radius:10px;min-height:107px;gap:0;overflow:visible}.card-thumbnail{flex:0 0 140px;margin-bottom:0;border-radius:8px 0 0 8px;overflow:hidden}.card-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.selection-card .card-text-area{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:.4rem .6rem}.card-title{font-size:.8rem;align-self:center}.card-description{font-size:.7rem;margin-top:.15rem;text-align:left;line-height:1.4;word-break:break-all}.age-selection-grid-full{display:flex;flex-direction:column;gap:.5rem;padding:10px}.age-card-full{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;gap:.3rem .5rem;padding:.4rem .5rem;align-items:stretch;overflow:visible;border-radius:10px}.age-card-full .card-number{top:-6px;right:-6px;width:22px;height:22px;font-size:.65rem}.age-card-full .age-card-header{grid-column:1;grid-row:1;margin-bottom:0;padding:.3rem .6rem;border-bottom:none;background:#bbb;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.age-card-full.selected .age-card-header,.guide-selection-preview .age-card-full .age-card-header{background:var(--accent)}.age-card-full .age-label{color:#fff;font-size:.8rem;line-height:1.2;white-space:nowrap}.age-card-full .age-card-stats{display:contents}.age-card-full .stat-item{background:#00000008;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:.3rem .4rem}.age-card-full .stat-item:first-child{grid-column:1;grid-row:2}.age-card-full .stat-item:nth-child(2){grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center}.age-card-full .stat-item:nth-child(3){grid-column:3;grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center}.age-card-full .stat-label{font-size:.65rem;color:var(--accent);opacity:1;border-bottom:1px solid rgba(111,211,39,.2);padding-bottom:.15rem;margin-bottom:.15rem;display:block;white-space:nowrap}.age-card-full .stat-note,.age-card-full .acuity-bar-bg{display:none}.age-card-full .acuity-bar-container{justify-content:center}.age-card-full .acuity-value{text-align:center}.age-card-full .fov-diagram{flex-direction:column;align-items:stretch;text-align:center}.age-card-full .fov-svg{width:40px;height:28px;display:block;margin:0 auto}.age-card-full .fov-value{font-size:.7rem}.fov-diagram-label{font-size:.6rem}.height-icon svg{width:24px;height:36px}.start-game-button{max-width:100%;padding:.75rem 1.25rem;font-size:.95rem;border-radius:10px;margin-top:.75rem}.environment-note{font-size:.75rem;padding:.5rem;line-height:1.5;margin-top:1rem}.recommend-title{margin-bottom:2rem}.recommend-grid{grid-template-columns:1fr;gap:1.5rem}.recommend-card{flex-direction:row;text-align:left;gap:1rem;padding:1rem;background:#ffffff14;border-radius:16px}.recommend-icon{width:80px;height:80px;margin-bottom:0;flex-shrink:0;transform:scale(1)!important;transform-origin:center!important}.recommend-card-text{align-items:flex-start;flex:1}.recommend-card-title{font-size:1.1rem;margin-bottom:.5rem}.recommend-card-description{font-size:.85rem;line-height:1.6}.form-row{grid-template-columns:1fr}.contact-form{padding:.5rem}.form-group input,.form-group select,.form-group textarea{font-size:16px}.submit-button{max-width:100%}.top-footer{padding:2rem 1rem 1rem}.footer-content{flex-direction:column;align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem}.footer-logo{align-items:flex-start}.footer-logo-img{height:72px}.footer-nav{flex-direction:column;align-items:flex-start;gap:1.5rem;width:100%}.footer-links{flex-direction:column;align-items:flex-start;gap:.5rem}.footer-links a{font-size:.85rem}.footer-contact{flex-direction:column;align-items:flex-start;gap:1.5rem;font-size:.85rem;text-align:left}.footer-safety-logo{height:64px}}@media(max-width:480px)and (orientation:portrait){.header-top-row{gap:.4rem}.header-bottom-row{padding-top:1.5rem}.header-logo-tokyo{height:32px}.header-logo-main{width:94dvw;max-width:none;height:auto}.carousel-arrow{top:80px;width:28px;height:28px}.carousel-arrow-left{left:-6px}.carousel-arrow-right{right:-6px}.carousel-arrow svg{width:14px;height:14px}.carousel-image,.carousel-image-placeholder{min-height:100px;margin:.5rem .5rem 0;border-radius:8px}.carousel-experts{padding:.5rem;gap:.5rem;order:2;max-height:none}.expert-card{border-radius:10px 10px 0 0}.expert-image,.expert-image-placeholder{width:55%;aspect-ratio:1 / 1}.expert-info{padding:.7rem .4rem .9rem}.expert-name{font-size:.9rem;margin-bottom:.3rem}.expert-title{font-size:.65rem}.carousel-text{padding:.75rem .75rem 1rem;order:1}.footer-logo-img{height:56px}.footer-links{gap:.4rem}.footer-links a{font-size:.8rem}.footer-contact{font-size:.75rem}.footer-safety-logo{height:52px}.character-icon{width:130px;height:130px}.reference-header-icon{width:28px;height:28px}.reference-header{gap:.35rem}.reference-title{font-size:.95rem}.scene-header-icon{width:32px;height:32px}.scene-title{font-size:.9rem}.recommend-icon{width:64px;height:64px}.guide-step-header{gap:.4rem;margin-bottom:.3rem}.guide-step-number{width:28px;height:28px;font-size:.9rem}.guide-step-title{font-size:.95rem}.guide-step-description{font-size:.8rem;line-height:1.5}.guide-step-note{font-size:.65rem}.guide-key{width:30px;height:30px;font-size:.75rem;border-radius:5px}.guide-key-wide{width:52px;height:30px;font-size:.7rem;border-radius:5px}.guide-key-arrow{font-size:.85rem}.guide-scan-demo{padding:.5rem 0;gap:.5rem}.guide-scan-icon{width:52px;height:52px;border-radius:8px}.guide-scan-icon svg{width:32px;height:32px}.guide-click-cursor svg{width:16px;height:20px}.guide-scan-label{font-size:.7rem}.guide-scan-arrow{font-size:1rem}.guide-fov-demo{padding:.25rem 0;gap:.25rem}.guide-fov-age{font-size:.75rem}.guide-fov-labels{height:1.2rem}.guide-control-label{font-size:.65rem}.guide-control-group{padding:.4rem;gap:.3rem}.guide-control-group-title{font-size:.7rem}.guide-control-group-items{gap:.5rem}.guide-controls{gap:.35rem}.guide-mouse-icon svg,.guide-mouse-click svg{width:32px;height:42px}.guide-controls-tab{padding:.3rem .75rem;font-size:.75rem}.guide-controls-tabs{margin-bottom:.3rem}.guide-mobile-orientation{padding:.3rem .5rem}.guide-orientation-text{font-size:.7rem}.guide-hud-mockup,.guide-controls-container{margin-top:.25rem}.scene-selection-section{padding:.75rem .5rem}.scene-selection-content{padding:0}.scene-selection-content .selection-section{margin-bottom:.5rem;padding:.5rem}.selection-section h3{font-size:.8rem;margin-bottom:.35rem}.selection-card{flex:0 0 calc(100vw - 52px);min-height:100px}.card-thumbnail{flex:0 0 120px}.card-title{font-size:.75rem}.card-description{font-size:.65rem}.age-card-full{padding:.3rem .4rem;gap:.2rem .4rem}.age-card-full .age-label{font-size:.75rem}.start-game-button{padding:.65rem 1rem;font-size:.9rem;margin-top:.5rem}.environment-note{font-size:.7rem}}@media(max-height:500px)and (orientation:landscape){.top-header{padding:.4rem 1rem}.header-logo-tokyo{height:44px}.header-logo-main{width:90%;max-width:1260px;height:auto}.desktop-nav a{padding:.3rem .6rem;font-size:.8rem}.hero-section,.feature-carousel-section,.reference-section,.recommend-section,.scene-selection-section,.guide-section{padding:1.5rem 1rem}.hero-content{gap:1.5rem}.hero-left{gap:.75rem}.hero-cta-button{padding:.6rem 2rem;font-size:.95rem;border-radius:10px}.carousel-arrow{width:40px;height:40px}.carousel-arrow svg{width:20px;height:20px}.carousel-image,.carousel-image-placeholder{width:35%;margin:.75rem}.carousel-text{padding:1rem 1.5rem 1rem .5rem}.carousel-title{margin-bottom:.5rem;font-size:1rem}.carousel-description{font-size:.85rem;margin-bottom:.75rem;line-height:1.6}.feature-carousel-section .carousel-slide{height:220px}.feature-carousel-section .carousel-slide-content{height:100%}.carousel-slide-content:has(.carousel-experts){flex-direction:column}.carousel-slide-content:has(.carousel-experts) .carousel-text{order:1;padding:.75rem 1rem .5rem;text-align:center}.carousel-slide-content:has(.carousel-experts) .carousel-title{justify-content:center}.carousel-experts{order:2;width:100%;padding:.5rem 1rem 1rem;gap:1rem;flex-direction:row;justify-content:center}.carousel-experts .expert-card{flex:0 1 auto;max-width:280px;display:flex;flex-direction:row;align-items:center;border-radius:12px;padding:.5rem;gap:.5rem}.carousel-experts .expert-image,.carousel-experts .expert-image-placeholder{width:60px;height:60px;aspect-ratio:1 / 1;margin:0;border-radius:0;flex-shrink:0}.carousel-experts .expert-info{padding:0;text-align:left;flex:1}.carousel-experts .expert-name{font-size:.85rem;margin-bottom:.2rem}.carousel-experts .expert-title{font-size:.65rem;line-height:1.4}.carousel-dots{margin-top:1rem}.carousel-dot{width:10px;height:10px}.character-icon{width:clamp(60px,12vw,120px);height:clamp(60px,12vw,120px)}.speech-bubble{font-size:.9rem;padding-bottom:1rem}.speech-bubble:after{width:40px;height:20px}.reference-header-icon{width:clamp(36px,5vw,56px);height:clamp(36px,5vw,56px)}.database-card{padding:1rem;gap:1rem}.database-text p{font-size:.95rem;line-height:1.7;margin-bottom:.75rem}.scene-header{gap:.75rem;margin-bottom:1rem}.scene-header-icon{width:clamp(40px,7vw,72px);height:clamp(40px,7vw,72px)}.scene-selection-content .selection-section{padding:1rem;margin-bottom:1rem}.selection-card{padding:.75rem .5rem;min-height:80px}.age-card-full{padding:.6rem}.age-card-header{margin-bottom:.4rem;padding-bottom:.3rem}.start-game-button{max-width:240px;padding:.5rem 1.5rem;font-size:.9rem;margin-top:.75rem}.environment-note{font-size:.8rem;padding:.5rem;margin-top:.75rem}.recommend-title{margin-bottom:1.5rem}.recommend-icon{width:clamp(64px,10vw,120px);height:clamp(64px,10vw,120px);margin-bottom:.75rem}.recommend-card{padding:.75rem}.recommend-card-title{font-size:1rem;margin-bottom:.5rem}.recommend-card-description{font-size:.85rem;line-height:1.5}.guide-title{margin-bottom:1.5rem}.guide-step-section{padding:.75rem 1rem}.guide-step-header{margin-bottom:.5rem}.guide-step-number{width:32px;height:32px;font-size:1rem}.guide-step-description{font-size:.85rem;line-height:1.5}.guide-step-note{font-size:.7rem}.guide-play-button{margin-top:.75rem;padding:.5rem 2rem;font-size:.9rem}.contact-section{padding:1.5rem 1rem}.contact-title{margin-bottom:1rem}.contact-form{padding:1rem}.database-banner{padding:0}.database-banner-inner{height:100px;gap:0}.top-footer{padding:1.5rem 1rem .75rem}.footer-content{padding-bottom:1rem}}.start-game-button{display:flex;align-items:center;gap:1rem}.start-button-text{flex:1}.sound-toggle-inside{display:flex;background:#00000040;border-radius:16px;padding:3px;gap:2px}.sound-radio-inside{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;cursor:pointer;color:#fff6;transition:all .2s ease}.sound-radio-inside input{display:none}.sound-radio-inside svg{width:18px;height:18px}.sound-radio-inside:hover{color:#ffffffb3}.sound-radio-inside.active{background:#fff3;color:#fff}.sound-radio-inside.active:last-child{background:#4ade804d;color:#4ade80}.form-status{padding:1rem;border-radius:8px;margin-bottom:1rem;font-size:var(--font-size-body);line-height:1.6}.form-status-success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.form-status-error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.field-error{display:block;color:#c62828;font-size:.85rem;margin-top:.25rem}.input-error{border-color:#c62828!important;background:#fff8f8!important}.submit-button:disabled{opacity:.6;cursor:not-allowed}.contact-form input:disabled,.contact-form select:disabled,.contact-form textarea:disabled{background:#f5f5f5;cursor:not-allowed}.required-indicator{color:#c62828;margin-left:.25rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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}@media(prefers-contrast:high){.hero-cta-button,.submit-button,.guide-play-button{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.intro-announce-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;align-items:flex-start;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.intro-announce-content{text-align:left;max-width:860px;padding:2.5rem 3rem;margin-top:2rem;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.intro-announce-message{font-family:SmartFontUI,sans-serif;font-size:1.5rem;font-weight:500;color:#fff;margin-bottom:2rem;line-height:1.9;text-shadow:0 0 8px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.8),0 2px 4px rgba(0,0,0,.9),0 4px 8px rgba(0,0,0,.7)}.intro-announce-button-wrapper{display:flex;flex-direction:column;align-items:center;gap:.75rem}.intro-announce-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 20px #6fd32766}.intro-announce-button:hover{transform:translateY(-2px);background:var(--accent-hover);box-shadow:0 6px 24px #6fd32780}.intro-announce-button:active{transform:translateY(0)}.intro-announce-button-secondary{padding:.75rem 2rem;font-size:.9rem;font-weight:500;color:#fffc;background:transparent;border:1px solid rgba(255,255,255,.5);border-radius:12px;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,color .2s}.intro-announce-button-secondary:hover{transform:translateY(-2px);background:#ffffff1a;border-color:#fffc;color:#fff}.intro-announce-button-secondary:active{transform:translateY(0)}@media(max-height:450px){.intro-announce-content{padding:1.2rem 1.5rem;margin-top:1rem}.intro-announce-message{font-size:.9rem;margin-bottom:1rem;line-height:1.6}.intro-announce-button{padding:.6rem 1.5rem;font-size:.85rem}.intro-announce-button-secondary{padding:.4rem 1.2rem;font-size:.75rem}}.intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.intro-overlay>*{pointer-events:auto}.intro-vision-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;transition:background .1s linear}.intro-progress-container{position:fixed;bottom:100px;left:50%;transform:translate(-50%);width:300px;z-index:100}.intro-progress-bar-wrapper{height:8px;background:#fff3;border-radius:4px;overflow:hidden}.intro-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-hover) 100%);border-radius:4px;transition:width .1s linear}.intro-progress-text{margin-top:8px;text-align:center;color:#fff;font-size:.9rem;font-weight:700;text-shadow:0 0 8px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.8),0 2px 4px rgba(0,0,0,.9)}@media(max-height:450px){.intro-progress-container{bottom:40px;width:200px}.intro-progress-text{font-size:.7rem}}.countdown-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:1000;cursor:pointer}.countdown-content{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.countdown-number{font-family:SmartFontUI,sans-serif;font-size:10rem;font-weight:700;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.5);animation:countdown-pulse 1s ease-out}.countdown-start{font-family:SmartFontUI,sans-serif;font-size:4rem;font-weight:700;color:#6fd327;text-shadow:0 4px 20px rgba(0,0,0,.5);animation:countdown-fade-in .3s ease-out}.countdown-waiting-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.countdown-stage-instruction{font-family:SmartFontUI,sans-serif;font-size:1.4rem;font-weight:700;color:gold;text-shadow:0 2px 10px rgba(0,0,0,.7);text-align:center;line-height:1.6}.countdown-click-to-start{font-family:SmartFontUI,sans-serif;font-size:2rem;font-weight:700;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.5);animation:countdown-pulse-slow 2s ease-in-out infinite}@keyframes countdown-pulse{0%{transform:scale(1.5);opacity:0}20%{transform:scale(1);opacity:1}80%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:.5}}@keyframes countdown-fade-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes countdown-pulse-slow{0%,to{opacity:1}50%{opacity:.6}}@media(max-height:450px){.countdown-number{font-size:5rem}.countdown-start{font-size:2.5rem}.countdown-click-to-start{font-size:1.1rem}.countdown-stage-instruction{font-size:.9rem}.countdown-waiting-content{gap:.8rem}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#1a1a2e;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.2);border-top-color:#4a90a4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:20px;color:#fff;font-size:1.2rem;font-weight:500}.game-scene{width:100%;height:100%;position:relative}.game-scene canvas{width:100%!important;height:100%!important}.game-instruction-center{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:1001;color:#fff;font-size:1rem;background:#000000b3;padding:.6rem 1.2rem;border-radius:8px;pointer-events:none;white-space:nowrap}.game-instruction-center.mobile{bottom:calc(0px + env(safe-area-inset-bottom,0px));font-size:.75rem;padding:.4rem .8rem;border-radius:8px 8px 0 0}.game-instruction-center.review-mode{background:#1e6432cc;border:1px solid rgba(100,255,100,.4);color:#c8ffc8f2}.glb-load-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);z-index:2000}.glb-load-error-content{text-align:center;max-width:400px;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a}.glb-load-error-content h2{font-size:1.25rem;color:#333;margin:0 0 1rem}.glb-load-error-content p{font-size:1rem;color:#666;margin:0 0 1.5rem;line-height:1.6}.glb-load-error-button{padding:.75rem 2rem;font-size:1rem;font-weight:600;color:#fff;background-color:#6fd327;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .2s}.glb-load-error-button:hover{background-color:#5cb822;transform:translateY(-2px)}.glb-load-error-button:focus{outline:2px solid #6fd327;outline-offset:2px}.game-hud{position:absolute;inset:0;pointer-events:none}.vision-overlay{position:absolute;inset:0;pointer-events:none;z-index:1}.hud-top-left{position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));left:calc(1rem + env(safe-area-inset-left,0px));z-index:42;pointer-events:auto}.hud-info-group{display:flex;gap:1.5rem;background:#0009;padding:.5rem 1rem;border-radius:8px}.hud-info{display:flex;flex-direction:column;align-items:center;color:#fff}.hud-label{font-size:.7rem;opacity:.7}.hud-value{font-size:1rem;font-weight:700}.hud-top-center{position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:42;pointer-events:auto;display:flex;align-items:stretch;gap:.4rem}.hud-timer{display:flex;flex-direction:column;align-items:center;background:#0009;padding:.5rem 1.5rem;border-radius:8px;color:#fff}.timer-value{font-size:2rem;font-weight:700;color:#fff;font-family:SmartFontUI,sans-serif}.hud-top-right{position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));right:calc(1rem + env(safe-area-inset-right,0px));z-index:42;pointer-events:auto}.hud-found{display:flex;flex-direction:column;align-items:center;background:#0009;padding:.5rem 1.5rem;border-radius:8px;color:#fff;border:2px solid rgba(255,200,50,.6)}.found-value{font-size:2rem;font-weight:700;color:#fc3;font-family:SmartFontUI,sans-serif}.hud-found.pulse{animation:hud-found-pulse .5s ease-out}@keyframes hud-found-pulse{0%{transform:scale(1)}30%{transform:scale(1.15);border-color:#ffdc50;box-shadow:0 0 16px #ffc83299}to{transform:scale(1)}}.esc-hint-bottom-left{position:absolute;bottom:calc(1rem + env(safe-area-inset-bottom,0px));left:calc(1rem + env(safe-area-inset-left,0px));z-index:2;color:#ffffffd9;font-size:.85rem;font-weight:700;pointer-events:none;background:#00000080;padding:.4rem .8rem;border-radius:6px;border:1px solid rgba(255,255,255,.3)}.pause-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;background:#0009;z-index:50;pointer-events:auto;cursor:pointer}.pause-controls-guide{display:flex;flex-direction:column;align-items:center;gap:.8rem;pointer-events:none;cursor:default}.pause-controls-title{color:#ffffffe6;font-size:1rem;font-weight:700;margin:0;letter-spacing:.15em}.pause-controls-items{display:flex;gap:2rem;align-items:flex-end}.pause-control-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;color:#ffffffe6}.pause-control-icon-wrap{display:flex;align-items:center;justify-content:center;width:64px;height:64px}.pause-control-icon-wrap svg{display:block}.pause-control-keys{display:flex;flex-direction:column;align-items:center;gap:4px}.pause-key-row{display:flex;gap:4px}.pause-key{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:#ffffff26;border:1px solid rgba(255,255,255,.5);border-radius:5px;color:#fff;font-size:.85rem;font-weight:700}.pause-key-wide{width:auto;padding:0 14px;height:34px}.pause-control-label{font-size:.75rem;opacity:.7}.pause-control-desc{font-size:.9rem;font-weight:700}.pause-resume-row{display:flex;align-items:center;gap:.75rem}.click-to-resume{color:#fff;font-size:1.1rem;background:#000c;padding:.8rem 2rem;border-radius:8px;pointer-events:none}.sound-toggle-pause{width:44px;height:44px;border-radius:8px;border:none;background:#000c;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;transition:background .2s}.sound-toggle-pause:hover{background:#000}.sound-toggle-pause.enabled{color:#4ade80}.sound-toggle-pause svg{width:20px;height:20px}.quit-button{font-size:1.1rem;padding:.8rem 2rem;background:#ff6464cc;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .2s}.quit-button:hover{background:#ff6464}.mobile-pause-button{background:#dc1e1ee6;border:none;border-radius:8px;color:#fff;font-size:.75rem;font-weight:700;padding:0 .6rem;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap}.mobile-pause-button:active{background:#c81414}.hud-review-label{display:flex;align-items:center;justify-content:center;background:transparent;padding:.5rem 1rem}.review-label-text{font-size:1.1rem;font-weight:700;color:#96ff96e6;text-shadow:0 0 8px rgba(100,255,100,.5);letter-spacing:.1em}.review-end-button{background:#329632e6;border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:700;padding:0 1rem;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap;transition:background .2s}.review-end-button:hover{background:#288228}.review-end-button:active{background:#1e6e1e}.hazard-label{transform:translate(-50%,-100%);padding:8px 14px;background:#c81e1ee6;border:2px solid white;border-radius:8px;color:#fff;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 8px #0000004d;display:flex;flex-direction:column;align-items:center;gap:2px;width:max-content;max-width:clamp(220px,20vw,320px)}.hazard-label-name{font-weight:700;font-size:15px;white-space:nowrap}.hazard-label-description{font-size:clamp(11px,1.2vw,16px);opacity:.9;text-align:center;line-height:1.3}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.crosshair:before,.crosshair:after{content:"";position:absolute;background:#0fa;box-shadow:0 0 4px #0fac,0 0 8px #00ffaa80}.crosshair:before{width:28px;height:3px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:2px}.crosshair:after{width:3px;height:28px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:2px}.crosshair-dot{width:6px;height:6px;background:#fff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #ffffffe6,0 0 8px #00ffaab3;transition:transform .1s ease-out,box-shadow .1s ease-out}.crosshair-click:before,.crosshair-click:after{background:#fff;box-shadow:0 0 8px #fff,0 0 16px #00ffaae6}.crosshair-click:before{animation:crosshair-pulse-h .15s ease-out}.crosshair-click:after{animation:crosshair-pulse-v .15s ease-out}.crosshair-click .crosshair-dot{transform:translate(-50%,-50%) scale(1.5);box-shadow:0 0 8px #fff,0 0 16px #0fa}@keyframes crosshair-pulse-h{0%{transform:translate(-50%,-50%) scaleX(1)}50%{transform:translate(-50%,-50%) scaleX(.6)}to{transform:translate(-50%,-50%) scaleX(1)}}@keyframes crosshair-pulse-v{0%{transform:translate(-50%,-50%) scaleY(1)}50%{transform:translate(-50%,-50%) scaleY(.6)}to{transform:translate(-50%,-50%) scaleY(1)}}.sound-toggle-inline{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sound-toggle-inline:active{background:#ffffff26}.sound-toggle-inline.enabled{color:#4ade80}.sound-toggle-inline svg{width:20px;height:20px}@media(max-height:450px){.hud-top-left{top:calc(.3rem + env(safe-area-inset-top,0px));left:calc(.4rem + env(safe-area-inset-left,0px))}.hud-top-center{top:calc(.3rem + env(safe-area-inset-top,0px));gap:.3rem}.hud-top-right{top:calc(.3rem + env(safe-area-inset-top,0px));right:calc(.4rem + env(safe-area-inset-right,0px))}.hud-info-group{gap:.7rem;padding:.25rem .6rem;border-radius:6px}.hud-label{font-size:.55rem}.hud-value{font-size:.75rem}.hud-timer{padding:.25rem .8rem;border-radius:6px}.timer-value{font-size:1.2rem}.hud-found{padding:.25rem .8rem;border-radius:6px}.found-value{font-size:1.2rem}.esc-hint-bottom-left{bottom:calc(.4rem + env(safe-area-inset-bottom,0px));left:calc(.4rem + env(safe-area-inset-left,0px));font-size:.7rem;padding:.25rem .5rem}.sound-toggle-inline{width:28px;height:28px}.sound-toggle-inline svg{width:16px;height:16px}.mobile-pause-button{font-size:.65rem;padding:0 .4rem;border-radius:6px}.review-label-text{font-size:.85rem}.review-end-button{font-size:.65rem;padding:0 .6rem;border-radius:6px}.pause-overlay{gap:.6rem}.pause-controls-guide{gap:.4rem}.pause-controls-title{font-size:.8rem}.pause-controls-items{gap:1rem}.pause-control-icon-wrap{width:36px;height:36px}.pause-control-icon-wrap svg{width:28px;height:28px}.pause-control-label{font-size:.6rem}.pause-control-desc{font-size:.7rem}.click-to-resume,.quit-button{font-size:.85rem;padding:.5rem 1.2rem}.sound-toggle-pause{width:36px;height:36px}.hazard-label{padding:4px 8px;border-radius:5px;border-width:1px;gap:1px;max-width:150px}.hazard-label-name{font-size:11px}.hazard-label-description{font-size:9px}}.quit-confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:100;pointer-events:auto}.quit-confirm-dialog{background:#1e1e1ef2;border-radius:16px;padding:2rem 3rem;text-align:center;box-shadow:0 8px 32px #00000080}.quit-confirm-message{color:#fff;font-size:1.25rem;margin:0 0 1.5rem}.quit-confirm-buttons{display:flex;gap:1rem;justify-content:center}.quit-confirm-yes,.quit-confirm-no{padding:.75rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,background .2s}.quit-confirm-yes{background:#e74c3c;color:#fff}.quit-confirm-yes:hover{background:#c0392b;transform:translateY(-2px)}.quit-confirm-no{background:#6fd327;color:#fff}.quit-confirm-no:hover{background:#5bb820;transform:translateY(-2px)}@media(max-width:768px){.quit-confirm-dialog{padding:1.5rem 2rem;margin:0 1rem}.quit-confirm-message{font-size:1.1rem}.quit-confirm-yes,.quit-confirm-no{padding:.6rem 1.5rem;font-size:.95rem}}.game-screen{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden}.result-screen{position:relative;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;min-height:100dvh;background:var(--bg-primary);padding:2rem;box-sizing:border-box;overflow-y:auto}.result-top-nav{position:fixed;top:1.5rem;left:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.75rem;z-index:100;pointer-events:none}.result-top-nav>*{pointer-events:auto}.back-to-top-button{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#fff;border:1px solid var(--text-primary);border-radius:8px;color:var(--text-primary);font-size:var(--font-size-body);cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000014}.back-to-top-button:hover{background:#f5f5f5;color:var(--text-accent);border-color:var(--text-accent);transform:translateY(-1px)}.back-to-top-button .arrow{font-size:1.1rem}.result-container{width:100%;max-width:1200px;color:var(--text-primary);margin-top:3rem}.result-phase{display:flex;flex-direction:column;gap:1.5rem}.ranking-phase{gap:0}.ranking-background{background:linear-gradient(135deg,#f5f5f5,#e8e8e8,#f5f5f5);border-radius:20px 20px 0 0;padding:3rem 2rem;display:flex;justify-content:center;align-items:center;min-height:320px;position:relative;overflow:hidden}.ranking-background:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 30%,rgba(111,211,39,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(111,211,39,.06) 0%,transparent 40%);pointer-events:none}.ranking-content{text-align:center;position:relative;z-index:1}.ranking-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-heading);font-weight:700;margin-bottom:1.5rem;color:var(--text-primary);letter-spacing:.05em}.rank-display{display:flex;justify-content:center;align-items:baseline;margin-bottom:.75rem}.rank-display.loading{align-items:center;min-height:80px}.rank-loading-text{font-size:var(--font-size-body);color:var(--text-primary);opacity:.7;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:.4}}.rank-number{font-family:SmartFontUI,sans-serif;font-size:5rem;font-weight:700;line-height:1;color:var(--accent);text-shadow:2px 2px 0 rgba(111,211,39,.2)}.rank-suffix{font-family:SmartFontUI,sans-serif;font-size:2rem;font-weight:700;margin-left:.25rem;color:var(--text-primary)}.rank-percentile{font-size:var(--font-size-body);margin-bottom:1rem;color:var(--text-primary);opacity:.85}.percentile-value{font-family:SmartFontUI,sans-serif;font-weight:700;color:var(--accent)}.rank-error-notice{font-size:.85rem;color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:.5rem 1rem;margin-top:.5rem;margin-bottom:1rem}.score-info{font-size:var(--font-size-body);color:var(--text-primary);opacity:.8}.score-info .separator{display:inline-block;width:1.5rem}.share-buttons{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.share-label{font-size:var(--font-size-body);color:var(--text-primary);opacity:.7}.share-icons{display:flex;gap:2rem}.share-button{width:44px;height:44px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;overflow:hidden}.share-button img{display:block;object-fit:contain}.share-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.share-button.share-x{background:transparent;border-radius:0;width:auto;height:auto}.share-button.share-x img{width:44px;height:44px}.share-button.share-x:hover{box-shadow:none;opacity:.8}.share-button.share-facebook{background:transparent;border-radius:0;width:auto;height:auto}.share-button.share-facebook img{width:44px;height:44px}.share-button.share-facebook:hover{box-shadow:none;opacity:.8}.share-button.share-instagram{background:transparent;border-radius:0;width:auto;height:auto}.share-button.share-instagram img{width:44px;height:44px}.share-button.share-instagram:hover{box-shadow:none;opacity:.8}.copy-toast{margin-top:.75rem;padding:.5rem 1rem;background:#000c;color:#fff;border-radius:6px;font-size:var(--font-size-body);animation:fadeInOut 3s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(10px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.ranking-actions{display:flex;gap:1rem;background:#fff;padding:1.5rem 2rem;border-radius:0 0 20px 20px;box-shadow:0 4px 20px #0000000f}.action-button{flex:1;padding:1rem 1.5rem;border:none;border-radius:12px;font-size:var(--font-size-body);font-weight:500;cursor:pointer;transition:all .2s}.action-button.primary{background:var(--accent);color:#fff;box-shadow:0 4px 16px #6fd32759}.action-button.primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #6fd32773}.action-button.secondary{background:#fff;color:var(--text-primary);border:1px solid rgba(101,92,64,.3)}.action-button.secondary:hover{background:#f5f5f5;border-color:var(--text-accent);color:var(--text-accent)}.list-phase{background:#f5f5f5;border-radius:20px;padding:1.5rem}.phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid rgba(101,92,64,.1)}.phase-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;margin:0;color:var(--text-primary)}.phase-subtitle{font-size:var(--font-size-body);color:var(--text-primary);opacity:.75}.found-count{display:flex;align-items:center;gap:.75rem}.count-label{font-size:var(--font-size-body);color:var(--text-primary);opacity:.7}.count-value{display:flex;align-items:baseline}.count-found{font-family:SmartFontUI,sans-serif;font-size:2.25rem;font-weight:700;color:var(--accent)}.count-separator{font-size:1.75rem;margin:0 .2rem;color:var(--text-primary);opacity:.4}.count-total{font-family:SmartFontUI,sans-serif;font-size:1.75rem;font-weight:500;color:var(--text-primary);opacity:.6}.count-unit{font-size:var(--font-size-body);margin-left:.25rem;color:var(--text-primary);opacity:.6}.hazard-table{background:#fff;border-radius:16px;overflow:hidden;margin-bottom:1rem;box-shadow:0 2px 12px #0000000f}.table-header{display:grid;grid-template-columns:1fr 2fr 2fr auto;background:#6fd3271a;padding:.85rem 1.25rem;font-weight:600;font-size:var(--font-size-body);color:var(--text-primary);border-bottom:1px solid rgba(101,92,64,.1)}.table-body{min-height:min(200px,30vh);max-height:min(50vh,500px);overflow-y:auto}.table-row{display:grid;grid-template-columns:1fr 2fr 2fr auto;padding:.9rem 1.25rem;border-bottom:1px solid rgba(101,92,64,.08);font-size:var(--font-size-body);line-height:1.5;align-items:center;color:var(--text-primary);transition:background .15s}.table-row:last-child{border-bottom:none}.table-row:hover{background:#6fd3270a}.col-name{font-family:SmartFontUI,sans-serif;font-weight:600;color:var(--text-primary);padding-right:1rem;border-right:1px solid rgba(101,92,64,.12);margin-right:.5rem}.col-risk,.col-prevention{opacity:.85;padding-right:1rem}.col-risk{border-right:1px solid rgba(101,92,64,.12);margin-right:.5rem}.col-link{text-align:center;min-width:80px}.reference-link{display:inline-block;padding:.4rem .9rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:6px;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #6fd3274d}.reference-link:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6fd32766}.no-link{color:#655c4066}.hazard-table.missed .table-row{background:#dc505008}.hazard-table.missed .col-name{color:#c74a4a}.no-items{text-align:center;padding:3rem;color:var(--text-primary);opacity:.6;font-size:var(--font-size-body);background:#fff;border-radius:16px}.no-items.perfect{color:var(--accent);font-family:SmartFontUI,sans-serif;font-weight:700;opacity:1}.table-annotation{background:var(--bg-secondary);border-radius:0;padding:1rem 1.25rem;margin:0;border-top:1px solid rgba(101,92,64,.1)}.annotation-text{color:var(--text-primary);font-size:.8rem;line-height:1.6;margin:0}.stage-annotation{background:var(--bg-secondary);border-radius:8px;padding:1rem 1.25rem;margin-top:1rem}.phase-actions{display:flex;gap:1rem;margin-top:1rem}.phase-actions.final{margin-top:1.5rem}.review-phase{background:#f5f5f5;border-radius:20px;padding:1.5rem}.review-phase.no-header{padding-top:1rem}.stage-preview-3d{position:relative;background:#2a2a2a;border-radius:16px;overflow:hidden;height:650px;box-shadow:0 4px 20px #00000026}.review-badge{position:absolute;top:1rem;right:1rem;z-index:100;display:flex;flex-direction:column;gap:.15rem;padding:.6rem 1rem;border-radius:10px;box-shadow:0 2px 12px #0000004d;min-width:120px}.review-badge.missed-badge{background:#dc5050f2;color:#fff}.badge-label{font-size:1rem;opacity:.9;font-weight:500}.badge-value{font-family:SmartFontUI,sans-serif;font-size:1.5rem;font-weight:700;line-height:1}.badge-unit{font-size:var(--font-size-body);font-weight:500;margin-left:.15rem}.review-scene-container{width:100%;height:100%;position:relative}.review-scene-container canvas{width:100%!important;height:100%!important}.review-instruction-center{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:100;color:#fff;font-size:var(--font-size-body);background:#000000b3;padding:.6rem 1.2rem;border-radius:8px;pointer-events:none;white-space:nowrap}.database-phase{background:#f5f5f5;border-radius:20px;padding:1.5rem}.database-content{margin:1rem 0}.database-card{display:flex;gap:1.5rem;background:#fff;border-radius:16px;padding:1.5rem;align-items:flex-start;box-shadow:0 2px 12px #0000000f}.database-icon-link{flex-shrink:0;width:200px;height:150px;background:#f5f5f5;border-radius:12px;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}.database-icon-link:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.database-icon-link img{width:100%;height:100%;object-fit:cover}.icon-placeholder{position:absolute;font-size:4rem}.database-info{flex:1}.database-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;margin:0 0 1rem;color:var(--text-primary)}.database-description{font-size:var(--font-size-body);line-height:1.7;margin:0 0 .5rem;color:var(--text-primary);opacity:.85}.database-source{font-size:var(--font-size-body);color:var(--text-primary);opacity:.7;margin:0 0 1rem}.database-detail-link{display:block;width:fit-content;margin-left:auto;padding:.7rem 2rem;font-size:var(--font-size-body);font-weight:600;color:#fff;background:var(--accent);border-radius:8px;text-decoration:none;transition:all .2s}.database-detail-link:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 16px #6fd32766}.survey-banner{margin-left:auto}.survey-open-button{padding:.6rem 1.2rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #6fd32759;white-space:nowrap}.survey-open-button:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #6fd32773}.survey-thanks{margin:0;padding:.6rem 1.2rem;background:#fff;border-radius:8px;font-size:var(--font-size-body);font-weight:600;color:var(--accent);box-shadow:0 2px 12px #0000000f;white-space:nowrap}.survey-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;display:flex;justify-content:center;align-items:center;padding:1rem;box-sizing:border-box}.survey-modal{background:#fff;padding:2.5rem 3rem;max-width:620px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 40px #00000040}.survey-modal-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.survey-modal-description{font-size:var(--font-size-body);color:var(--text-primary);opacity:.75;margin:0 0 2rem;line-height:1.7}.survey-question{margin-bottom:2rem}.survey-question-label{font-weight:600;font-size:var(--font-size-body);margin:0 0 .85rem;color:var(--text-primary);line-height:1.5}.survey-options{display:flex;flex-direction:column;gap:.6rem}.survey-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f5f5f5;border-radius:8px;cursor:pointer;transition:background .15s}.survey-option:hover{background:#6fd3271a}.survey-option input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0;cursor:pointer}.survey-option-text{font-size:var(--font-size-body);color:var(--text-primary)}.survey-textarea{width:100%;padding:.85rem 1rem;border:1px solid rgba(101,92,64,.2);border-radius:8px;font-size:var(--font-size-body);font-family:inherit;resize:vertical;color:var(--text-primary);box-sizing:border-box;transition:border-color .2s}.survey-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6fd32726}.survey-textarea::placeholder{color:#655c4066}.required-mark{color:#dc4444;font-size:.85em;font-weight:600;margin-left:.5rem}.char-counter{text-align:right;font-size:.9rem;color:#655c4099;margin-top:.4rem;transition:color .2s}.char-counter.warning{color:#dc4444;font-weight:600}.submit-button-wrapper{flex:1;position:relative;display:flex;flex-direction:column;align-items:stretch}.submit-button-wrapper .action-button{width:100%}.submit-button-wrapper .action-button:disabled{background:#ccc;color:#888;cursor:not-allowed;box-shadow:none}.submit-button-wrapper .action-button:disabled:hover{transform:none;box-shadow:none}.submit-tooltip{font-size:.85rem;color:#dc4444;text-align:center;margin-top:.4rem}.survey-error{background:#dc44441a;border:1px solid #dc4444;border-radius:8px;padding:.75rem 1rem;color:#dc4444;font-size:var(--font-size-body);margin-bottom:1rem}.survey-actions{display:flex;gap:1rem;margin-top:2rem}.survey-prompt-modal{background:#fff;padding:2rem 2.5rem;max-width:520px;width:100%;box-shadow:0 8px 40px #00000040;text-align:left}.survey-prompt-title{font-family:SmartFontUI,sans-serif;font-size:var(--font-size-subheading);font-weight:700;margin:0 0 1rem;color:var(--text-primary)}.survey-prompt-description{font-size:var(--font-size-body);color:var(--text-primary);opacity:.75;margin:0 0 1.5rem;line-height:1.7}.survey-prompt-actions{display:flex;gap:1rem;justify-content:center}@media(max-width:768px){.result-screen{padding:1rem}.result-container{max-width:100%;margin-top:4rem}.result-top-nav{top:1rem;left:1rem;right:1rem}.back-to-top-button{padding:.5rem 1rem;font-size:1rem}.ranking-background{padding:2rem 1.5rem;min-height:280px}.ranking-title{font-size:1.6rem}.rank-number{font-size:4rem}.rank-suffix{font-size:1.75rem}.ranking-actions{flex-direction:column;padding:1.25rem 1.5rem}.share-buttons{margin-top:1rem}.share-button.share-x img,.share-button.share-facebook img,.share-button.share-instagram img{width:40px;height:40px}.list-phase,.review-phase,.database-phase{padding:1.25rem}.phase-header{flex-direction:column;align-items:flex-start;gap:.75rem}.found-count{flex-direction:column;align-items:flex-start;gap:.25rem}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header .col-risk,.table-header .col-prevention,.table-header .col-link{display:none}.table-row .col-link{text-align:left;margin-top:.5rem}.table-row .col-name{font-weight:700;color:var(--text-accent)}.table-row .col-risk{border-right:none;margin-right:0;padding-right:0}.table-row .col-risk:before{content:"事故の可能性: ";font-weight:600;opacity:.7}.table-row .col-prevention{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed rgba(101,92,64,.15);padding-right:0}.table-row .col-prevention:before{content:"予防策: ";font-weight:600;opacity:.7}.database-card{flex-direction:column}.database-icon-link{width:100%;height:140px}.database-detail-link{display:block;text-align:center;padding:.6rem 1.5rem;font-size:1rem}.phase-actions{flex-direction:column}.table-annotation{padding:.8rem 1rem}.stage-annotation{padding:.8rem 1rem;margin-top:.75rem}.annotation-text{font-size:.75rem}.stage-preview-3d{height:550px}.review-badge{top:.75rem;right:.75rem;padding:.5rem .8rem;min-width:100px;border-radius:8px}.badge-label{font-size:1rem}.badge-value{font-size:1.2rem}.badge-unit{font-size:1rem}.survey-open-button{font-size:1rem;padding:.5rem 1rem}.survey-modal{padding:1.5rem;max-height:90vh}.survey-modal-title{font-size:1.25rem}.survey-actions{flex-direction:column}}.table-body::-webkit-scrollbar{width:6px}.table-body::-webkit-scrollbar-track{background:#655c400d;border-radius:3px}.table-body::-webkit-scrollbar-thumb{background:#655c4033;border-radius:3px}.table-body::-webkit-scrollbar-thumb:hover{background:#655c4059}.stage-preview-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#ffffffe6;color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;font-size:1rem;pointer-events:none;box-shadow:0 2px 8px #0000001a}@media(max-height:450px){.result-screen{padding:.4rem .75rem;flex-direction:column;align-items:stretch;justify-content:flex-start;height:100vh;height:100dvh;overflow:hidden;min-height:0}.result-top-nav{position:static;flex-shrink:0;gap:.5rem;pointer-events:auto}.result-container{max-width:100%;margin-top:0;display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.back-to-top-button{padding:.2rem .5rem;font-size:1rem;border-radius:5px}.result-phase{flex:1;display:flex;flex-direction:column;gap:0;overflow:hidden;min-height:0}.action-button{padding:.4rem .75rem;font-size:1rem;border-radius:8px}.ranking-background{flex:1;padding:.4rem 1rem;min-height:0;border-radius:10px 10px 0 0;display:flex;justify-content:center;align-items:center}.ranking-title{font-size:1rem;margin-bottom:.15rem}.rank-display{margin-bottom:.1rem}.rank-display.loading{min-height:40px}.rank-loading-text{font-size:1rem}.rank-number{font-size:2rem}.rank-suffix{font-size:1rem}.rank-percentile{font-size:1rem;margin-bottom:.1rem}.score-info{font-size:1rem}.share-buttons{margin-top:.4rem;gap:.3rem}.share-label{font-size:1rem}.share-icons{gap:1rem}.share-button.share-x img,.share-button.share-facebook img,.share-button.share-instagram img{width:28px;height:28px}.copy-toast{margin-top:.3rem;padding:.25rem .5rem;font-size:1rem}.ranking-actions{padding:.4rem .75rem;gap:.5rem;flex-direction:row;flex-shrink:0;border-radius:0 0 10px 10px}.list-phase,.review-phase,.database-phase{padding:.5rem .75rem;border-radius:10px}.phase-header{margin-bottom:.15rem;padding-bottom:0;border-bottom:none;flex-direction:row;align-items:center;flex-shrink:0}.phase-title{display:none}.phase-subtitle{font-size:1rem}.found-count{flex-direction:row;align-items:baseline;gap:.3rem}.count-label,.count-found{font-size:1rem}.count-separator{font-size:1rem;margin:0 .05rem}.count-total{font-size:1rem}.count-unit{font-size:1rem;margin-left:.1rem}.hazard-table{flex:1;display:flex;flex-direction:column;border-radius:8px;margin-bottom:.3rem;overflow:hidden;min-height:0}.table-header{padding:.3rem .6rem;font-size:1rem;flex-shrink:0}.table-body{flex:1;max-height:none;overflow-y:auto;min-height:0}.table-row{padding:.35rem .6rem;font-size:1rem;line-height:1.3}.col-link{min-width:50px}.reference-link{padding:.2rem .5rem;font-size:1rem}.phase-actions{margin-top:.3rem;gap:.5rem;flex-direction:row;flex-shrink:0}.phase-actions.final{margin-top:.3rem}.stage-preview-3d{flex:1;height:auto;min-height:0;border-radius:8px}.review-phase.no-header{padding-top:.5rem}.review-badge{top:.4rem;right:.4rem;padding:.25rem .5rem;min-width:auto;border-radius:5px;flex-direction:row;align-items:center;gap:.3rem}.badge-label,.badge-value,.badge-unit{font-size:1rem}.review-instruction-center{bottom:.5rem;font-size:1rem;padding:.25rem .6rem}.database-content{flex:1;margin:.3rem 0;overflow:hidden;min-height:0}.database-card{height:100%;gap:.75rem;padding:.5rem;border-radius:8px;flex-direction:row;align-items:center;box-sizing:border-box}.database-icon-link{width:100px;height:70px;border-radius:6px}.database-title{font-size:1rem;margin-bottom:.2rem}.database-description{font-size:1rem;line-height:1.4;margin-bottom:.2rem}.database-source{font-size:1rem;margin-bottom:.3rem}.database-detail-link{padding:.4rem 1rem;font-size:1rem}.survey-open-button,.survey-thanks{padding:.2rem .5rem;font-size:1rem;border-radius:5px}.survey-modal{padding:.75rem 1rem;max-height:90vh;max-height:90dvh;max-width:90vw}.survey-modal-title{font-size:1rem;margin-bottom:.2rem}.survey-modal-description{font-size:1rem;margin-bottom:.75rem}.survey-question{margin-bottom:.75rem}.survey-question-label{font-size:1rem;margin-bottom:.3rem}.survey-options{gap:.2rem}.survey-option{padding:.3rem .6rem;gap:.4rem}.survey-option-text{font-size:1rem}.survey-option input[type=radio]{width:13px;height:13px}.survey-textarea{font-size:1rem;padding:.4rem .6rem}.survey-actions{margin-top:.75rem;gap:.5rem;flex-direction:row}.no-items{flex:1;display:flex;align-items:center;justify-content:center;padding:.75rem;font-size:1rem;border-radius:8px}.stage-preview-hint{bottom:.4rem;padding:.25rem .6rem;font-size:1rem}}.orientation-overlay{position:fixed;inset:0;background:#000000f2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;z-index:1000;color:#fff;text-align:center;padding:2rem}.orientation-icon{width:80px;height:80px;animation:rotate-phone 2s ease-in-out infinite}.orientation-icon svg{width:100%;height:100%;fill:currentColor}@keyframes rotate-phone{0%,to{transform:rotate(0)}25%{transform:rotate(-90deg)}50%{transform:rotate(-90deg)}75%{transform:rotate(0)}}.orientation-text{font-size:1.25rem;font-weight:700;max-width:280px;line-height:1.6}.orientation-subtext{font-size:.9rem;opacity:.7;max-width:250px}.simulation-page{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background:var(--bg-primary);overflow-y:auto}.debug-panel{position:fixed;top:10px;right:10px;width:320px;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:16px;color:#fff;font-family:SmartFontUI,sans-serif;font-size:13px;overflow-y:auto;z-index:1000;pointer-events:auto}.debug-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2)}.debug-panel-header h3{margin:0;font-size:16px;font-weight:600;color:#0f8}.debug-reset-button{background:#f44;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background .2s}.debug-reset-button:hover{background:#f66}.debug-section{margin-bottom:16px}.debug-section h4{margin:0 0 10px;font-size:13px;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.debug-preset-buttons{display:flex;flex-wrap:wrap;gap:6px}.debug-preset-buttons button{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s}.debug-preset-buttons button:hover{background:#00ff884d;border-color:#0f8}.debug-checkbox-row{margin-bottom:8px}.debug-checkbox-row label{display:flex;align-items:center;gap:8px;cursor:pointer}.debug-checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.debug-slider-row{margin-bottom:12px}.debug-slider-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px}.debug-slider-value{color:#0f8;font-family:SmartFontUI,sans-serif;font-size:12px}.debug-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:#fff3;border-radius:3px;outline:none}.debug-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#0f8;border-radius:50%;cursor:pointer;transition:transform .1s}.debug-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.debug-slider::-moz-range-thumb{width:16px;height:16px;background:#0f8;border-radius:50%;cursor:pointer;border:none}.debug-panel::-webkit-scrollbar{width:6px}.debug-panel::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.debug-panel::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.debug-panel::-webkit-scrollbar-thumb:hover{background:#ffffff80}.debug-page{width:100vw;height:100vh;height:100dvh;position:relative;overflow:hidden;background:#000}.debug-exit-button{position:fixed;top:10px;left:10px;background:#ff4444e6;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;z-index:1001;transition:all .2s}.debug-exit-button:hover{background:#ff6464;transform:scale(1.05)}.not-found-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px}.not-found-content{text-align:center;max-width:500px}.not-found-title{font-size:120px;font-weight:700;color:#6fd327;margin:0;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.not-found-message{font-size:24px;font-weight:600;color:#333;margin:20px 0 10px}.not-found-description{font-size:16px;color:#666;margin:0 0 30px;line-height:1.6}.not-found-button{display:inline-block;padding:14px 32px;font-size:16px;font-weight:600;color:#fff;background-color:#6fd327;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .2s}.not-found-button:hover{background-color:#5cb822;transform:translateY(-2px)}.not-found-button:focus{outline:2px solid #6fd327;outline-offset:2px}.not-found-button:active{transform:translateY(0)}@media(max-width:480px){.not-found-title{font-size:80px}.not-found-message{font-size:20px}.not-found-description{font-size:14px}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100%}#root{width:100%;min-height:100vh;min-height:100dvh}body{font-family:SmartFontUI,system-ui,sans-serif}
