:root{--paper:#f4e9d3;--ink:#382a23;--gold:#a57b36;--purple:#613957;--line:#bba16c;--shadow:0 5px 22px #24170c25}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:#e6d7b8 url('assets/wallpaper-01.webp') center top/700px auto}button,input{font:inherit}button{cursor:pointer;color:var(--ink);background:#f7edd9;border:1px solid var(--line);border-radius:7px;padding:9px 13px;transition:background .15s,transform .15s}button:hover{background:#fff7e6}button:focus-visible,canvas:focus-visible{outline:3px solid #187a87;outline-offset:3px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.primary{background:var(--purple);color:#fff3df;border:1px solid #43243b;font-size:19px;padding:12px 28px}.primary:hover{background:#784a6d}header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f6ecd8f5;border-bottom:1px solid #b19159;padding:14px 24px;box-shadow:var(--shadow)}.wordmark{font-style:italic;font-size:27px;border:0;background:none;padding:0}.header-tools{display:flex;gap:8px;align-items:center}#volume{width:65px;accent-color:var(--purple)}.panel{background:#f6ecdaf8;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}#loading{position:fixed;inset:0;z-index:99;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}#loading span{font-size:35px;font-style:italic}#loading small{font-size:15px}#home{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#e8dabe}.welcome{position:relative;width:100%;max-width:1672px;line-height:0}.welcome>img{width:100%;height:auto}.entry{position:absolute;top:74%;width:27%;height:14%;border:0;background:transparent;border-radius:60px;padding:0}.entry:hover{background:#fff7df17;box-shadow:0 0 18px #ffdfa680}.entry.en{left:20.7%}.entry.it{left:52.5%}.home-sound{position:absolute;right:1%;bottom:2%;width:46px;height:46px;font-size:26px;background:var(--paper)}.home-note{font-style:italic;font-size:14px;padding:12px;text-align:center}.dress-bar{margin:16px auto;max-width:1350px;display:flex;align-items:center;padding:8px 18px;gap:16px}.section-label{font-size:21px;font-style:italic;min-width:74px}.dress-options{display:flex;flex:1;justify-content:center;gap:12px;overflow:auto}.asset{padding:5px;background:#fffbef85;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0}.asset img{width:100%;height:88px;object-fit:contain;pointer-events:none}.asset span{font-size:11px;line-height:1.2}.asset[aria-pressed=true]{border:2px solid var(--purple);background:#ecdfeb}.dress-options .asset{width:112px;flex:0 0 112px}.dress-options img{height:82px}.workspace{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:minmax(210px,1fr) minmax(330px,550px) minmax(230px,1fr);gap:16px;padding:0 16px}.workspace aside{align-self:start;position:sticky;top:12px;max-height:800px;display:flex;flex-direction:column;overflow:hidden}.aside-heading{font-size:21px;font-style:italic;padding:16px 12px 10px;text-align:center}.tabs{display:flex;flex-wrap:wrap;gap:5px;padding:6px 9px 12px;border-bottom:1px solid #c8b48a}.tabs button{font-size:13px;padding:7px 9px;flex:1}.tabs button.active{background:var(--purple);color:var(--paper)}.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;overflow:auto;min-height:150px;max-height:605px}.items .asset{min-height:116px}.tray-foot{padding:12px;font-size:13px;font-style:italic;border-top:1px solid #c8b48a;text-align:center}.center{text-align:center;min-width:0}.stage-header{background:#f7eddce8;border:1px solid var(--line);border-radius:6px 6px 0 0;min-height:39px;display:flex;gap:6px;align-items:center;justify-content:space-between;padding:5px 10px;font-style:italic}.figure-switch{display:flex;gap:3px}.figure-switch button{padding:4px 9px;font-size:12px}.figure-switch button.active{background:var(--purple);color:white}.canvas-shell{position:relative;box-shadow:var(--shadow);background:#efe3cb;border:5px double #ad8e51;border-radius:0 0 20px 20px;overflow:hidden}#scene{display:block;width:100%;height:auto;touch-action:pan-y pinch-zoom;cursor:default}#itemTools{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:#f6ecd9f5;position:absolute;bottom:6px;left:6px;right:6px;border:1px solid var(--line);border-radius:8px;justify-content:center}#itemTools span{flex-basis:100%;font-style:italic;font-size:12px}#itemTools button{padding:5px 9px;font-size:13px}.scene-choices{display:flex;gap:8px;margin:10px 0}.scene-choices button{flex:1;min-width:0;padding:4px;font-size:12px}.scene-choices img{width:100%;height:65px;object-fit:cover;border-radius:4px}.scene-choices .active{border:2px solid var(--purple)}.hint{background:#f4ead8e8;border-radius:5px;padding:9px;font-size:14px;margin:8px 0;line-height:1.4}.actions{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:8px 0 12px}.actions button{font-size:13px;padding:7px 9px}#cardBtn{width:100%}footer{text-align:center;background:#f3e8d8e8;margin:24px 0 0;padding:17px;font-size:14px;font-style:italic}.card-layout{display:flex;max-width:1100px;margin:25px auto;gap:30px;padding:0 20px;align-items:flex-start}.card-preview{width:550px;max-width:60%;filter:drop-shadow(0 7px 20px #0005)}#postcard{width:100%;height:auto;display:block;touch-action:none;border-radius:30px}.card-controls{padding:24px;display:flex;flex:1;flex-direction:column;gap:12px}.card-controls h1{font-style:italic;font-weight:normal;margin:0;font-size:27px}.card-controls p{font-size:15px;line-height:1.4}.title-choice{font-style:italic;font-size:20px}.card-controls label{display:flex;flex-direction:column;gap:8px}input{accent-color:var(--purple)}dialog{border:1px solid var(--gold);border-radius:12px;background:var(--paper);padding:26px;max-width:90vw}dialog::backdrop{background:#1a120ba0}dialog div{display:flex;gap:10px;justify-content:flex-end}dialog h2{font-style:italic}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#39252ceF;color:#fff2de;padding:12px 20px;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:100}#toast.show{opacity:1}@media(min-width:1500px){.workspace{max-width:1540px;grid-template-columns:1fr 590px 1fr}}@media(max-width:950px){.workspace{grid-template-columns:180px minmax(280px,1fr) 180px;gap:9px;padding:0 9px}.items{padding:7px;gap:5px}.items img{height:70px}.items .asset{min-height:96px}.aside-heading{font-size:17px}.tabs button{font-size:11px;padding:6px}.dress-bar{margin:10px}.dress-options .asset{width:86px;flex-basis:86px}.dress-options img{height:70px}}@media(max-width:700px){header{padding:12px}.wordmark{font-size:20px}.header-tools{gap:4px}.header-tools button{padding:7px}#volume{display:none}.dress-bar{padding:7px;gap:6px}.section-label{font-size:16px;min-width:40px}.dress-options{justify-content:flex-start;gap:5px}.dress-options .asset{width:72px;flex-basis:72px}.dress-options img{height:63px}.dress-options .asset span{font-size:9px}.workspace{display:flex;flex-direction:column;gap:13px;padding:0 10px}.center{order:0;width:100%;max-width:520px;align-self:center}.workspace aside{position:static;width:100%;max-height:none}.wardrobe{order:1}.decorations{order:2}.items{display:flex;overflow-x:auto;max-height:180px;min-height:135px;gap:8px}.items .asset{flex:0 0 95px;min-height:114px}.items img{height:80px}.tabs{flex-wrap:nowrap;overflow-x:auto}.tabs button{flex:0 0 auto;font-size:13px}.aside-heading{padding:10px}.tray-foot{padding:7px}.card-layout{flex-direction:column;align-items:center;gap:18px;padding:0 12px}.card-preview{max-width:100%;width:440px}.card-controls{width:100%;max-width:440px}.home-note{font-size:11px}.home-sound{width:34px;height:34px;font-size:19px}.welcome{min-width:650px;left:50%;transform:translateX(-50%)}#home{overflow:hidden;display:block;padding-top:calc((100svh - 430px)/2)}.entry{min-height:50px}.home-note{position:relative;margin-top:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{body{background:white}body>*{display:none!important}#cardPage{display:block!important}#cardPage header,.card-controls{display:none!important}.card-layout{display:block;margin:0;padding:0}.card-preview{max-width:none;width:100%;filter:none}#postcard{max-height:95vh;width:auto;margin:auto}}

/* Complete thumbnail pages avoid half-hidden rows inside scrolling trays. */
.workspace aside{max-height:none;overflow:visible}.items{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:380px}.items .asset{min-height:112px}.items .asset img{object-fit:contain;object-position:center;height:82px;width:100%;padding:3px}.tray-pagination{display:flex;align-items:center;justify-content:center;gap:17px;padding:9px;border-top:1px solid #c8b48a}.tray-pagination button{font-size:24px;line-height:1;padding:5px 15px}.tray-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:44px;padding:6px 14px;border:2px solid #b59a60;border-radius:12px;background:#583451;color:#fff8e7;font-size:21px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;box-shadow:0 2px 5px #38252b26}.tabs button{flex:1 0 28%}#itemTools{position:static;display:flex;margin:8px 0;padding:10px;box-shadow:var(--shadow)}#selectionName{width:100%;font-size:15px;font-weight:normal;font-style:italic}.scale-label{display:flex;width:100%;align-items:center;justify-content:center;gap:8px}.scale-label input{width:80%}#underHat{background:#eee0cc;font-style:italic}#underHat[aria-pressed=true]{background:#dfd0e4}.items .asset:hover{transform:translateY(-1px)}
@media(max-width:700px){.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:245px;max-height:none;overflow:visible}.items .asset{min-width:0;min-height:112px;flex:initial}.items .asset img{height:80px}.tabs button{flex:0 0 auto}.workspace aside{overflow:hidden}.tray-pagination{padding:7px}}

#itemTools{border:3px solid #70415e;background:#fff2da;box-shadow:0 4px 16px #38202f40;padding:14px;gap:7px;border-radius:10px}#itemTools h3{width:100%;margin:0;color:#633652;font-size:19px;font-style:italic;font-weight:normal}#itemTools button{min-height:39px;min-width:40px;border-color:#866278;font-size:14px}#itemTools #remove{color:#862e38;border-color:#a55d64}#selectionName{font-size:15px}#undo,#redo{font-size:17px;border:2px solid #946b82;min-height:42px;background:#fff1df}#underHat{min-width:145px}

.dress-options{display:grid;grid-template-columns:repeat(7,minmax(0,112px));overflow:visible;gap:8px;justify-content:center}.dress-options .asset{width:auto;min-width:0}#itemTools{position:fixed;bottom:16px;left:50%;right:auto;transform:translateX(-50%);width:min(530px,calc(100vw - 24px));z-index:40;margin:0}#itemTools h3{padding-right:75px}#doneEditing{position:absolute;right:10px;top:9px;min-height:32px!important;padding:4px 9px;background:#e9dbea}#itemTools .scale-label{margin-top:3px}
@media(max-width:700px){.dress-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.dress-options .asset{width:auto}.dress-options .asset img{height:55px}.dress-options .asset span{font-size:9px}#itemTools{bottom:9px;padding:10px;gap:4px}#itemTools button{font-size:12px;min-height:34px}#itemTools h3{font-size:17px}}

#toolUndo{font-size:17px!important;border:2px solid #79516d!important;background:#e9dbea!important;min-width:95px!important}

.start-design{position:absolute;right:11px;top:11px;z-index:5;background:#fff0d9ed;border:2px solid #75405f;border-radius:20px;color:#603650;box-shadow:0 3px 10px #29131e35;font-size:15px;padding:10px 16px}.start-design:hover{background:#fff8e8}@media(max-width:700px){.start-design{font-size:13px;padding:8px 12px;right:8px;top:8px}}

/* A portrait welcome for phones; the workshop retains its existing layout. */
.mobile-welcome{display:none}
@media(max-width:700px){
 #home{display:flex;position:relative;min-height:100svh;overflow:hidden;padding: max(24px,env(safe-area-inset-top)) 0 max(18px,env(safe-area-inset-bottom));justify-content:center;gap:22px;background:#e6d7b8 url('assets/wallpaper-01.webp') center top/700px auto}
 #home>.welcome{display:none}
 .mobile-welcome{display:flex;flex-direction:column;align-items:center;width:100%;gap:24px}
 .mobile-title{position:relative;overflow:hidden;width:100%;aspect-ratio:1200/640}
 .mobile-title>img{position:absolute;width:139.3334%;max-width:none;height:auto;left:-19.6667%;top:-4.6875%;pointer-events:none}
 .mobile-entries{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
 .mobile-entries .entry{position:static;display:block;width:min(76%,320px);height:auto;min-height:0;aspect-ratio:450/140;border:0;border-radius:0;background-image:url('assets/home-01.webp');background-repeat:no-repeat;background-size:371.5556% 672.1429%;padding:0;filter:drop-shadow(0 4px 5px #24170c55);touch-action:manipulation}
 .mobile-entries .mobile-en{background-position:28.23% 86.14%}
 .mobile-entries .mobile-it{background-position:71.69% 86.14%}
 .mobile-entries .entry:hover{box-shadow:none;filter:drop-shadow(0 4px 7px #24170c88) brightness(1.04)}
 .mobile-sound{width:44px;height:44px;border-radius:50%;background:#f4e9d3ed;font-size:23px;line-height:1;padding:0;box-shadow:var(--shadow)}
 #home>.home-note{position:static;margin:0 20px;padding:12px 16px;max-width:340px;background:#f4e9d3ed;border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.6;box-shadow:var(--shadow)}
}

@media(max-width:700px){.mobile-title{mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 91%,transparent)}.mobile-entries .entry{clip-path:polygon(14% 7%,25% 1%,75% 1%,87% 7%,93% 24%,95% 35%,100% 43%,100% 59%,94% 67%,90% 85%,80% 96%,20% 96%,10% 85%,6% 67%,0 59%,0 43%,5% 35%,7% 24%)}}

/* Phone: choose a dress, swipe through masks, then see the portrait. */
@media(max-width:700px){
 .workspace .wardrobe{order:-1}
 #wardrobeItems.mask-slider{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;min-height:0;max-height:none;gap:8px;padding:8px 10px 12px;scroll-snap-type:x proximity;scroll-padding-inline:10px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:var(--purple) #e6d7b8}
 #wardrobeItems.mask-slider .asset{flex:0 0 96px;min-height:106px;scroll-snap-align:start}
 #wardrobeItems.mask-slider .asset img{height:70px}
 #wardrobeItems.mask-slider .asset span{font-size:12px}
 #wardrobeItems.mask-slider::-webkit-scrollbar{height:6px}
 #wardrobeItems.mask-slider::-webkit-scrollbar-thumb{background:var(--purple);border-radius:6px}
}

/* A small ornamental music plaque, matching the welcome buttons. */
#homeMusic,#mobileMusic{width:176px;min-width:0;height:66px;min-height:0;padding:0 20px;border:0;border-radius:0;background:transparent url('assets/ui-music-button-01.svg') center/100% 100% no-repeat;color:#000;font-size:30px;font-weight:700;line-height:1;letter-spacing:3px;filter:drop-shadow(0 3px 4px #24170c55);box-shadow:none;touch-action:manipulation}
#homeMusic:hover,#mobileMusic:hover{background-color:transparent;filter:drop-shadow(0 4px 6px #24170c77) brightness(1.04)}
#homeMusic[aria-pressed=true],#mobileMusic[aria-pressed=true]{color:#000;background-color:transparent}
@media(max-width:700px){#mobileMusic{width:170px;height:64px;font-size:29px}}

/* Hats remain visible in one swipeable row above embellishments. */
#hatItems.horizontal-slider{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;min-height:0;max-height:none;gap:8px;padding:10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--purple) #e6d7b8;touch-action:pan-x pan-y pinch-zoom}
#hatItems.horizontal-slider .asset{flex:0 0 104px;min-height:112px;scroll-snap-align:start}
#hatItems.horizontal-slider .asset img{height:76px}
.hat-tray{min-width:0;border-bottom:1px solid var(--line);padding-bottom:8px}

.hat-tray{display:none}@media(max-width:700px){.hat-tray{display:block}}

/* Simplified instruction-free workspace; icon controls retain their labels for accessibility. */
.tray-foot{display:none!important}

.atelier-brand{display:flex;align-items:center;gap:11px;min-width:0}
.venice-home{display:flex;align-items:center;justify-content:center;flex:0 0 47px;width:47px;height:47px;padding:4px;border:1px solid #bba16c;border-radius:8px;background:#fbefd8;box-shadow:0 1px 3px #25170e24}
.venice-home:hover{background:#fff8e8;transform:translateY(-1px)}
.venice-home svg{width:35px;height:35px;display:block}
@media(max-width:700px){.atelier-brand{gap:6px}.venice-home{flex-basis:37px;width:37px;height:37px;padding:2px}.venice-home svg{width:30px;height:30px}.atelier-brand .wordmark{font-size:clamp(13px,3.6vw,20px)}}

/* Compact ornament bar, with clearer symbols only. */
#itemTools{padding:9px;gap:4px;border-width:2px}
#itemTools h3{font-size:17px;line-height:1.1;margin:0;padding-right:65px}
#selectionName{font-size:13px;line-height:1.1}
#itemTools .scale-label{margin:0;line-height:1}
#itemTools input[type=range]{height:18px;accent-color:#613957}
#itemTools button{min-height:30px;min-width:32px;padding:4px 7px;border:1px solid #866278;font-size:13px;font-weight:400;box-shadow:none;background:#fff5e4;color:#382a23}
#itemTools :is(#smaller,#larger,#rotateLeft,#rotateRight){font-family:Arial,sans-serif;font-size:23px;line-height:1;padding:2px 7px;color:#21131b}
#itemTools :is(#rotateLeft,#rotateRight){font-weight:600}
#itemTools :is(#smaller,#larger){font-weight:400}
#itemTools #doneEditing{min-height:27px!important;font-size:13px;padding:3px 7px;top:7px;right:7px;background:#e9dbea}
#itemTools #toolUndo{min-height:30px!important;min-width:80px!important;font-size:14px!important;border-width:1px!important}
#itemTools #underHat{min-width:125px}
#itemTools #remove{color:#862e38;border-color:#a55d64}
@media(max-width:700px){#itemTools{padding:8px;gap:4px;max-height:50svh;overflow-y:auto}#itemTools button{min-height:30px}#itemTools h3{font-size:16px}}

/* A quiet branded signature beneath the home illustration. */
.home-footer{width:100%;max-width:1672px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;padding:16px 32px;background:#e8dabe;color:#241b12}
.home-footer .poli-logo{display:block;width:110px;height:auto;justify-self:center}
.home-footer .home-note{margin:0;padding:0;font-size:14px;line-height:1.35;text-align:center}
.home-copyright{justify-self:center;font-size:12px;line-height:1.4;font-style:normal;text-align:center}
@media(max-width:700px){.home-footer{grid-template-columns:1fr 1fr;gap:15px 10px;padding:15px 18px}.home-footer .home-note{grid-column:1/-1;grid-row:1;font-size:12px}.home-footer .poli-logo{width:88px;justify-self:start}.home-copyright{justify-self:end;font-size:11px;text-align:right}}

#itemTools #underHat{min-width:0;font-style:normal}#itemTools #bringFront{min-width:0}

@media(min-width:701px){#wardrobeTabs button{flex:1 0 40%}}

.saved-cards{max-width:1060px;margin:0 auto 30px;padding:22px 24px;color:#382a23}.saved-cards h2{font-size:25px;font-weight:normal;font-style:italic;margin:0 0 8px;color:#613957}.saved-cards p{font-size:14px;line-height:1.45;margin:7px 0 16px}.saved-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px}.saved-card{min-width:0;border:1px solid #c6ae7b;border-radius:9px;padding:8px;background:#fff8eb}.saved-card-open{display:block;width:100%;padding:0;border:0;background:transparent}.saved-card-open img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;border-radius:10px}.saved-card time{display:block;font-size:12px;line-height:1.4;margin:9px 0;color:#674f43}.saved-card-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.saved-card-actions button{font-size:13px;padding:6px 9px}.saved-card-dialog{width:min(540px,calc(100vw - 28px));max-height:92svh;overflow:auto;padding:18px}.saved-card-dialog h2{font-size:23px;font-weight:normal;font-style:italic;margin:0 0 12px}.saved-card-dialog img{display:block;max-height:68svh;max-width:100%;margin:0 auto 15px;border-radius:16px}.saved-card-dialog::backdrop{background:#211722b3}
@media(max-width:700px){.saved-cards{margin:0 12px 22px;padding:17px}.saved-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.saved-card-actions button{font-size:12px;padding:6px}.saved-cards h2{font-size:23px}}@media print{.saved-cards,#savedCardDialog{display:none!important}}

/* Neutral atelier template: artwork-only thumbnails, with accessible names retained. */
.items .asset span,.dress-options .asset span,.scene-choices .asset span{display:none!important}
