/* Audio-only keyboard target: no key movement or hover animation. */
.scene .desk-keyboard{left:22.8%;top:75.3%;width:57.6%;height:18.8%;clip-path:polygon(6% 0,95% 0,100% 100%,0 100%);transition:none;border-radius:0}
.scene .desk-keyboard:hover,.scene .desk-keyboard:focus-visible{transform:none;background:transparent;box-shadow:none;border-color:transparent}
.floppy-dialog{width:min(690px,94vw);padding:40px 24px 24px;border:0;background:transparent;overflow:visible;max-height:90vh;box-shadow:none}
.floppy-dialog::backdrop{background:#15241d99}
.floppy-close{position:absolute;top:0;right:8px;width:34px;height:34px;border:1px solid #99947d;background:#334b3e;color:#eee6d2;font:22px var(--mono)}
.floppy-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:center}
.disk-object{position:relative;aspect-ratio:1/1.04;border:3px solid #222820;border-radius:5px;background:linear-gradient(145deg,#45483e,#292d27);box-shadow:inset 2px 2px #727567,5px 9px 16px #0006;transform:rotate(-5deg);transition:transform .18s;color:#28382d}
.disk-object:nth-child(2){transform:rotate(3deg)}.disk-object:nth-child(3){transform:rotate(-2deg)}.disk-object:hover{transform:translateY(-5px) rotate(0)}
.disk-shutter{position:absolute;top:-1px;left:17%;width:60%;height:26%;background:linear-gradient(90deg,#9c9c8b,#d1cdbb 45%,#979889);border:1px solid #676b60;border-radius:0 0 3px 3px;box-shadow:inset 1px 1px #eee6d2}
.disk-shutter:after{content:'';position:absolute;right:13%;top:15%;height:65%;width:25%;background:#333d33;border:1px solid #858978}
.disk-sticker{position:absolute;top:36%;left:9%;width:82%;height:44%;padding:15px 4px;background:repeating-linear-gradient(0deg,#eee5cd 0 13px,#cfc6ad 14px,#eee5cd 15px);border:1px solid #a89f89;display:flex;align-items:center;justify-content:center;font:bold clamp(10px,1vw,14px)/1.3 var(--mono);letter-spacing:.02em;border-radius:2px;transform:rotate(.7deg)}
.disk-hub{position:absolute;left:14%;right:14%;bottom:7%;height:8%;border:1px solid #596353;box-shadow:inset 1px 1px #18231c}
.disk-navigation{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.disk-navigation .action,.disk-file .actions .action{font:11px/1.4 var(--mono);padding:8px 10px;min-height:36px}
.disk-file h2{font-size:clamp(19px,3.4cqw,34px)}.disk-file .disk-intro,.disk-readme p{font-size:clamp(13px,1.85cqw,18px)}
.disk-pdf-preview{background:#fff;border:1px solid #a7a18b;box-shadow:3px 4px #bfb8a0}.disk-pdf-preview img{width:100%;height:auto;display:block}.disk-cv .actions{margin-top:12px}
.archive-fragments{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.archive-fragments figure{margin:0;padding:7px 7px 12px;background:#d4cfb9;border:1px solid #9b9d85;box-shadow:2px 3px #a7ab93;transform:rotate(-1.5deg)}.archive-fragments figure:nth-child(2){transform:rotate(1.2deg)}
.archive-fragments img{width:100%;height:auto;display:block;image-rendering:pixelated;filter:contrast(.94)}.archive-fragments figcaption{padding-top:9px;font:clamp(10px,1.5cqw,13px)/1.5 var(--mono)}.archive-fragments figcaption b,.archive-fragments figcaption span{display:block}.archive-fragments figcaption span{margin-top:6px;color:#5b6351}
.disk-note{font:clamp(11px,1.45cqw,13px)/1.6 var(--mono);color:#626a54}.disk-readme{border-left:3px solid #8d9d79;padding:12px 16px;background:#dde0c5}.disk-readme h2{font:15px var(--mono);letter-spacing:.08em}
.tanren-file{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #929980;background:#d0d8bc;color:#283e30;padding:14px 12px;margin:17px 0;font:clamp(11px,1.6cqw,14px)/1.5 var(--mono)}.tanren-file small{margin-left:auto;font-size:11px}.tanren-file>span{font-size:23px}
.tanren-gate{padding:12px;border:1px dashed #929980;background:#e3e3cd}.tanren-gate label{display:block;font:12px var(--mono);margin-bottom:8px}.tanren-gate>div{display:flex;gap:8px;flex-wrap:wrap}.tanren-gate input{min-width:0;flex:1;width:140px;padding:9px;border:1px solid #929980;background:#f2ead7;color:#283e30;font:13px var(--mono)}.tanren-gate .action{font:11px var(--mono);padding:9px}.tanren-status{font:12px/1.5 var(--mono);color:#655139}
@media(max-width:1200px){.scene .desk-keyboard{top:50.2vw;height:12.533333vw}}
@media(max-width:768px){.scene .desk-keyboard,.floppy-dialog{display:none}.disk-navigation [data-disk-choose]{display:none}.archive-fragments{grid-template-columns:1fr}.tanren-file{flex-wrap:wrap}.tanren-file small{margin-left:0}}
@media(prefers-reduced-motion:reduce){.disk-object{transition:none}.disk-object:hover{transform:none}}
.motion-paused .disk-object{transition:none}

.archive-fragments img{aspect-ratio:4/3;object-fit:cover}.archive-password-hint{font:10px/1.5 var(--mono);color:#69725d;letter-spacing:.02em;margin:14px 0 5px}
