@media (max-width: 768px) { 
            body { background-attachment: scroll; }
            #mission-text { font-size: 1.6rem; } 
            .hero { margin-top: 95px; padding-top: 14px; margin-bottom: 96px; }
            .main-logo { max-width: min(92vw, 560px); } 
            .logo-hover-hint { display: none; }
            .logo-mobile-pulse { display: block; }
            .section-divider { width: calc(100% - 28px); margin: 8px 0 18px; opacity: 0.38; }
            .signal-section, .lab-section { margin-bottom: 18px; padding: 0 10px; }
            .signal-shell,
            .lab-shell,
            .contact-shell,
            .about-section,
            .info-section,
            .card,
            .note-board,
            .footer-strip {
                background:
                    linear-gradient(180deg, rgba(19, 20, 28, 0.9), rgba(14, 14, 20, 0.92));
                box-shadow: none;
            }
            .signal-shell,
            .lab-shell,
            .contact-shell {
                border-color: rgba(255,255,255,0.08);
            }
            .signal-shell::before,
            .signal-shell::after,
            .lab-shell::before,
            .contact-shell::before,
            .card::before {
                content: none;
            }
            .signal-shell {
                grid-template-columns: 1fr;
                gap: 14px;
                padding: 16px;
            }
            .signal-main-title { max-width: none; }
            .signal-main-title { font-size: clamp(1.35rem, 7vw, 2rem); }
            .signal-main-copy { font-size: 0.9rem; line-height: 1.6; }
            .signal-intro { padding: 4px 2px 0; }
            .signal-visuals { grid-template-columns: 1fr; margin-top: 16px; }
            .signal-shot,
            .signal-shot-large,
            .signal-shot-small { aspect-ratio: 1.7 / 1; max-width: none; }
            .signal-shot-caption {
                left: 14px;
                right: 14px;
                bottom: 12px;
                font-size: 0.65rem;
                letter-spacing: 0.12em;
            }
            .signal-grid {
                grid-template-columns: 1fr;
                grid-auto-rows: auto;
                gap: 10px;
            }
            .signal-card {
                min-height: 0;
                padding: 14px 14px 12px;
            }
            .signal-card h3 {
                margin-bottom: 8px;
                font-size: 0.96rem;
            }
            .signal-card p {
                -webkit-line-clamp: unset;
                max-height: none;
                opacity: 0.9;
                font-size: 0.84rem;
                line-height: 1.52;
            }
            .lab-shell {
                grid-template-columns: 1fr;
                gap: 14px;
                padding: 16px;
            }
            .lab-copy h3 {
                margin-bottom: 10px;
                font-size: 1.12rem;
            }
            .lab-copy p {
                max-width: none;
                font-size: 0.88rem;
                line-height: 1.58;
            }
            .lab-console {
                gap: 12px;
            }
            .lab-console-tabs {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 8px;
            }
            .lab-console-tab {
                padding: 9px 10px;
                font-size: 0.62rem;
                letter-spacing: 0.12em;
            }
            .lab-console-panel {
                min-height: 0;
                padding: 16px;
                gap: 10px;
            }
            .lab-console-title { font-size: 1.14rem; }
            .lab-console-desc {
                max-width: none;
                font-size: 0.86rem;
                line-height: 1.56;
            }
            .section-title { font-size: 1.05rem; letter-spacing: 0.24em; margin: 94px 0 40px 0; }
            .section-title::before { font-size: 0.56rem; letter-spacing: 0.34em; margin-bottom: 10px; }
            .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-bottom: 18px; }
            .card-image-area { height: 132px; }
            .card-content { padding: 18px; gap: 12px; }
            .card-head {
                gap: 10px;
                align-items: flex-start;
            }
            .card-head > div {
                min-width: 0;
                width: 100%;
            }
            .card-index {
                font-size: 0.6rem;
                padding-top: 2px;
            }
            .card h2 { font-size: 1.12rem; }
            .card-copy { font-size: 0.88rem; line-height: 1.55; }
            .card-tags {
                display: flex;
                flex-wrap: wrap;
                gap: 6px;
            }
            .tag {
                margin-right: 0;
                padding: 5px 8px;
                font-size: 0.48rem;
                letter-spacing: 0.08em;
                line-height: 1.25;
                white-space: normal;
            }
            .card-meta { grid-template-columns: 1fr; gap: 8px; }
            .card-meta-item {
                grid-template-columns: 1fr;
                gap: 6px;
                padding: 9px 10px;
            }
            .card-meta-label {
                font-size: 0.58rem;
            }
            .card-meta-value {
                font-size: 0.74rem;
            }
            .card-open-hint {
                margin-top: 4px;
                font-size: 0.62rem;
                letter-spacing: 0.1em;
            }
            .scroll-indicator { margin-bottom: 28px; }
            .info-section { padding: 46px 24px; margin: 8px 0 2px; }
            .about-section { width: calc(100% - 18px); padding: 24px 20px 26px; margin: 28px auto 18px; }
            .about-title { margin-bottom: 12px; }
            .about-copy p { font-size: 0.95rem; line-height: 1.72; }
            .contact-section { padding: 0 9px; margin-top: 42px; }
            .contact-shell { grid-template-columns: 1fr; padding: 18px; gap: 16px; }
            .contact-title { max-width: none; }
            .contact-copy { text-align: center; }
            .contact-text { max-width: none; }
            .signal-terminal { max-width: none; }
            .social-links { justify-content: center; }
            .note-board { padding: 18px; }
            .note-board-title { font-size: 1.06rem; }
            .note-board-copy { font-size: 0.88rem; line-height: 1.56; }
            .note-input-line {
                height: 42px;
                min-height: 42px;
                max-height: 42px;
                line-height: 1.2;
                padding-top: 8px;
                padding-bottom: 8px;
            }
            .note-input {
                min-height: 200px;
            }
            input.note-input-line {
                min-height: 0;
                max-height: 42px;
                height: 42px;
                padding: 0 14px;
                line-height: 42px;
            }
            textarea.note-input {
                min-height: 200px;
                padding-top: 14px;
                padding-bottom: 14px;
            }
            .note-form-row { flex-direction: column; align-items: stretch; }
            .note-submit { width: 100%; }
            .footer-strip {
                grid-template-columns: 1fr;
                justify-items: center;
                text-align: center;
                padding: 18px 16px 88px;
                gap: 12px;
            }
            .footer-policy-links { justify-content: center; order: 1; }
            .footer-social-links { order: 2; }
            .footer-tail {
                order: 3;
                justify-self: center;
                margin-bottom: 52px;
                gap: 10px;
            }
            .footer-brand {
                font-size: 0.82rem;
                letter-spacing: 0.18em;
            }
            .footer-stamp {
                padding: 7px 10px;
                font-size: 0.62rem;
                letter-spacing: 0.12em;
            }
            .footer-copyright {
                font-size: 0.68rem;
                line-height: 1.45;
            }
            .floating-dock {
                right: 50%;
                bottom: 12px;
                transform: translateX(50%);
                flex-direction: row;
                padding: 10px;
                border-radius: 18px;
                gap: 8px;
            }
            .dock-link {
                width: 40px;
                height: 40px;
                border-radius: 12px;
                font-size: 0.76rem;
            }
            body.overdrive #game-container {
                height: min(72vh, 560px);
                margin: 28px auto;
            }
            #game-frame {
                border-radius: 18px;
            }
            .nav-bar { 
                padding: 10px 12px;
                grid-template-columns: minmax(0, 1fr) auto auto;
                gap: 6px;
                align-items: center;
                backdrop-filter: blur(10px);
            }
            .nav-status {
                display: inline-flex;
                min-width: 0;
                max-width: 100%;
                min-height: 40px;
                padding: 0 12px;
                gap: 7px;
                font-size: 0.56rem;
                letter-spacing: 0.08em;
                overflow: hidden;
                text-overflow: clip;
            }
            .nav-status strong {
                min-width: 0;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                font-size: 0.52rem;
                letter-spacing: 0.07em;
            }
            .nav-toggle {
                display: inline-flex;
                width: 42px;
                height: 42px;
                border-radius: 12px;
            }
            .nav-links {
                position: absolute;
                top: calc(100% + 8px);
                left: 10px;
                right: 10px;
                display: grid;
                gap: 10px;
                padding: 14px;
                border: 1px solid rgba(255,255,255,0.08);
                border-radius: 18px;
                background: rgba(10, 10, 14, 0.96);
                box-shadow: 0 18px 34px rgba(0,0,0,0.24);
                opacity: 0;
                pointer-events: none;
                transform: translateY(-8px);
                transition: opacity 0.2s ease, transform 0.2s ease;
            }
            .nav-links a {
                font-size: 0.72rem;
                letter-spacing: 0.16em;
            }
            .nav-bar.is-open .nav-links {
                opacity: 1;
                pointer-events: auto;
                transform: translateY(0);
            }
            .lang-switcher {
                justify-content: flex-end;
            }
            .lang-btn {
                margin-left: 6px;
                min-width: 50px;
                padding: 7px 8px;
            }
            #cursor { display: none; }
            * { cursor: auto !important; }
            .section-title { scroll-margin-top: 122px; }
            #inside,
            #projects,
            #vision,
            #contact {
                scroll-margin-top: 122px;
            }
        }
        @media (max-width: 560px) {
            .nav-bar {
                grid-template-columns: minmax(0, 1fr) auto;
                grid-template-areas:
                    "status toggle"
                    "lang   lang";
                row-gap: 10px;
                align-items: start;
            }
            .nav-status {
                grid-area: status;
                min-height: 42px;
                padding: 0 12px;
                padding-right: 10px;
                gap: 7px;
                font-size: 0.58rem;
                letter-spacing: 0.08em;
            }
            .nav-toggle {
                grid-area: toggle;
                justify-self: end;
            }
            .lang-switcher {
                grid-area: lang;
                justify-content: flex-start;
            }
            .nav-links {
                top: calc(100% + 10px);
            }
            .content-grid {
                grid-template-columns: 1fr;
            }
            .card-image-area {
                height: 168px;
            }
            .card-meta {
                gap: 7px;
            }
            .nav-status {
                font-size: 0.58rem;
            }
            .nav-status strong {
                font-size: 0.54rem;
            }
            .section-title {
                scroll-margin-top: 128px;
            }
            #inside,
            #projects,
            #vision,
            #contact {
                scroll-margin-top: 128px;
            }
        }
