.photo-entry{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.photo-entry .tickets{margin:0;font-size:16px}.photo-file-label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative}.photo-file-label input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.photo-file-label:focus-within{outline:3px solid #c62743;outline-offset:3px}.photo-entry .photo-file-label{padding:17px;border:1px dashed #a85b65}.photo-flow-open{overflow:hidden}
dialog.photo-workshop{box-sizing:border-box;width:min(1020px,calc(100vw - 24px));height:min(880px,calc(100dvh - 24px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #67524d;border-radius:13px;background:#f0e7d9;color:#261c1e;overflow:hidden;box-shadow:0 24px 100px #0008}
.photo-workshop[open]{display:flex;flex-direction:column}.photo-workshop::backdrop{background:#120a0deb;backdrop-filter:blur(8px)}.photo-flow-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #cabcaf;background:#f6eedf}.photo-flow-head p{font:700 11px Arial,sans-serif;letter-spacing:.17em;color:#a51e35;margin:0 0 7px}.photo-flow-head h2{font-size:clamp(24px,3vw,35px);line-height:1.05;letter-spacing:-.03em}.photo-flow-head>button{border:1px solid #d2bcba;background:#fff6ed;color:#601b2b;border-radius:50%;width:42px;height:42px;font-size:26px;flex-shrink:0}
.photo-flow-content{flex:1;min-height:0;overflow:hidden;position:relative;padding:16px 24px}.photo-camera-pane{height:100%;display:flex;align-items:center;justify-content:center}.camera-viewport{position:relative;aspect-ratio:4/5;height:100%;max-height:100%;max-width:100%;overflow:hidden;background:#20191a;border-radius:4px}.camera-viewport video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-frame-guide{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.camera-viewport #camera-placeholder{position:absolute;inset:22% 16%;display:flex;align-items:center;justify-content:center;text-align:center;color:#f2e7d7;font-size:16px}
.photo-edit-pane{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.photo-canvas-wrap{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;overflow:hidden;background:#d9cebd;border-radius:8px}#photo-sticker-canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;aspect-ratio:4/5;touch-action:none;cursor:grab;box-shadow:0 3px 18px #3d16252b}#photo-sticker-canvas:active{cursor:grabbing}#photo-sticker-canvas:focus-visible{outline:3px solid #ba1a35;outline-offset:-3px}
.photo-tools{display:flex;flex-direction:column;gap:20px;overflow:auto;padding:2px}.photo-tools fieldset{padding:0;border:0;margin:0;min-width:0}.photo-tools legend{font-size:14px;font-weight:700;padding:0;margin:0 0 9px}.photo-tools button{background:#fff9f0;border:1px solid #cdb7af;color:#40232c;border-radius:6px;font-size:13px;min-height:38px}.photo-frame-picker>div{display:flex;gap:5px}.photo-frame-picker button{flex:1;padding:8px 3px}.photo-frame-picker button[aria-pressed=true]{background:#9f2038;color:white;border-color:#9f2038}.photo-sticker-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.photo-sticker-picker button{padding:6px;touch-action:none}.photo-sticker-picker img{display:block;width:100%;height:56px;object-fit:contain;pointer-events:none;user-select:none}.photo-sticker-picker span{display:block;font-size:11px;margin-top:4px;pointer-events:none}.sticker-sliders{display:flex;gap:12px}.sticker-sliders label{font-size:12px;min-width:0;flex:1}.sticker-sliders input{display:block;width:100%;accent-color:#ad253e;margin:7px 0;min-height:24px}.sticker-commands{display:flex;gap:8px}.sticker-commands button{flex:1;padding:5px}.photo-tools fieldset:disabled{opacity:.45}
#photo-flow-status{flex-shrink:0;margin:0;padding:0 24px 10px;min-height:28px;font-size:13px;line-height:1.3;color:#67524d;text-align:center}.photo-flow-actions{flex-shrink:0;padding:14px 24px max(14px,env(safe-area-inset-bottom));border-top:1px solid #cfbeb3;background:#fff6ea}.photo-flow-actions>div{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.photo-workshop .photo-primary,.photo-workshop .photo-secondary{border-radius:6px;padding:13px 21px;font-size:15px;min-height:46px;font-weight:bold;text-align:center}.photo-primary{background:#b41f39;color:white;border:1px solid #b41f39}.photo-secondary{background:transparent;border:1px solid #b9a6a0;color:#5c2634}.photo-workshop button:disabled{opacity:.4;cursor:default}.photo-share-pane{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.photo-share-pane>img{min-height:0;max-height:calc(100% - 70px);max-width:100%;width:auto;object-fit:contain;box-shadow:0 5px 25px #0003}.photo-share-pane p{text-align:center;flex-shrink:0;margin:0;font-size:14px;line-height:1.5}
@media(max-width:650px){dialog.photo-workshop{width:100vw;height:100dvh;border:0;border-radius:0;margin:0}.photo-flow-head{padding:12px 16px}.photo-flow-head h2{font-size:25px}.photo-flow-head p{margin-bottom:5px}.photo-flow-content{padding:10px 12px}.photo-edit-pane{grid-template-columns:1fr;grid-template-rows:minmax(100px,1fr) auto;gap:10px}.photo-tools{gap:8px;display:grid;grid-template-columns:1fr 1fr;overflow:visible}.photo-tools legend{font-size:11px;margin-bottom:4px}.photo-tools .photo-sticker-picker{grid-column:1/-1;grid-row:2}.photo-sticker-picker>div{grid-template-columns:repeat(5,1fr);gap:5px}.photo-sticker-picker img{height:34px}.photo-sticker-picker button{padding:3px}.photo-sticker-picker span{font-size:10px;margin-top:0}.photo-frame-picker button{font-size:10px;min-height:34px;padding:6px 1px}.photo-tools #sticker-adjust{grid-column:2;grid-row:1}.sticker-sliders{gap:6px}.sticker-sliders input{margin:0;min-height:18px}.sticker-sliders label{font-size:10px}.sticker-commands{gap:5px}.sticker-commands button{min-height:22px;font-size:10px;padding:1px}.photo-flow-actions{padding:10px 12px max(10px,env(safe-area-inset-bottom))}.photo-workshop .photo-primary,.photo-workshop .photo-secondary{padding:11px 12px;font-size:13px;min-height:43px}.photo-flow-actions>div{gap:7px;flex-wrap:nowrap}#photo-flow-status{font-size:11px;padding:0 12px 7px;min-height:22px}}
@media(max-height:540px) and (orientation:landscape){.photo-flow-head{padding:7px 14px}.photo-flow-head h2{font-size:20px}.photo-flow-head p{display:none}.photo-flow-content{padding:7px 14px}.photo-edit-pane{grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:1fr}.photo-tools{display:flex;overflow:auto;gap:10px}.photo-sticker-picker>div{grid-template-columns:repeat(5,1fr)}.photo-sticker-picker img{height:30px}.photo-flow-actions{padding:7px 12px}.photo-workshop .photo-primary,.photo-workshop .photo-secondary{min-height:36px;padding:8px 13px}.photo-flow-head>button{width:33px;height:33px}}
