/* Mobile-only native layout. Desktop composition and instrument stay unchanged. */
.mobile-portfolio {scroll-behavior:auto;}
.mobile-portfolio body {overflow-x:hidden;}
.mobile-portfolio :is(.transport,.instrument-shape,#experience-start,.toy-scene-canvas,#case-music-status) {display:none!important;}
.mobile-portfolio .stage,.mobile-portfolio .stage[data-collection=selected] {height:auto!important;min-height:0;max-height:none;overflow:visible;padding:24px 18px 48px;}
.mobile-portfolio .portfolio-introduction {position:relative;inset:auto;width:100%;max-width:600px;margin:0 auto 24px;transform:none;text-align:left;pointer-events:auto;}
.mobile-portfolio .intro-name {width:190px;max-width:60%;height:auto;margin:0 0 8px;display:block;filter:none;}
.mobile-portfolio .intro-name>img {position:static;width:100%;height:auto;}
.mobile-portfolio .intro-glass {display:block;min-height:0;padding:0;}
.mobile-portfolio .intro-glass-art {display:none;}
.mobile-portfolio .intro-glass p {font-size:17px;line-height:1.5;letter-spacing:-.015em;font-weight:400;text-shadow:none;}
.mobile-portfolio .mobile-contact {display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:14px;color:#e7b9f8;text-decoration:underline;text-underline-offset:4px;}
.mobile-portfolio .constellation {position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:600px;margin:auto;}
.mobile-portfolio .stage .float-anchor {position:relative;inset:auto;left:auto;top:auto;width:100%;margin:0;transform:none!important;animation:none!important;}
.mobile-portfolio .project-tile {display:block;width:100%;aspect-ratio:auto;transform:none!important;padding:0;text-align:left;}
.mobile-portfolio .tile-visual {position:relative;inset:auto;width:100%;aspect-ratio:16/10;border-width:9px;border-radius:28px!important;opacity:1!important;box-shadow:inset 1px 2px 5px #ffffff8a,0 6px 20px #0005;}
.mobile-portfolio .tile-visual>img,.mobile-portfolio .tile-visual>.mobile-preview {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:18px;}
.mobile-portfolio .tile-caption {display:block!important;position:static!important;inset:auto!important;width:auto!important;opacity:1!important;transform:none!important;text-align:left;margin:12px 3px 4px;filter:none;font-size:21px;line-height:1.2;letter-spacing:-.03em;}
.mobile-portfolio .tile-caption strong {font-weight:600;}
.mobile-portfolio .tile-category {display:none;}
.mobile-portfolio .mobile-project-description {display:block;margin:0 3px;font-size:15px;line-height:1.4;color:#c9becd;}
.mobile-portfolio .project-tile:active .tile-visual {filter:brightness(1.08);}
.mobile-portfolio .project-tile:focus-visible {outline:2px solid #ecc8fb;outline-offset:5px;border-radius:20px;}
.mobile-portfolio .project-tile:focus-visible:after {display:none;}
.mobile-portfolio .project-dialog {overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.mobile-portfolio .case-toolbar {height:auto;min-height:70px;padding:12px 12px;gap:8px;background:#08060ae8;backdrop-filter:blur(10px);}
.mobile-portfolio .case-toolbar .case-back {min-height:44px;min-width:44px;width:auto;padding:0 14px;font-size:13px;white-space:nowrap;transform:none!important;}
.mobile-portfolio .case-pager {gap:6px;}
.mobile-portfolio #case-content {padding:8px 12px 40px;}
.mobile-portfolio .case-detail .case-film-frame,.mobile-portfolio .case-detail .case-primary-image {padding:7px;border-radius:21px;}
.mobile-portfolio .case-detail .case-film-frame :is(video,iframe),.mobile-portfolio .case-detail .case-primary-image img {border-radius:14px;}
.mobile-portfolio .case-detail .case-top {margin-top:18px;}
.mobile-portfolio .case-detail .case-glass {padding:20px 16px;border-radius:22px;transform:none!important;}
.mobile-portfolio .case-detail .case-heading {margin:0 0 18px;}
.mobile-portfolio .case-detail .case-heading :is(h1,h2) {font-size:34px;line-height:1.05;letter-spacing:-.045em;overflow-wrap:anywhere;}
.mobile-portfolio .case-detail :is(.case-deck,.case-source-prose,.case-source-prose p) {font-size:16px;line-height:1.65;font-weight:400;letter-spacing:0;}
.mobile-portfolio .case-piece {transform:none!important;transition:none;}
.mobile-portfolio .case-detail .case-gallery {display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;padding:4px 0 16px;margin-top:20px;overscroll-behavior-x:contain;}
.mobile-portfolio .case-detail .case-gallery .case-media {flex:0 0 92%;min-width:0;padding:0;margin:0;scroll-snap-align:start;}
.mobile-portfolio .case-detail .case-gallery .case-image {display:block;width:100%;aspect-ratio:4/3;margin:0;padding:7px;border-radius:21px;border:1px solid #e5baff85;background:linear-gradient(135deg,#e7c8f8,#9162b2 60%,#d798d0);overflow:hidden;}
.mobile-portfolio .case-detail .case-image>img,.mobile-portfolio .case-detail .case-image>picture,.mobile-portfolio .case-detail .case-image>picture img {display:block;position:static;width:100%;height:100%;object-fit:cover;border:0;border-radius:14px;opacity:1;transform:none!important;}
.mobile-portfolio .case-image>.mobile-preview {position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);object-fit:cover;border-radius:14px;pointer-events:none;}
.mobile-portfolio .image-dialog {padding:60px 8px 74px;touch-action:pan-y pinch-zoom;}
.mobile-portfolio .image-dialog img {max-height:calc(100dvh - 145px);}
.mobile-portfolio .image-step {top:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:none;width:48px;height:48px;}
.mobile-portfolio .image-prev {left:calc(50% - 60px);}
.mobile-portfolio .image-next {right:calc(50% - 60px);}
.mobile-portfolio .image-close {width:44px;height:44px;}
.mobile-portfolio .case-footer {gap:24px;}
.mobile-portfolio .tile-visual {border:0;padding:9px;background:linear-gradient(145deg,#efd6ff 0%,#bc87e0 18%,#8455a9 65%,#d39ad3 100%);}
.mobile-portfolio .tile-visual>img,.mobile-portfolio .tile-visual>.mobile-preview {inset:9px;width:calc(100% - 18px);height:calc(100% - 18px);}
.mobile-portfolio .project-tile[data-toy=hero] .tile-visual {background:linear-gradient(145deg,#ffd2db,#e757a2 32%,#ba4475 65%,#ffa965);}
.mobile-portfolio .project-tile[data-toy=lime] .tile-visual {background:linear-gradient(145deg,#fffaca,#d9df7b 32%,#9baf42 65%,#e8d26e);}
.mobile-portfolio .project-tile[data-toy=cream] .tile-visual {background:linear-gradient(145deg,#fff4f0,#ddd1e2 32%,#ab8dbb 65%,#e9c4db);}
