.twOverlay[hidden]{display:none!important}.twOverlay{position:fixed;inset:0;z-index:12500;background:#27141fa8;display:flex;align-items:center;justify-content:center;padding:15px;box-sizing:border-box}.twNoScroll{overflow:hidden!important}.twDialog{width:min(760px,100%);max-height:calc(100dvh - 30px);overflow-y:auto;box-sizing:border-box;background:#fff;border-radius:18px;padding:22px;color:#50303c}.twHead{display:flex;justify-content:space-between;gap:12px}.twHead h2{margin:0;font-size:23px}.twHead p{margin:4px 0 0;color:#907583}.twClose,.twShapeClose{border:1px solid #ead6dd;background:white;border-radius:9px;padding:8px 12px;cursor:pointer}.twSearch{margin:16px 0 10px}.twSearch input{width:100%;box-sizing:border-box;border:1px solid #e6d6dd;border-radius:10px;padding:11px;font:inherit}.twTabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.twTabs button{background:#fff;border:1px solid #ecd9e0;border-radius:25px;padding:7px 12px;cursor:pointer}.twTabs button.active{background:#f8e2ec;border-color:#d76a9a}.twCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.twCard{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;min-height:135px;border:1px solid #ebdce2;border-radius:12px;padding:13px;background:#fff;cursor:pointer;font:inherit;color:#50303c}.twCard:not(:disabled):hover{border-color:#c85a88;background:#fff6fa}.twCard:disabled{cursor:default;opacity:.6}.twIcon{font-size:27px}.twCard strong{font-size:14px}.twCard small{font-size:12px;color:#917681}.twCard em{position:absolute;right:9px;top:9px;font-size:10px;font-style:normal;background:#f3e7ed;padding:3px 6px;border-radius:8px}.twShapeDialog{width:min(650px,100%)}.twShapeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0}.twShapeGrid label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:5px}.twShapeGrid input,.twShapeGrid select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #e5d7dd;border-radius:8px;padding:8px;font:inherit}.twShapeGrid input[type=color]{height:38px;padding:3px}.twCanvasWrap{background:repeating-conic-gradient(#f2f2f2 0% 25%,#fff 0% 50%) 50%/18px 18px;border:1px solid #e6dce0;border-radius:12px;overflow:hidden}.twCanvasWrap canvas{display:block;width:100%;max-height:290px;object-fit:contain}.twActions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.twActions button{border:1px solid #d9bdc8;border-radius:9px;padding:10px 15px;background:white;color:#6c4253;cursor:pointer;font:inherit}.twActions .twPrimary{background:#7c415b;color:#fff;border-color:#7c415b}@media(max-width:650px){.twOverlay{padding:9px;align-items:flex-start}.twDialog{padding:15px;max-height:calc(100dvh - 18px)}.twCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.twCard{padding:10px;min-height:125px}.twShapeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.twHead h2{font-size:20px}}

.twStudioAdd{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 18px}.twStudioAdd button{background:#fff;border:1px solid #dfb3c5;border-radius:10px;padding:10px 18px;color:#743f57;font-weight:700;cursor:pointer}.twStudioAdd button:hover{background:#fff1f7}.twStudioAdd span{color:#947781;font-size:12px}

/* Standalone Polaroid designer */
.twPolaroidDialog{max-width:850px;width:min(94vw,850px)}
.twPolaroidGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,1fr);gap:22px;padding:16px}
.twPolaroidPreview{display:grid;place-items:center;background:#f8f2f4;border-radius:15px;padding:20px;min-height:340px}
.twPolaroidFrame{background:#fff;width:min(100%,265px);padding:14px 14px 34px;box-shadow:0 10px 30px #533b4830;transform:rotate(-2deg)}
.twPolaroidPhoto{aspect-ratio:1;background:#f1e8eb center/cover no-repeat;display:grid;place-items:center;color:#a58a95;text-align:center;font-size:13px}
.twPolaroidText{min-height:26px;text-align:center;margin-top:13px;overflow-wrap:anywhere;color:#493d43}
.twPolaroidFields{display:flex;flex-direction:column;gap:16px;justify-content:center}
.twPolaroidFields label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:13px}
.twPolaroidFields input,.twPolaroidFields select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #e6d8de;border-radius:10px;background:#fff;color:#433}
.twPolaroidHint{font-size:12px;color:#987e88;line-height:1.5}
.twPolaroidCreate:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.twPolaroidGrid{grid-template-columns:1fr;gap:12px;padding:10px}.twPolaroidPreview{min-height:210px;padding:14px}.twPolaroidFrame{width:190px;padding:10px 10px 23px}.twPolaroidFields{gap:10px}.twPolaroidDialog{max-height:90vh;overflow:auto}}

.twPolaroidEmoji{background:#fbf6f8;border:1px solid #f0e2e7;border-radius:12px;padding:10px}.twPolaroidEmoji strong{display:block;font-size:12px;margin-bottom:8px}.twPolaroidEmojiButtons{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.twPolaroidEmojiButtons button{border:1px solid #eadde2;background:#fff;border-radius:7px;min-height:31px;cursor:pointer;font-size:16px;padding:2px}.twPolaroidEmojiButtons button:hover{background:#fce8f0}@media(max-width:420px){.twPolaroidEmojiButtons{grid-template-columns:repeat(8,minmax(0,1fr))}.twPolaroidEmojiButtons button{font-size:14px;min-height:28px}}

/* Match server: 1000px photo, 55px borders, 209px bottom field. */
.twPolaroidFrame{box-sizing:border-box;width:min(100%,285px);padding:4.955% 4.955% 18.83%;background:#faf7ef;position:relative}
.twPolaroidPhoto{touch-action:none;cursor:grab;user-select:none;background-color:#eee8e9;background-repeat:no-repeat;overflow:hidden}
.twPolaroidPhoto:active{cursor:grabbing}
.twPolaroidText{position:absolute;bottom:3.2%;left:6%;right:6%;margin:0;min-height:0;font-size:clamp(9px,1vw,13px)}
.twPolaroidZoom{accent-color:#a84e79}
.twPolaroidReset{align-self:flex-start;background:#fff;border:1px solid #e6d8de;border-radius:9px;padding:8px 12px;cursor:pointer;color:#71445a}
@media(max-width:650px){.twPolaroidFrame{width:220px;padding:11px 11px 42px}.twPolaroidText{font-size:10px}}

/* Caption centered horizontally and vertically within the bottom Polaroid field. */
.twPolaroidText{position:absolute;left:5%;right:5%;top:81.15%;bottom:4.95%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;margin:0;min-height:0;overflow-wrap:anywhere}
@media(max-width:650px){.twPolaroidText{top:81.15%;bottom:4.95%}}

/* Mobile Polaroid: all controls scroll normally; CTA never covers fields. */
@media (max-width:650px) {
  .twPolaroidOverlay {
    padding:9px 9px calc(12px + env(safe-area-inset-bottom, 0px));
    align-items:flex-start;
  }
  .twPolaroidDialog {
    max-height:calc(100dvh - 21px - env(safe-area-inset-bottom, 0px));
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .twPolaroidFields {
    padding-bottom:12px;
  }
  .twPolaroidCreate {
    position:static;
    display:block;
    width:100%;
    min-height:48px;
    margin-top:6px;
  }
}

/* Filmstrip workshop */
.twFilmDialog{width:min(960px,96vw);max-width:960px}.twFilmForm{display:flex;flex-direction:column;gap:12px;margin-top:18px}.twFilmForm>label{font-size:13px;font-weight:600;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.twFilmHint{font-size:12px;color:#947781;margin:0}.twFilmStage{background:#f8f2f4;border-radius:12px;padding:15px;overflow-x:auto}.twFilmTrack{display:flex;width:max-content;min-width:100%;align-items:stretch;background:#191919;padding:21px 13px;gap:7px;position:relative;background-image:repeating-linear-gradient(90deg,#f4f4f4 0 13px,transparent 13px 27px);background-size:27px 10px;background-repeat:repeat-x;background-position:top left}.twFilmTrack:after{content:'';position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,#f4f4f4 0 13px,transparent 13px 27px)}.twFilmFrame{background:#222;width:145px;height:109px;flex:none;overflow:hidden}.twFilmFrame img{width:100%;height:100%;object-fit:cover}.twFilmThumbs{display:flex;gap:8px;flex-wrap:wrap}.twFilmTile{display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #eadde2;border-radius:9px;font-size:11px}.twFilmTile img{width:35px;height:35px;object-fit:cover;border-radius:5px}.twFilmTile button{border:1px solid #e5d3dc;border-radius:5px;background:#fff;cursor:pointer;padding:4px 6px}.twFilmTile button:disabled{opacity:.3}.twFilmCreate{align-self:flex-end;border:0;border-radius:10px;padding:12px 22px;background:#78425c;color:#fff;cursor:pointer;font-weight:700}.twFilmCreate:disabled{opacity:.45;cursor:not-allowed}@media(max-width:650px){.twFilmFrame{width:110px;height:83px}.twFilmForm>label{display:block}.twFilmForm input{max-width:100%}.twFilmCreate{width:100%}}

/* Filmstrip precise 500 x 375 frame preview and drag controls */
.twFilmDialog{max-height:92vh;overflow-y:auto}.twFilmStage{padding:22px}.twFilmTrack{min-height:140px;box-sizing:border-box;min-width:100%;width:max-content;gap:7px;padding:21px 10px}.twFilmFrame{box-sizing:border-box;width:180px;height:135px;cursor:grab}.twFilmCanvas{display:block;width:100%;height:100%;touch-action:none;user-select:none}.twFilmCanvas:active{cursor:grabbing}.twFilmSelected{outline:3px solid #eb9bbb;outline-offset:2px}.twFilmTileSelected{border-color:#b24e78;background:#fff4f8}.twFilmEmpty{min-width:450px;text-align:center;color:#aaa;align-self:center;padding:42px 20px;font-size:14px}.twFilmEditor{background:#fbf5f7;border:1px solid #f0dfe7;border-radius:12px;padding:12px;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.twFilmEditor[hidden]{display:none}.twFilmEditorTitle{font-weight:700;font-size:13px}.twFilmEditor label{display:flex;gap:10px;align-items:center;font-size:12px}.twFilmEditor input{accent-color:#b24e78}.twFilmReset{background:white;border:1px solid #e4cfd9;border-radius:8px;padding:7px 12px;cursor:pointer}.twFilmUpload input{max-width:100%}@media(max-width:650px){.twFilmFrame{width:145px;height:109px}.twFilmEmpty{min-width:240px}.twFilmEditor{gap:9px}.twFilmEditor label{flex-wrap:wrap}}

/* Bento two portraits */
.twBentoDialog{width:min(930px,96vw);max-width:930px}.twBentoGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.9fr);gap:22px;margin-top:16px}.twBentoPreview{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#faf4f7;border-radius:15px;padding:20px;min-height:400px}.twBentoCanvas{width:min(100%,420px);height:auto;aspect-ratio:1;display:block;touch-action:none;cursor:grab}.twBentoCanvas:active{cursor:grabbing}.twBentoPreview p{font-size:12px;text-align:center;color:#937685}.twBentoFields{display:flex;flex-direction:column;gap:11px}.twBentoFields label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:650}.twBentoFields input:not([type=range]),.twBentoFields select{padding:10px;border:1px solid #e7d6df;border-radius:9px;width:100%;box-sizing:border-box;background:white}.twBentoFields input[type=range]{accent-color:#b85682;width:100%}.twBentoSwitch{display:flex;gap:6px}.twBentoSwitch button,.twBentoReset{border:1px solid #e6d3dc;background:white;border-radius:8px;padding:9px;cursor:pointer;color:#6f4258}.twBentoSwitch button{flex:1}.twBentoSwitch button.active{background:#f9e2ec;border-color:#ca78a0}.twBentoEmoji{padding:8px;background:#fcf5f8;border-radius:10px}.twBentoEmoji strong{display:block;font-size:12px;margin-bottom:5px}.twBentoEmojiButtons{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.twBentoEmojiButtons button{background:#fff;border:1px solid #ead9e1;border-radius:6px;cursor:pointer;min-height:29px}.twBentoCreate{background:#793e59;color:#fff;border:0;border-radius:10px;padding:12px;cursor:pointer;font-weight:700}.twBentoCreate:disabled{opacity:.5;cursor:not-allowed}@media(max-width:650px){.twBentoGrid{grid-template-columns:1fr;gap:10px}.twBentoPreview{min-height:0;padding:12px}.twBentoCanvas{width:min(100%,290px)}.twBentoDialog{max-height:calc(100dvh - 20px);overflow:auto}.twBentoFields{gap:9px}}

/* Speedometer cake designer */
.twSpeedDialog{width:min(920px,96vw);max-width:920px}.twSpeedGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);gap:22px;margin-top:15px}.twSpeedPreview{background:#faf4f7;border-radius:15px;padding:20px;display:flex;align-items:center;justify-content:center;flex-direction:column}.twSpeedCanvas{width:min(100%,430px);height:auto;aspect-ratio:1}.twSpeedPreview p{font-size:12px;color:#927987;text-align:center}.twSpeedFields{display:flex;flex-direction:column;gap:10px}.twSpeedFields label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:650}.twSpeedFields input:not([type=range]){box-sizing:border-box;width:100%;border:1px solid #e6d5de;border-radius:9px;padding:9px;background:#fff}.twSpeedFields input[type=color]{height:43px;padding:4px}.twSpeedFields input[type=range]{width:100%;accent-color:#ad537b}.twSpeedReset{border:1px solid #e6d5de;border-radius:9px;background:#fff;padding:10px;cursor:pointer}.twSpeedCreate{border:0;border-radius:10px;background:#793e59;color:white;padding:13px;cursor:pointer;font-weight:700}.twSpeedCreate:disabled{opacity:.5}@media(max-width:650px){.twSpeedGrid{grid-template-columns:1fr;gap:10px}.twSpeedDialog{max-height:calc(100dvh - 20px);overflow:auto}.twSpeedPreview{padding:12px}.twSpeedCanvas{width:min(100%,290px)}}
