/* Editing guide: change the palette and type scale here. */
:root{--paper:#faf8f3;--ink:#4c493f;--muted:#7c796f;--line:#ded9ce;--pink:#b98f82;--sage:#858e76;--blue:#8fa7aa;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.15;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2393826c' opacity='.15' filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:#e5d1c9}.wrap{width:min(1160px,calc(100% - 88px));margin:auto}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;line-height:1.45}.brand svg{width:38px;height:44px}.brand strong{display:block;font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:.025em}.brand small{font-size:9px;letter-spacing:.19em}.nav{display:flex;gap:28px;align-items:center;font-family:var(--serif);font-size:14px}.nav a{position:relative}.nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-4px;border-bottom:1px solid var(--pink);transition:right .2s}.nav a:hover:after{right:0}.nav .nav-contact{padding:8px 20px;border:1px solid #c2b9a9;border-radius:30px}.menu-toggle{display:none}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:28px;height:1px;background:var(--pink)}.hero{position:relative;display:grid;grid-template-columns:45% 55%;min-height:615px;align-items:center;padding:55px 0 42px}.hero-copy{position:relative;z-index:1}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(45px,4.6vw,67px);letter-spacing:-.045em;line-height:1.17;margin:24px 0 18px}.hero h1 span{display:block;font-size:.5em;letter-spacing:.015em;margin-bottom:10px;font-style:italic}.hero .specialties{font-size:10px;letter-spacing:.13em;color:var(--muted)}.hero .intro{font-size:13px;line-height:2.2;margin:24px 0}.pill{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--ink);color:#fffdf6;border:1px solid var(--ink);border-radius:40px;padding:13px 25px;font-size:12px;letter-spacing:.05em;transition:transform .2s,background .2s}.pill:hover{background:#6b6b5a;transform:translateY(-2px)}.pill.light{background:transparent;color:var(--ink);border-color:#bfb6a7}.pill.light:hover{background:#eae5db}.pill .spark{color:#e6cdb6}.hero-hint{display:block;font-size:10px;color:var(--muted);margin-top:10px;padding-left:13px}.hero-art{position:relative;margin-left:-50px;margin-right:-38px}.hero-art img{width:100%}.room-label{position:absolute;top:8%;right:14%;font-family:var(--serif);font-style:italic;font-size:15px;color:#8f806b;transform:rotate(5deg)}.room-caption{text-align:center;font-size:10px;letter-spacing:.12em;color:#8e8272;margin-top:-15px}.hero-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 0;color:var(--muted);font-size:9px;letter-spacing:.15em}.hero-bottom span:last-child{font-family:var(--serif);font-style:italic;font-size:12px;letter-spacing:.03em}.section{padding:86px 0;scroll-margin-top:12px}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:36px}.section-title{font-family:var(--serif);font-size:43px;line-height:1.2;font-weight:400;margin:0 0 10px;letter-spacing:-.025em}.section-kicker{font-size:10px;color:var(--muted);letter-spacing:.15em}.section-note{font-size:12px;color:var(--muted);margin:0}.about{margin-top:35px;display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.about-left{padding-left:75px}.little-room{font-family:var(--serif);font-size:13px;font-style:italic;color:var(--pink);margin-top:28px}.about h3{font-family:var(--serif);font-size:25px;line-height:1.9;font-weight:400;letter-spacing:.06em;margin:0 0 20px}.about p{font-size:12px;line-height:2.4;margin:0 0 12px}.hand-line{display:inline;background:linear-gradient(transparent 70%,#e8dad0 70%)}.text-link{display:inline-block;font-size:11px;border-bottom:1px solid #b7ab99;padding:6px 0;margin-top:16px}.text-link span{padding-left:28px}.works{padding-bottom:76px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filter{background:none;border:1px solid var(--line);border-radius:25px;padding:7px 17px;font-size:11px}.filter.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}.work-card{min-width:0}.work-image{display:block;overflow:hidden;border-radius:5px;background:#e7e0d6;position:relative;aspect-ratio:4/3}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.work-image:hover img{transform:scale(1.035)}.work-image .work-arrow{position:absolute;bottom:12px;right:12px;border-radius:50%;background:var(--paper);width:32px;height:32px;text-align:center;line-height:32px}.work-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);letter-spacing:.035em;margin:14px 0 5px}.work-meta span:first-child{color:#977b6d}.work-card h3{font-size:15px;font-weight:500;margin:2px 0 6px;line-height:1.6}.work-card p{font-size:11px;color:var(--muted);margin:0}.tools{font-size:9px;color:var(--muted);margin-top:9px}.work-card .text-link{font-size:10px;margin-top:7px;padding:2px 0}.demo-note{font-size:10px;color:var(--muted);margin:24px 0 0}.empty{padding:32px;background:#efebe2;border-radius:4px}.skills-band{background:#eeece4;border-top:1px solid #e3dfd3;border-bottom:1px solid #e3dfd3}.skills-layout{display:grid;grid-template-columns:1fr 2fr;gap:60px}.skill-group{display:grid;grid-template-columns:120px 1fr;padding:20px 0;border-bottom:1px solid #d6d3c7;gap:15px}.skill-group:first-child{padding-top:0}.skill-group:last-child{border:0;padding-bottom:0}.skill-group h3{font-family:var(--serif);font-size:18px;font-weight:400;margin:2px 0}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags span{font-size:11px;padding:5px 12px;background:#faf8f2;border:1px solid #dfddd2;border-radius:3px}.skills-description{font-size:11px;color:var(--muted);margin-top:18px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service-card{padding:24px 0;border-top:1px solid var(--line)}.service-number{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--pink)}.service-card h3{font-size:17px;font-weight:500;margin:16px 0 12px}.service-card p{font-size:12px;color:var(--muted);line-height:2}.service-card small{font-size:10px;display:block;border-top:1px dashed var(--line);padding-top:15px;margin-top:20px}.profile{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.profile-image{background:#eae2d5;border-radius:48% 48% 4px 4px;max-width:380px;aspect-ratio:1.2;position:relative;overflow:hidden}.profile-image img{height:100%;width:100%;object-fit:cover;transform:scale(1.25)}.profile-image span{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-family:var(--serif);font-style:italic;font-size:16px}.profile h3{font-size:21px;font-weight:500;margin:26px 0 12px}.profile h3 span{font-family:var(--serif);font-size:14px;letter-spacing:.05em;margin-left:16px;color:var(--muted)}.profile p{font-size:12px;line-height:2.3}.likes{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.likes span{border:1px solid var(--line);padding:4px 13px;border-radius:20px;font-size:10px}.contact-band{background:#e9dfd5;padding:67px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-layout h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:20px 0 12px}.contact-layout p{font-size:12px}.contact-form label{display:block;font-size:11px;margin-bottom:12px}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #b8aa9b;background:#f6f0e9;padding:10px 12px;margin-top:5px;border-radius:2px;color:var(--ink);font-size:12px}.contact-form textarea{resize:vertical;min-height:85px}.contact-form .form-note{font-size:10px;color:#70675c}.form-status{font-size:11px;margin-top:10px}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0}.footer small{font-size:9px;color:var(--muted)}.footer .brand strong{font-size:16px}.footer .brand svg{width:29px}.back-top{font-size:11px}.modal{width:min(840px,calc(100% - 32px));border:1px solid var(--line);padding:35px;background:var(--paper);border-radius:10px;color:var(--ink);max-height:90dvh;overflow:auto;box-shadow:0 25px 100px #302d2530}.modal::backdrop{background:#3b362c75;backdrop-filter:blur(5px)}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.modal-top p{font-family:var(--serif);font-size:21px;font-style:italic;margin:0}.close-modal{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:none;font-size:22px}.random-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.random-layout img{width:100%;border-radius:4px}.random-layout h3{font-size:22px;font-weight:500;line-height:1.5}.random-layout p{font-size:12px}.random-footer{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.random-footer small{font-size:10px;color:var(--muted)}.detail{padding:55px 0 85px;max-width:900px}.detail h1{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.5;margin:20px 0}.detail-cover{width:100%;border-radius:6px;margin:25px 0}.detail dl{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line)}.detail dt,.detail dd{margin:0;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.detail dt{color:var(--muted)}.detail-content{font-size:14px;line-height:2.1;overflow-wrap:anywhere}.detail-content img{height:auto}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.gallery img{border-radius:4px}.archive-title{padding:65px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-80px;left:15px;padding:10px 20px;background:var(--ink);color:white;z-index:30}.skip:focus{top:10px}@keyframes appear{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.random-layout{animation:appear .3s ease}
@media(min-width:1450px){.hero{min-height:660px}.hero-art{margin-right:-70px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.nav{gap:18px}.hero{min-height:560px}.hero h1{font-size:49px}.hero-art{margin-left:-30px;margin-right:-15px}.about{gap:50px}.about-left{padding-left:30px}.work-grid{gap:30px 18px}.skills-layout{gap:30px;grid-template-columns:.8fr 1.5fr}.profile{gap:50px}.contact-layout{gap:40px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.site-header{height:80px}.brand strong{font-size:17px}.brand small{font-size:8px}.brand svg{width:30px}.menu-toggle{display:block;background:transparent;border:1px solid var(--line);border-radius:25px;padding:7px 15px;font-size:11px}.nav{display:none;position:absolute;top:72px;left:20px;right:20px;z-index:10;background:var(--paper);border:1px solid var(--line);padding:22px;box-shadow:0 15px 25px #51463112;flex-wrap:wrap;gap:20px 25px}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding:40px 0 24px;min-height:0}.hero h1{font-size:49px;margin-top:20px}.hero h1 span{font-size:25px}.hero .intro{margin:18px 0}.hero-art{margin:15px -18px 0}.room-label{font-size:13px}.room-caption{font-size:9px}.hero-bottom{padding:14px 0}.hero-bottom span:last-child{font-size:10px}.section{padding:54px 0}.section-title{font-size:36px}.section-head{align-items:start;gap:16px;flex-direction:column;margin-bottom:25px}.about{margin-top:20px;grid-template-columns:1fr;gap:25px}.about-left{padding-left:0}.little-room{margin-top:13px}.about h3{font-size:22px}.about p{font-size:12px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}.work-card h3{font-size:13px}.work-meta{font-size:8px;flex-wrap:wrap;gap:0;margin-top:9px}.work-meta span:last-child{display:none}.work-card p{font-size:10px}.tools{font-size:8px}.filter{font-size:10px;padding:6px 12px}.filters{gap:6px}.skills-layout{grid-template-columns:1fr;gap:26px}.skill-group{grid-template-columns:100px 1fr}.skill-group h3{font-size:16px}.skill-tags span{font-size:10px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:18px 0 0}.service-card h3{display:inline-block;margin:0 0 8px 15px;font-size:16px}.service-card p{margin:5px 0 12px}.service-card small{margin-top:10px;padding-top:10px}.profile{grid-template-columns:1fr;gap:30px}.profile-image{width:75%;margin:auto;max-width:300px}.profile h3{margin-top:20px}.contact-band{padding:48px 0}.contact-layout{grid-template-columns:1fr;gap:25px}.footer{flex-wrap:wrap;padding:24px 0;gap:16px}.footer small{width:100%;order:3}.random-layout{grid-template-columns:1fr;gap:10px}.random-layout img{max-height:260px;object-fit:cover}.modal{padding:22px}.random-layout h3{font-size:19px;margin:10px 0}.random-footer{align-items:start;flex-direction:column}.detail h1{font-size:27px}.detail dl{grid-template-columns:100px 1fr}.gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep the editorial feel without making the useful information too small. */
.music-player{width:100%;min-width:0}
.room-motion-control{display:block;margin:12px auto 0;border:1px solid var(--line);border-radius:20px;padding:4px 13px;background:#faf8f3d9;color:#71685a;font-size:10px}.room-motion-control:hover{background:#eae3d6}.lapin-loading{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#faf8f3}.loading-inner{text-align:center}.loading-bunny{display:block;width:150px;height:150px;margin:0 auto}.loading-label{font:italic 25px var(--serif);color:#82715d;letter-spacing:.04em;margin:8px 0 10px}.loading-caption{font:italic 12px var(--serif);color:#958876;letter-spacing:.02em}.loading-skip{background:none;border:0;border-bottom:1px solid #c1b6a5;padding:4px 0;color:#877a67;font:12px var(--serif);margin-top:22px;cursor:pointer}.bunny-hop{transform-origin:80px 130px;animation:bunny-hop .8s ease-in-out infinite}.bunny-shadow{transform-origin:80px 137px;animation:bunny-shadow .8s ease-in-out infinite}.loading-dots{animation:loading-dots 1.2s ease-in-out infinite}@keyframes bunny-hop{0%,100%{transform:translateY(0) scale(1.03,.97)}45%{transform:translateY(-16px) scale(.98,1.03)}70%{transform:translateY(-5px)}}@keyframes bunny-shadow{0%,100%{transform:scaleX(1);opacity:.65}45%{transform:scaleX(.65);opacity:.3}}@keyframes loading-dots{0%,100%{opacity:.35}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.lapin-loading{display:none}}
.project-video{margin:30px 0}.project-video h2{font-size:18px;font-weight:500}.project-video video{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain;background:#24231f;border-radius:5px}.project-video .text-link{font-size:12px}
/* Show each complete artwork inside the consistent thumbnail frame. */
.work-card .work-image{background:#f0ede6;border:1px solid var(--line);padding:10px;transition:box-shadow .22s ease,border-color .22s ease}
.work-card:hover .work-image,.work-card:focus-within .work-image{border-color:#b7a391;box-shadow:0 7px 20px #71604c20}
.work-card .text-link{transition:color .22s ease,border-color .22s ease}
.work-card:hover .text-link,.work-card:focus-within .text-link{color:#866251;border-bottom-color:#866251}
.work-card .work-image img,.work-card.is-long .work-image img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;transition:none}
.work-card .work-image:hover img{transform:none}
.work-card .work-image .work-arrow{display:none}
/* Compact music feature: copy on the left, player on the right. */
.music-band>.section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px 60px;align-items:center;padding-top:58px;padding-bottom:58px}.music-band .section-head{grid-column:1;grid-row:1;display:block;margin:0}.music-band .section-title{font-size:clamp(30px,3vw,40px);line-height:1.25}.music-band .section-note{margin-top:24px;line-height:2.1}.music-band #music-content{grid-column:2;grid-row:1;min-width:0}.music-band .music-bottom{grid-column:1 / -1;margin-top:0}.music-band .music-playlist{max-width:560px;margin:0 0 0 auto}.music-band .music-playlist .music-player{min-height:200px}.music-band .music-grid{grid-template-columns:1fr;gap:20px;max-width:560px;margin-left:auto}.music-band .music-grid .music-video:not(:first-child) .music-player{max-height:220px;aspect-ratio:auto}.music-band .music-placeholder{grid-template-columns:1fr;min-height:0}.music-band .music-still{min-height:240px}.music-band .music-waiting{padding:20px 26px}.music-band .music-waiting h3{font-size:20px;margin:8px 0}.music-band .music-waiting p{margin:6px 0}.music-band .music-small{display:none}
@media(max-width:720px){.music-band>.section{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:42px;padding-bottom:42px}.music-band .section-head{grid-column:1;grid-row:1}.music-band #music-content{grid-column:1;grid-row:2}.music-band .music-bottom{grid-column:1;grid-row:3}.music-band .section-title{font-size:32px}.music-band .section-note{margin-top:16px}.music-band .music-playlist,.music-band .music-grid{max-width:100%;margin:0}.music-band .music-still{min-height:220px}}
.music-playlist{max-width:900px;margin:auto}.playlist-launch{background:radial-gradient(ellipse at 50% 90%,#dbdecf,#f4f1e7);color:var(--ink)}.playlist-symbol{font:60px Georgia,serif;color:var(--sage)}.playlist-name{font:24px var(--serif);margin-bottom:12px}.music-playlist .music-player{min-height:260px}
.gallery{align-items:start}.gallery-full{grid-template-columns:minmax(0,1fr)}.detail-image-link{display:block;min-width:0;align-self:start;border:1px solid var(--line);border-radius:4px;overflow:hidden;cursor:zoom-in}.detail-image-link img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}.image-guide{font-size:12px;color:var(--muted);margin:30px 0 0}.project-url{margin:8px 0 18px}.project-detail .detail-content{margin-top:28px}.work-card.is-long .work-image img{object-position:center top}.detail dd{overflow-wrap:anywhere}
.button-capsule{display:inline-block;position:relative;width:18px;height:18px;border:1px solid #e7d8c6;border-radius:50%;background:linear-gradient(#cda799 48%,#f6eee0 49%);transform:rotate(-30deg)}
.gacha-stage{text-align:center;padding:0 0 12px;min-height:375px}.gacha-stage[hidden],#random-result[hidden],#music-channel[hidden]{display:none}.gacha-heading p{font-family:var(--serif);font-size:17px;margin:5px 0 8px}.gacha-machine{position:relative;width:182px;height:260px;margin:20px auto 4px}.gacha-ears{position:absolute;top:-16px;left:66px;display:flex;gap:9px}.gacha-ears i{width:18px;height:43px;background:#e8d8c5;border:2px solid #a58f77;border-radius:60% 60% 20% 20%;transform:rotate(-12deg)}.gacha-ears i+ i{transform:rotate(12deg)}.gacha-globe{height:126px;width:150px;position:absolute;left:16px;top:10px;border:3px solid #b7a38a;border-radius:58px 58px 20px 20px;background:#f3eee2;box-shadow:inset 0 0 25px #e3d7c488;overflow:hidden;z-index:2}.glass-shine{position:absolute;left:12px;top:17px;width:12px;height:42px;border-radius:100%;background:#ffffff9c;transform:rotate(20deg)}.mini-capsule{position:absolute;width:42px;height:42px;border:1px solid #a38d7677;border-radius:50%;background:linear-gradient(#c39d8e 49%,#f5ebdc 50%);box-shadow:1px 2px 2px #82725412}.c1{left:15px;top:67px;transform:rotate(-28deg)}.c2{left:53px;top:77px;transform:rotate(20deg);background:linear-gradient(#a4b7b5 49%,#f5ebdc 50%)}.c3{left:93px;top:66px;transform:rotate(-42deg);background:linear-gradient(#b4bca0 49%,#f5ebdc 50%)}.c4{left:33px;top:34px;transform:rotate(25deg);background:linear-gradient(#d6bd91 49%,#f5ebdc 50%)}.c5{left:76px;top:30px;transform:rotate(-15deg)}.gacha-body{position:absolute;top:128px;left:6px;width:170px;height:108px;background:#c6a597;border:2px solid #a48b77;border-radius:8px 8px 17px 17px;box-shadow:inset 5px 0 0 #d8b9a6}.machine-label{position:absolute;top:7px;left:0;right:0;font:8px Georgia,serif;letter-spacing:2px;color:#63523f}.gacha-dial{position:absolute;width:44px;height:44px;top:28px;left:60px;border:3px solid #a98d73;border-radius:50%;background:#efe5d2;box-shadow:1px 2px 0 #a2856d}.gacha-dial span{position:absolute;inset:14px -4px;background:#ad9479;border:2px solid #8d765f;border-radius:5px;transform:rotate(-25deg)}.coin-slot{position:absolute;right:22px;top:37px;width:4px;height:20px;background:#8d745e;border-radius:2px}.gacha-chute{position:absolute;bottom:6px;left:50px;width:66px;height:21px;background:#766453;border:4px solid #b6947d;border-radius:10px 10px 7px 7px}.gacha-foot{position:absolute;top:233px;left:0;width:182px;height:12px;border-radius:6px;background:#a18a70;box-shadow:0 6px 12px #826c5225}.prize-capsule{position:absolute;top:202px;left:66px;width:52px;height:52px;z-index:3;opacity:0}.prize-capsule:before,.prize-capsule span{content:'';position:absolute;width:52px;height:26px;left:0;border:1px solid #b3947a}.prize-capsule:before{top:0;border-radius:50px 50px 0 0;background:#a6b9b6}.prize-capsule span{bottom:0;border-radius:0 0 50px 50px;background:#f2e8d9}.prize-capsule i{position:absolute;top:0;left:14px;color:#8e775d;font-size:26px;font-style:normal;opacity:0}.gacha-twinkle{position:absolute;font-size:30px;color:#b19770;opacity:0}.t1{left:-33px;top:70px}.t2{right:-30px;top:142px;font-size:23px}.t3{left:1px;top:180px}.gacha-status{font-size:12px;color:var(--muted);margin:15px 0 0}.gacha-skip{border:0;border-bottom:1px solid #b7ab99;background:none;margin:0;padding:1px 0;font-size:10px}.is-turning .gacha-dial{animation:crank 1.05s ease-in-out both}.is-turning .mini-capsule{animation:tumble .3s ease-in-out 3 alternate}.is-turning .c2,.is-turning .c4{animation-delay:.12s;animation-direction:alternate-reverse}.is-turning .prize-capsule{animation:drop-capsule 1.9s ease both}.is-turning .prize-capsule:before{animation:open-capsule 1.9s ease both}.is-turning .prize-capsule i{animation:prize-shine 1.9s ease both}.is-turning .gacha-twinkle{animation:twinkle 1.9s ease both}.is-turning .t2{animation-delay:.08s}.modal:has(.gacha-stage:not([hidden])){max-width:650px}.modal .random-footer{min-height:64px}
@keyframes crank{0%,12%{transform:rotate(0)}80%,100%{transform:rotate(360deg)}}@keyframes tumble{from{translate:0 0;rotate:-8deg}to{translate:0 -12px;rotate:18deg}}@keyframes drop-capsule{0%,49%{opacity:0;transform:translateY(-15px) scale(.6)}55%{opacity:1}72%{opacity:1;transform:translateY(30px) scale(1)}83%{opacity:1;transform:translateY(22px) scale(1)}100%{opacity:1;transform:translateY(27px) scale(1)}}@keyframes open-capsule{0%,82%{transform:none}100%{transform:translate(-8px,-21px) rotate(-25deg)}}@keyframes prize-shine{0%,82%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:translateY(-10px) scale(1)}}@keyframes twinkle{0%,64%{opacity:0;transform:scale(.5)}85%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.2)}}
.music-band{background:#eef0e9;border-top:1px solid #dce0d3;border-bottom:1px solid #dce0d3}.music-overline{font-size:10px;letter-spacing:.19em;color:#738072;margin-bottom:14px}.music-placeholder{display:grid;grid-template-columns:1.2fr 1fr;background:#faf8f1;border:1px solid #dde0d2;border-radius:6px;overflow:hidden;min-height:300px}.music-still{position:relative;min-height:300px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 100%,#dddcca,#e9e9de 80%)}.little-keyboard{position:absolute;bottom:62px;left:12%;right:12%;background:#8d8070;border-radius:8px 8px 4px 4px;padding:9px 13px 12px;box-shadow:0 5px 0 #726657,5px 15px 25px #70644822;transform:rotate(-4deg)}.keyboard-brand{font-family:var(--serif);font-style:italic;text-align:right;font-size:10px;color:#f2e9d7;padding-bottom:7px}.piano-keys{position:relative;height:37px;background:repeating-linear-gradient(90deg,#f8f2e5 0 22px,#ad9f8a 22px 23px);border-radius:1px}.piano-keys:after{content:'';position:absolute;top:0;left:0;width:100%;height:23px;background:repeating-linear-gradient(90deg,transparent 0 16px,#665e51 16px 27px,transparent 27px 39px,#665e51 39px 50px,transparent 50px 85px,#665e51 85px 96px,transparent 96px 108px,#665e51 108px 119px,transparent 119px 131px,#665e51 131px 142px,transparent 142px 161px)}.piano-keys.second{margin-top:8px}.music-sheet{position:absolute;top:30px;left:40%;width:87px;height:99px;background:#faf5e5;transform:rotate(7deg);box-shadow:2px 3px 3px #7e766c12;font:italic 12px Georgia,serif;text-align:center;padding:12px;color:#9d8e76}.music-sheet i{font-size:17px;line-height:1.6}.floating-note{position:absolute;font-family:Georgia,serif;color:#a5ae95;font-size:35px}.note-one{top:40px;left:18%;transform:rotate(-15deg)}.note-two{top:45px;right:13%;transform:rotate(12deg)}.music-waiting{align-self:center;padding:35px 45px}.music-waiting h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:17px 0}.music-waiting p{font-size:13px;line-height:2.2}.music-small{font-size:10px;color:var(--muted)}.music-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px}.music-bottom p{font-size:11px;color:var(--muted);margin:0}.music-bottom a{margin:0;white-space:nowrap}.music-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.music-video{min-width:0}.music-player{position:relative;aspect-ratio:16/9;min-height:200px;background:#dedfd3;overflow:hidden;border-radius:4px}.music-player>img,.music-player>iframe{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border:0}.music-play{position:absolute;inset:0;border:0;background:#342f2520;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:white}.play-disc{width:48px;height:48px;display:grid;place-items:center;padding-left:3px;border-radius:50%;background:#faf8f2ed;color:#665e50;font-size:16px;transition:transform .2s}.music-play:hover .play-disc{transform:scale(1.08)}.play-label{font-size:11px;text-shadow:0 1px 4px #000;background:#342f2588;padding:2px 10px;border-radius:15px}.music-video-meta{display:flex;justify-content:space-between;gap:10px;margin:15px 0 5px}.music-video-meta time{font-size:10px;color:var(--muted)}.music-video h3{font-size:15px;font-weight:500;line-height:1.8;overflow-wrap:anywhere;margin:0}.music-video .text-link{font-size:11px;margin-top:8px}
@media(max-width:1000px) and (min-width:721px){.nav{gap:12px}.music-grid{gap:16px}.music-placeholder{grid-template-columns:1fr 1fr}.music-waiting{padding:28px}.music-video-meta{flex-wrap:wrap}.brand strong{font-size:18px}}
@media(max-width:720px){.gacha-stage{min-height:375px}.gacha-heading p{font-size:16px}.music-placeholder{grid-template-columns:1fr}.music-still{min-height:245px}.little-keyboard{bottom:40px}.music-sheet{top:15px}.music-waiting{padding:26px}.music-waiting h3{font-size:22px;margin:12px 0}.music-grid{grid-template-columns:1fr;gap:30px}.music-bottom{align-items:start;flex-direction:column;gap:10px}.music-player{min-height:200px}.music-overline{font-size:9px}.music-video h3{font-size:15px}}
.about p,.profile p,.service-card p,.contact-layout p{font-size:14px}.work-card p{font-size:12px}.tools{font-size:11px}.work-meta{font-size:10px}.work-meta span:first-child{color:#826457}.skill-tags span{font-size:12px}.section-note{font-size:13px}.contact-form label{font-size:12px}.work-card .text-link{font-size:12px}
@media(max-width:720px){.about p,.profile p,.service-card p,.contact-layout p{font-size:13px}.work-card h3{font-size:14px}.work-card p{font-size:12px}.tools,.work-meta{font-size:10px}.filter{font-size:12px}.skill-tags span{font-size:12px}.contact-form input,.contact-form textarea{font-size:16px}.section-note{font-size:12px}}

.contact-invitation{align-self:center;padding:30px;border:1px solid #c9b9a8;border-radius:8px;background:#f6f0e980}.contact-invitation h3{margin-top:14px}.contact-invitation .pill{margin:12px 0;max-width:100%;gap:12px}.contact-invitation .form-note{font-size:11px;color:#70675c}@media(max-width:720px){.contact-invitation{padding:22px}}

/* Gacha artwork always fits in its frame, including portrait banners and long LPs. */
.modal{max-height:90vh;max-height:90dvh;overscroll-behavior:contain;overflow-y:auto;overflow-x:hidden}
.random-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.random-layout>div{min-width:0;overflow-wrap:anywhere}
.random-layout img{width:100%;height:360px;max-height:45vh;object-fit:contain;object-position:center;background:#f0ede6;transform:none}
.close-modal{flex-shrink:0}
@media(max-width:720px){
 .random-layout{grid-template-columns:minmax(0,1fr)}
 .random-layout img{height:260px;max-height:36vh;max-height:36dvh;object-fit:contain}
 .modal{padding:20px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
 .modal-top p{font-size:clamp(17px,5vw,21px)}
 .random-footer .pill{max-width:100%;white-space:normal}
}
