main>section{position:relative}.section-dedication{position:absolute;bottom:18px;left:5%;right:5%;display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.06em;z-index:5;pointer-events:none;color:#70463d}.studio .section-dedication{background:#fff8ede6;padding:8px 12px;border-radius:4px;bottom:8px}
.birthday-room{background:#fff8ed;height:100svh;min-height:540px;display:flex;flex-direction:column;justify-content:center;gap:0;isolation:isolate}.birthday-room .room-frame{width:min(950px,95vw,100svh);aspect-ratio:1463/1075;overflow:visible;flex-shrink:1;min-height:0}.birthday-room .room-frame .room-art{position:relative;inset:auto;width:100%;aspect-ratio:1463/1075;transform:none}.birthday-room .room-art>img{mix-blend-mode:multiply}.birthday-room .candle-flame{width:1%;height:3%}.birthday-room.candles-out .candle-flame{display:none}.wish-tutorial{position:absolute;top:8%;left:5%;right:5%;text-align:center;z-index:2}.wish-tutorial .mono{font-size:9px;letter-spacing:.16em}.wish-tutorial h2{font:clamp(34px,5vw,62px) 'Instrument Serif',serif;color:#7c3e48;margin:12px 0}.wish-instruction{font:clamp(12px,2vw,16px) 'Space Mono',monospace;color:#84665a;margin:0 auto;max-width:480px;line-height:1.7}.wish-hold{position:absolute;bottom:15%;border:1px solid #c69a90;background:#fff8ed;border-radius:30px;padding:14px 24px;color:#7c3e48;font:12px 'Space Mono',monospace;overflow:hidden;opacity:.4;touch-action:none}.wish-hold.is-ready{opacity:1}.wish-hold i{position:absolute;inset:0;background:#e4a5b855;transform:scaleX(0);transform-origin:left;pointer-events:none}.holding .wish-hold i{transform:scaleX(1);transition:transform 3s linear}.wish-skip{position:absolute;bottom:9%;border:0;background:none;color:#927970;font:10px 'Space Mono',monospace;padding:12px}.wish-active{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.wish-locked{overflow:hidden!important;overscroll-behavior:none}
.album-nav{position:absolute;left:20px;right:20px;bottom:37px;display:flex;align-items:center;justify-content:space-between;gap:10px}.album-nav[hidden]{display:none}.album-nav button{font:11px 'Space Mono',monospace;border:1px solid #ae8962;border-radius:20px;color:#643d2b;background:#f6e5c9;padding:9px 14px}.album-nav button:disabled{opacity:.3;cursor:default}.album-progress{font:10px 'Space Mono',monospace;color:#643d2b}.book-dialog{padding-bottom:88px}.timeline-page{height:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:15px}.timeline-page img{width:100%;height:100%;min-height:0;object-fit:contain;box-shadow:none}.timeline-page figcaption{text-align:center;font:500 clamp(14px,1.4vw,19px)/1.5 Arial,sans-serif;color:#50362e;overflow-wrap:anywhere}.album-paper,.album-paper.page-left{padding:5% 3% 6%}
@media(max-width:650px){.book-dialog{height:min(680px,91svh);padding:55px 8px 88px}.timeline-page{gap:10px}.timeline-page figcaption{font-size:14px;line-height:1.45}.album-nav{left:12px;right:12px}.album-nav button{padding:8px 10px;font-size:10px}.birthday-room{min-height:500px}.wish-tutorial{top:13%}.section-dedication{font-size:8px;left:4%;right:4%}.wish-hold{bottom:21%}.wish-skip{bottom:13%}.birthday-room .room-frame{width:100vw}.album-paper,.album-paper.page-left{padding:6% 3% 9%}}
.birthday-room{background:#fef8ee}.birthday-room .room-art>img{mix-blend-mode:normal;mask-image:linear-gradient(to right,transparent,#000 3% 97%,transparent),linear-gradient(to bottom,transparent,#000 3% 97%,transparent);mask-composite:intersect}.wish-hold{background:#fef8ee}.section-dedication{left:100px}
/* Compact tools: keep the table in its own visible area. */
.studio-panel{left:16px;top:84px;width:216px;padding:10px;max-height:calc(100% - 145px);border-radius:12px;overscroll-behavior:contain;scrollbar-width:thin}
.studio-panel .panel-heading{display:flex;align-items:center;justify-content:space-between;font:12px Arial,sans-serif;margin-bottom:6px}
.studio-panel #close-tools{border:0;background:none;font-size:11px;padding:7px;color:#6e665c}
.studio-panel .studio-tabs{margin-bottom:8px;gap:8px}.studio-panel .studio-tabs button{padding:8px 6px;font-size:11px;flex:1}
.studio-panel .tool-hint{display:none}
.studio-panel .head-list,.studio-panel .hat-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.studio-panel .asset-choice,.studio-panel .hat-list .asset-choice{min-height:62px;padding:4px 2px;gap:3px;font:10px/1.2 Arial,sans-serif;border-radius:7px}
.studio-panel .asset-choice img{width:36px;height:36px}.studio-panel .hat-list .asset-choice svg{width:30px;height:38px;max-height:38px}
.studio-panel .hat-list .asset-choice span{font-size:9px}
.studio-panel .compact-status{font:10px/1.4 Arial,sans-serif;margin:9px 0 0;color:#625b50}
.studio-panel .selection-tools{margin-top:8px;padding-top:8px;font:11px Arial,sans-serif}.selection-tools summary{cursor:pointer;padding:5px 0;color:#544b41}.studio-panel .selection-tools label{margin:9px 0;font-size:10px}.studio-panel .selection-tools input{margin-top:3px}.studio-panel .plain-control{font-size:10px;padding:7px 9px;margin-top:6px}
.studio-workspace:has(.studio-panel:not([hidden])) .studio-stage{margin-left:244px;width:calc(100% - 244px)}
@media(max-width:700px){
.studio-panel{left:12px;right:12px;top:84px;width:auto;max-height:205px;padding:8px 10px;z-index:8}
.studio-panel .panel-heading{display:none}.studio-panel .studio-tabs{margin-bottom:5px;max-width:220px}.studio-panel .studio-tabs button{padding:5px}
.studio-panel .head-list,.studio-panel .hat-list{display:flex;overflow-x:auto;gap:5px;padding-bottom:4px;scrollbar-width:thin}
.studio-panel .asset-choice,.studio-panel .hat-list .asset-choice{flex:0 0 56px;min-height:58px}.studio-panel .asset-choice img{width:32px;height:32px}
.studio-panel .compact-status{margin-top:3px}.studio-panel .selection-tools{margin-top:4px;padding-top:4px}
.studio-workspace:has(.studio-panel:not([hidden])) .studio-stage{margin-left:0;width:100%;top:300px;height:calc(100% - 335px)}
.studio-workspace:has(.studio-panel:not([hidden])) .stage-empty{bottom:5px;font-size:10px;padding:5px 9px}
}
