/* The vintage listening room. Visuals stay behind the working portrait editor. */
:root{--paper:#161e1a;--amber:#dab27b;--line:#494c39}html{background:#111915}body{background:radial-gradient(ellipse at 12% 4%,#ac6f2728,transparent 40%),radial-gradient(ellipse at 90% 25%,#81683d14,transparent 35%),linear-gradient(150deg,#1d2a20,#101a16 65%,#22251c);color:#e7dbc4}body::before,body::after{display:none}.room-atmosphere{position:fixed;inset:0;pointer-events:none;background:url('room.svg') center bottom/cover no-repeat;overflow:hidden}.room-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,transparent 30%,#06100c80)}.topbar,main,footer{z-index:1}.lantern{position:absolute;top:0;transform-origin:50% 0;width:100px;filter:drop-shadow(0 0 18px #d8953d44)}.lantern-left{left:3%;height:210px}.lantern-right{right:4%;height:290px}.lantern i{display:block;width:1px;height:calc(100% - 88px);background:#b2996266;margin:auto}.lantern span{position:relative;display:block;margin:auto;width:50px;height:73px;border:2px solid #ac8c58;border-radius:15px 15px 8px 8px;background:linear-gradient(90deg,#5b4c2b66,#e0a24722,#5b4c2b66)}.lantern span::before{content:'';position:absolute;top:-12px;left:6px;width:33px;height:14px;border-radius:40px 40px 0 0;background:#776749;border:1px solid #ab8e5a}.lantern span::after{content:'';position:absolute;inset:-100px;background:radial-gradient(ellipse,#e4a13f21,transparent 65%);z-index:-1}.lantern b{position:absolute;bottom:5px;left:19px;width:8px;height:26px;background:linear-gradient(#ffe6ad,#c88932);border-radius:50% 50% 35% 35%;box-shadow:0 0 25px 10px #e6ad5040}.room-motes{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 25%,#eac79960 0 1px,transparent 2px),radial-gradient(circle at 82% 54%,#eac79950 0 1px,transparent 2px),radial-gradient(circle at 45% 12%,#eac79930 0 1px,transparent 2px);background-size:350px 430px,470px 620px,710px 480px;opacity:.4}.topbar{background:#131e17a8;backdrop-filter:blur(12px);max-width:none;padding-left:max(5%,calc((100vw - 1290px)/2));padding-right:max(5%,calc((100vw - 1290px)/2))}.brand{font-family:Georgia,serif;letter-spacing:2px;font-size:21px}.brand-light{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:1.5px;margin:4px 0;color:#a59b80}.brand small{font-size:6px;letter-spacing:2px}.brand-icon{font-family:Georgia,serif;border-radius:50%;background:#c99b5322}main{max-width:1220px;padding-top:42px}.intro{padding-bottom:28px}h1{font-size:clamp(42px,5.5vw,68px);letter-spacing:-2px}.subtitle{line-height:1.8}.intro-note{color:#b5a484}.handwritten{color:#c5a57d}.editor{background:#1b251c;border-color:#68634c;box-shadow:0 24px 85px #0006}.customize-panel{background:#263026f2}.preview-panel{background:radial-gradient(ellipse at 10% 0%,#c68b3c2a,transparent 65%),#202c20ed}.sticker{font-size:8px}.listening-bar{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid #655d4270;border-radius:8px;background:linear-gradient(110deg,#383025a6,#1e2b20d9);margin-bottom:29px;box-shadow:0 12px 30px #0002}.record{flex-shrink:0;width:47px;height:47px;border-radius:50%;background:repeating-radial-gradient(circle,#182019 0 2px,#384034 3px,#182019 4px);border:1px solid #5f654e;display:grid;place-items:center}.record i{display:block;width:16px;height:16px;border:6px solid #b99968;border-radius:50%;background:#182019}.listening-copy{margin-right:auto}.listening-copy>span{display:block;font-size:7px;letter-spacing:2px;color:#aa9372}.listening-copy>b{display:block;font:italic 22px Georgia,serif;color:#e2ceae;margin:4px 0}.listening-copy>small{font-size:9px;color:#9f9f83}.listening-bar button,.track-select select{background:#243022;border:1px solid #6c714d;color:#d0c7a5;border-radius:5px;padding:10px 12px;font:11px Arial,sans-serif;min-height:40px}.listening-bar button:hover{background:#455034}.track-select select{max-width:160px;cursor:pointer;color-scheme:dark}.volume-control{font-size:8px;color:#a6a58a;display:flex;flex-direction:column;gap:6px}.volume-control input{width:75px;accent-color:#bb9f6a}.listening-bar .room-motion{font-size:8px;background:none;border-color:#555e44;color:#9fab87}.character-library{margin-bottom:29px}.shelf-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px}.shelf-heading .eyebrow{font-size:7px;color:#aaa57e;letter-spacing:2px;margin-bottom:7px}.shelf-heading h2{margin:0;font-size:29px;color:#decbb0}.shelf-heading p{font-size:10px;line-height:1.8;color:#aaa88d;margin:0}.character-shelf{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.character-choice{background:linear-gradient(#3e4131,#263025);border:1px solid #5b6046;border-radius:70px 70px 6px 6px;padding:7px 7px 12px;overflow:hidden;color:#d4c4a4;min-width:0;text-align:center}.character-choice svg{width:100%;display:block;border-radius:60px 60px 4px 4px}.character-choice>span{display:block;font:italic 20px Georgia,serif;margin:10px 0 5px}.character-choice>small{display:block;font-size:8px;color:#9ea888;line-height:1.5}.character-choice:hover{background:#454d36;transform:translateY(-4px);border-color:#b9a06d;box-shadow:0 8px 20px #0003}.character-choice[aria-pressed=true]{border-color:#d5b886;box-shadow:0 0 0 2px #ac996c44}.character-choice:focus-visible{outline-color:#e3c38c}.shelf-heading h2,.customize-top h2{font-family:'Cormorant Garamond',Georgia,serif}.options>.beanie-grid{grid-template-columns:repeat(3,1fr)}.option-card svg{background:#252f22}.option-grid .option-card span.label{white-space:normal;line-height:1.5;min-height:22px}.tab{min-height:50px}.toggle{min-height:38px}.secondary,.history button{min-height:40px}.swatch,.custom-color{width:28px;height:28px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #dcbb7d;outline-offset:4px}.portrait-presets{align-items:center}.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}.export-result{margin:15px auto;max-width:343px;display:flex;gap:8px;flex-wrap:wrap}.export-result[hidden]{display:none}.export-result a,.export-result button{padding:12px;border:1px solid #81915f;border-radius:4px;color:#e1d1ae;background:#3c4a30;font-size:11px;flex:1;text-align:center;cursor:pointer}footer{margin-top:10px}.editor-bottom p{line-height:1.6}.tabs{overflow-x:auto}.tab{flex-shrink:0;min-width:40px}
@media(prefers-reduced-motion:no-preference){.lantern-left{animation:lantern-sway 11s ease-in-out infinite alternate}.lantern-right{animation:lantern-sway 15s -6s ease-in-out infinite alternate-reverse}.lantern b{animation:candle-flicker 4s ease-in-out infinite}.room-motes{animation:mote-drift 45s linear infinite alternate}.music-playing .record{animation:record-turn 14s linear infinite}@keyframes lantern-sway{from{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}@keyframes candle-flicker{0%,100%{opacity:.85;transform:scaleY(.92)}50%{opacity:1;transform:scaleY(1.08)}}@keyframes mote-drift{to{transform:translateY(-45px)}}@keyframes record-turn{to{transform:rotate(360deg)}}}.room-still .room-atmosphere *{animation:none!important}.room-still .heading-star{animation:none!important}
@media(max-width:1000px){.listening-bar{flex-wrap:wrap;gap:12px}.listening-copy{flex:1;min-width:170px}.lantern-left{left:-25px}.lantern-right{right:-25px}.character-choice>small{font-size:7px}.shelf-heading p{max-width:240px}.listening-bar .room-motion{margin-left:auto}}
@media(max-width:650px){main{padding:30px 16px 0}.topbar{padding:17px}.brand{font-size:18px}.brand-icon{width:38px;height:38px}.intro{padding:0 4px 24px}h1{font-size:58px;line-height:1;max-width:100%;}.handwritten{font-size:1em}.intro .heading-star{top:70px;right:12px}.intro .eyebrow{font-size:6px;letter-spacing:1px}.subtitle{max-width:280px;font-size:11px}.shelf-heading{display:block}.shelf-heading h2{font-size:26px}.shelf-heading p{margin-top:9px;max-width:none;font-size:9px}.character-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.character-choice{padding:5px 5px 10px}.character-choice>span{font-size:18px;margin-top:7px}.character-choice>small{font-size:7px;min-height:21px}.listening-bar{padding:14px;gap:12px;margin-bottom:25px}.record{width:40px;height:40px}.listening-copy{min-width:170px}.listening-copy>b{font-size:20px}.listening-copy>small{font-size:8px}.listening-bar #musicPlay{min-width:100px}.track-select{flex:1}.track-select select{max-width:none;width:100%}.volume-control{flex:1}.volume-control input{width:100%;min-width:65px}.listening-bar .room-motion{min-height:36px}.character-library{margin-bottom:24px}.lantern-right{height:220px}.lantern-left{height:175px}.preview-panel{padding:20px}.portrait-wrap{max-width:270px}.customize-panel{padding:23px 15px 0}.tabs{gap:0}.tab{font-size:7px;min-width:36px}.preset-buttons button{min-height:42px;padding:8px 13px}.preset-label{font-size:6px}.portrait-presets small{font-size:12px}.customize-top h2{font-size:29px}.options>.beanie-grid{grid-template-columns:repeat(3,1fr)}.beanie-grid .option-card svg{height:94px}.beanie-grid .option-card span.label{font-size:8px}.swatches{gap:12px}.option-grid{gap:8px}.option-card svg{height:75px}.room-atmosphere{background-size:auto 100vh;opacity:.8}.below p span{max-width:200px}.plain{font-size:10px}.plain b{font-size:9px}.room-motes{opacity:.25}}
@media(max-width:360px){h1{font-size:51px}.intro .heading-star{top:62px;right:5px}.listening-copy{min-width:140px}.record{width:33px;height:33px}.character-shelf{gap:7px}.character-choice>small{font-size:6px}.tab{min-width:32px;font-size:6px}.volume-control{flex-basis:40%}.portrait-presets small{max-width:120px}}
