:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:#172b27;background:#f4f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.upload-zone:focus-within{outline:3px solid #95d8c5;outline-offset:2px}h1,h2,h3,p{margin-top:0}.topbar{height:74px;padding:0 clamp(20px,3vw,48px);background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1ebe6;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.brand-mark{width:33px;height:33px;display:grid;place-items:center;background:#087f64;color:#fff;border-radius:10px;font-size:21px}.brand-badge{font-size:10px;letter-spacing:.09em;color:#087f64;background:#e6f6ee;border-radius:4px;padding:4px 6px;margin-left:1px}.top-actions{display:flex;align-items:center;gap:18px}.status-pill{display:inline-flex;align-items:center;gap:7px;color:#557369;font-size:12px;font-weight:700}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:#bbc7c1}.status-pill.ready:before{background:#0cab7b}.status-pill.unready:before{background:#d89c46}.text-button,.link-button{border:0;background:transparent;color:#426c60;font-size:13px;font-weight:700;padding:8px 0}.text-button:hover,.link-button:hover{text-decoration:underline}.workspace{max-width:1720px;margin:auto;display:grid;grid-template-columns:330px minmax(0,1fr);gap:32px;padding:32px clamp(20px,3vw,48px) 64px}.sidebar{background:#fff;border:1px solid #e0eae5;border-radius:17px;box-shadow:0 7px 26px rgba(16,57,43,.035);height:max-content;position:sticky;top:106px;overflow:hidden}.sidebar-intro{padding:28px 26px 24px;background:#e8f5ed}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:#0b8d69}.sidebar-intro h1{font-size:24px;letter-spacing:-.055em;line-height:1.35;margin:13px 0 10px}.sidebar-intro p{font-size:13px;line-height:1.65;color:#62766e;margin:0}.control-section{padding:23px 26px;border-top:1px solid #e9f0ec}.section-label{display:flex;align-items:center;gap:9px;margin-bottom:18px}.section-label h2{font-size:15px;letter-spacing:-.02em;margin:0}.step-num{background:#e8f6ee;color:#0b8d69;width:23px;height:23px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:900}.control-section label:not(.upload-zone){display:block;font-size:12px;color:#577166;font-weight:800;margin-bottom:7px}.control-section textarea,.control-section select{width:100%;border:1px solid #d7e5dd;background:#fff;border-radius:9px;color:#172b27}.control-section textarea{resize:vertical;min-height:83px;padding:11px 12px;font-size:14px;line-height:1.5}.control-section textarea::placeholder{color:#9caea5}.control-section select{height:42px;padding:0 11px;font-size:14px}.upload-zone{margin-top:12px;min-height:71px;padding:12px;border:1px dashed #adcdbc;border-radius:10px;background:#f8fcf9;display:flex;align-items:center;gap:11px;cursor:pointer}.upload-zone:hover{background:#edf8f1}.upload-icon{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:8px;background:#e5f5eb;color:#0b8d69;font-size:23px;font-weight:300}.upload-copy{min-width:0}.upload-copy strong{font-size:13px;display:block;margin-bottom:2px}.upload-copy small{display:block;font-size:11px;color:#7a9084;line-height:1.4}.upload-zone img{height:46px;width:46px;object-fit:cover;border-radius:7px;margin-left:auto}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.export-section{background:#fcfdfc}.export-section p{font-size:13px;line-height:1.55;color:#667a70;margin-bottom:15px}.export-section small{display:block;margin-top:10px;line-height:1.5;color:#87998f;font-size:11px}.primary-button,.secondary-button,.card-button{border:1px solid transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;white-space:nowrap;transition:background .15s,transform .15s,border-color .15s}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.card-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button{background:#087f64;color:#fff;padding:13px 16px}.primary-button:hover:not(:disabled){background:#086e58}.primary-button span{margin-left:auto}.full-width{width:100%}.secondary-button{color:#087f64;background:#fff;border-color:#c8e1d4;padding:11px 15px}.secondary-button:hover:not(:disabled){background:#eff8f2}.editor{min-width:0}.editor-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 26px}.editor-heading h2{font-size:30px;letter-spacing:-.055em;margin:9px 0 5px}.editor-heading p{font-size:13px;line-height:1.6;color:#71847a;margin:0}.progress-row{background:#fff;border:1px solid #e0eae5;border-radius:11px;padding:15px 18px;margin-bottom:22px;display:flex;align-items:center;gap:21px}.progress-row>div:first-child{display:flex;align-items:baseline;gap:14px;white-space:nowrap}.progress-row strong{font-size:14px}.progress-row span:not(#progress-fill){font-size:11px;color:#87988e}.progress-track{background:#eaf3ec;border-radius:20px;height:7px;flex:1;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:#0aaa76;border-radius:20px;transition:width .25s}.notice{padding:12px 15px;border-radius:9px;background:#fff4dd;border:1px solid #f3d798;color:#805a18;margin-bottom:20px;font-size:13px;line-height:1.5}.notice.success{background:#e8f7ef;color:#136b4f;border-color:#bde7cc}.sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.sticker-card{background:#fff;border:1px solid #e0eae5;border-radius:13px;overflow:hidden;box-shadow:0 3px 15px rgba(16,57,43,.026)}.card-top{padding:13px 14px;display:flex;align-items:center;justify-content:space-between}.card-index{font-size:12px;letter-spacing:.07em;font-weight:900;color:#779185}.card-state{font-size:10px;font-weight:800;padding:4px 6px;border-radius:5px;color:#7a9184;background:#eef3ee}.card-state.done{background:#dcf5e7;color:#07825f}.card-state.bad{background:#fff0df;color:#af6820}.card-image{aspect-ratio:370/320;background-color:#fff;background-image:linear-gradient(45deg,#e5ece9 25%,transparent 25%),linear-gradient(-45deg,#e5ece9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5ece9 75%),linear-gradient(-45deg,transparent 75%,#e5ece9 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;display:grid;place-items:center;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:contain}.card-placeholder{text-align:center;color:#a0afa7;font-size:12px;line-height:1.5;padding:10px}.card-placeholder span{width:54px;height:54px;background:#ffffffbd;border-radius:15px;display:grid;place-items:center;margin:0 auto 9px;font-size:26px;color:#80b69a}.card-body{padding:15px}.card-phrase{display:block;font-size:14px;color:#243b31;margin-bottom:5px}.card-expression{font-size:11px;color:#81958a;line-height:1.45;margin:0;min-height:32px}.card-actions{display:flex;gap:7px;margin-top:10px}.card-button{background:#087f64;color:#fff;padding:10px 9px;flex:1}.card-button:hover:not(:disabled){background:#086e58}.card-note{font-size:10px;color:#ab6d2d;margin:7px 0 0;line-height:1.4}.footer-help{margin-top:24px;border:1px solid #dce8df;border-radius:12px;background:#fff;padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-help strong{font-size:14px}.footer-help p{font-size:12px;color:#7e9085;line-height:1.5;margin:5px 0 0}.footer-help a{color:#087f64;font-size:12px;font-weight:800;white-space:nowrap;text-decoration:none}.footer-help a:hover{text-decoration:underline}@media(max-width:1270px){.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1030px){.workspace{grid-template-columns:285px minmax(0,1fr);gap:20px}.sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-intro,.control-section{padding-left:20px;padding-right:20px}}@media(max-width:700px){.topbar{height:62px;padding:0 16px}.brand{font-size:17px}.brand-badge{display:none}.status-pill{font-size:0;gap:0}.status-pill:before{width:9px;height:9px}.top-actions{gap:13px}.text-button{font-size:12px}.workspace{display:block;padding:18px 14px 48px}.sidebar{position:static;margin-bottom:26px}.sidebar-intro{padding:19px 20px}.sidebar-intro h1{font-size:21px}.sidebar-intro h1 br{display:none}.control-section{padding:17px 20px}.editor-heading{display:block;margin:0 0 17px}.editor-heading h2{font-size:26px}.editor-buttons{margin-top:17px}.progress-row{display:block}.progress-track{margin-top:11px}.sticker-grid{gap:10px}.card-body{padding:10px}.card-top{padding:10px}.card-actions{gap:5px}.card-button{font-size:11px}.footer-help{display:block}.footer-help a{display:inline-block;margin-top:10px}}@media(max-width:390px){.sticker-grid{grid-template-columns:1fr}.card-body{padding:14px}.card-button{font-size:13px}}

.mobile-generate{display:none}
@media(max-width:700px){.mobile-generate{display:inline-flex;padding:9px 11px;font-size:11px}.top-actions{gap:9px}.top-actions .text-button{font-size:11px}.status-pill{display:none}}

.field-help{font-size:11px;color:#789085;line-height:1.55;margin:7px 0 11px}.message-section .field-help:first-of-type{margin-top:-5px}.category-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding-bottom:9px;margin-bottom:7px}.category-chip,.message-chip,.selected-chip{font-size:12px;font-weight:700;border:1px solid #cfe4d8;border-radius:999px;background:#fff;color:#245446;min-height:40px;padding:8px 12px;white-space:nowrap}.category-chip{flex:none}.category-chip.active,.message-chip.active{background:#087f64;color:#fff;border-color:#087f64}.message-options,.selected-messages,.saved-messages{display:flex;flex-wrap:wrap;gap:7px}.selected-messages{min-height:42px}.selected-chip{background:#eaf6ee;border-color:#a7d8bd}.selected-chip span{font-size:17px;line-height:0;margin-left:4px}.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:17px 0 8px;font-size:12px}.selection-heading .link-button{font-size:11px}.empty-messages{font-size:11px;color:#85998d;margin:8px 0}.control-section label.custom-label{margin-top:18px}.message-section #custom-message{min-height:55px}.library-heading{margin-top:21px}.library-heading span{color:#7d9387;font-size:10px}.saved-item{display:inline-flex;align-items:center;border:1px solid #cfe4d8;border-radius:999px;overflow:hidden}.saved-item .message-chip{border:0;border-radius:0}.saved-remove{border:0;background:#fff;color:#668578;font-size:18px;min-width:32px;min-height:40px}.sidebar-generate{margin-bottom:9px;min-height:48px}.export-section #export-zip{background:#fff;color:#087f64;border-color:#a9d3bc;min-height:46px}.generation-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;margin-bottom:18px;border:1px solid #bce6d0;border-radius:12px;background:linear-gradient(105deg,#e8f8ef,#f5fbf6 60%,#e4f6ed);color:#12684f}.generation-banner[hidden]{display:none}.generation-banner strong{font-size:14px}.generation-banner p{margin:3px 0 0;font-size:12px;color:#62917b}.generation-orbit{width:43px;height:43px;flex:none;border:3px solid #c8e9d7;border-top-color:#0ca574;border-radius:50%;display:grid;place-items:center;animation:stamp-spin 1.3s linear infinite}.generation-orbit>span{font-size:19px;color:#0ca574;animation:stamp-spin 1.3s linear infinite reverse}.generation-dots{margin-left:auto;display:flex;gap:5px}.generation-dots i{width:6px;height:6px;border-radius:50%;background:#0ca574;animation:stamp-dot 1s infinite alternate}.generation-dots i:nth-child(2){animation-delay:.2s}.generation-dots i:nth-child(3){animation-delay:.4s}.card-generating{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#f3fcf4ed;color:#087f64;font-size:12px}.card-generating .generation-orbit{width:48px;height:48px}@keyframes stamp-spin{to{transform:rotate(360deg)}}@keyframes stamp-dot{to{opacity:.2;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.generation-orbit,.generation-orbit>span,.generation-dots i{animation:none}}@media(max-width:700px){.category-tabs{margin-right:-20px}.category-chip,.message-chip,.selected-chip{min-height:44px}.saved-remove{min-height:44px}}

.editor-buttons{display:flex;gap:8px;align-items:center}.mobile-export{display:none}@media(max-width:700px){.mobile-export{display:inline-flex;padding:8px 9px;font-size:11px}.editor-buttons{flex-wrap:wrap}.editor-buttons button{flex:1;min-height:44px}}

.member-summary{padding:12px 26px;background:#f8fcf9;border-top:1px solid #e4efe9;display:flex;justify-content:space-between;align-items:center;gap:10px}.member-summary strong{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.member-summary .link-button{white-space:nowrap;font-size:11px}.saved-pairs{display:grid;gap:7px}.saved-pair{border:1px solid #d4e5d9;border-radius:9px;display:flex;align-items:stretch;overflow:hidden}.saved-pair>button:first-child{border:0;background:#fff;padding:9px 11px;min-width:0;flex:1;text-align:left}.saved-pair strong,.saved-pair small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-pair strong{font-size:12px}.saved-pair small{font-size:10px;color:#799085;margin-top:3px}.edit-sticker{border:0;background:transparent;color:#087f64;font-size:11px;font-weight:800;padding:8px 0 0}.app-dialog{border:0;border-radius:17px;box-shadow:0 20px 70px #102e2a55;max-width:min(440px,calc(100vw - 24px));width:100%;padding:25px}.app-dialog::backdrop{background:#102e2a99}.app-dialog form{position:relative}.app-dialog h2{font-size:21px;margin:0 28px 10px 0}.app-dialog p{font-size:12px;line-height:1.6;color:#678074}.app-dialog label{font-size:12px;font-weight:800;display:block;margin:14px 0 6px}.app-dialog input,.app-dialog select,.app-dialog textarea{width:100%;border:1px solid #cfe2d6;border-radius:9px;font:inherit;padding:11px;font-size:14px}.app-dialog .primary-button{margin-top:18px;min-height:45px}.dialog-close{position:absolute;right:0;top:0;width:32px;height:32px;border:0;background:#edf5ef;border-radius:8px;color:#426657;font-size:19px}.app-dialog [role=status]{min-height:20px;margin:11px 0 0;color:#087f64}

#new-project-sidebar{display:none}@media(max-width:700px){.topbar #open-login,.topbar #new-project{display:none}#new-project-sidebar{display:block;margin-top:8px}.topbar .brand{min-width:0}.topbar .top-actions{flex:none}}

.gallery-shortcut{display:flex;align-items:center;gap:10px;width:100%;padding:14px 25px;border:0;border-top:1px solid #e4efe9;background:#fff;color:#087f64;text-align:left;font-size:13px;font-weight:800}.gallery-shortcut:hover{background:#f1faf5}.gallery-shortcut>span:first-child{font-size:20px;line-height:1}.gallery-shortcut small{margin-left:auto;font-size:10px;color:#82998b;font-weight:600}.gallery-dialog{border:0;border-radius:18px;box-shadow:0 20px 70px #102e2a55;background:#f8fcf9;width:min(1040px,calc(100vw - 24px));max-width:none;max-height:min(88dvh,900px);padding:24px;overflow-y:auto}.gallery-dialog::backdrop{background:#102e2ab3}.gallery-dialog-header{display:flex;justify-content:space-between;gap:16px;position:relative}.gallery-dialog-header h2{font-size:25px;margin:6px 0}.gallery-dialog-header p{font-size:12px;color:#71847a;margin:0 0 14px}.gallery-dialog-header .dialog-close{position:static;flex:none}.gallery-dialog [role=status]{color:#5e7b6b;font-size:12px;margin:0 0 13px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:13px}.gallery-card{background:#fff;border:1px solid #dce9df;border-radius:12px;overflow:hidden}.gallery-card-image{aspect-ratio:1;background-color:#fff;background-image:linear-gradient(45deg,#e5ece9 25%,transparent 25%),linear-gradient(-45deg,#e5ece9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5ece9 75%),linear-gradient(-45deg,transparent 75%,#e5ece9 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;display:grid;place-items:center}.gallery-card-image img{width:100%;height:100%;object-fit:contain}.gallery-card-info{padding:10px}.gallery-card-info strong,.gallery-card-info small{display:block;overflow-wrap:anywhere}.gallery-card-info strong{font-size:13px}.gallery-card-info small{font-size:10px;color:#71847a;line-height:1.4;margin:4px 0 9px}.gallery-card-info a{display:block;padding:8px;text-align:center;border-radius:7px;background:#e8f7ef;color:#087f64;text-decoration:none;font-size:11px;font-weight:800}.gallery-dialog #gallery-more{margin-top:15px}

@media(min-width:900px){
  body{overflow:hidden}
  .workspace{height:calc(100dvh - 74px);min-height:0;overflow:hidden;display:grid;grid-template-columns:clamp(280px,var(--sidebar-width,30%),65%) 14px minmax(0,1fr);gap:0;padding:18px clamp(20px,3vw,48px)}
  .sidebar{position:static;top:auto;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  .editor{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 5px 30px 20px}
  .workspace-splitter{display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;user-select:none;border-radius:8px;outline-offset:-2px}
  .workspace-splitter>span{display:block;width:5px;height:64px;border-radius:9px;background:#bed8c8;box-shadow:inset 0 0 0 1px #a8ceba}
  .workspace-splitter:hover>span,.workspace-splitter:focus-visible>span,.workspace-splitter.is-dragging>span{background:#087f64}
  .workspace-splitter:focus-visible{outline:2px solid #087f64}
  body.is-resizing{cursor:col-resize;user-select:none}
}
@media(max-width:899px){.workspace-splitter{display:none}.workspace{display:block}.sidebar{position:static;margin-bottom:26px}.editor{min-width:0}}
@media(max-width:700px){.gallery-dialog{padding:17px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-card-info{padding:8px}}
.phrase-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:39px;margin:4px 0 8px;padding:8px 11px;border:1px solid #d4e5d9;border-radius:8px;background:#f8fcf9;color:#356454;font-size:11px;font-weight:800}.phrase-toggle:hover{background:#eaf6ee}.message-options[hidden]{display:none}
.gallery-dialog #gallery-more[hidden]{display:none}
.edit-pose-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.edit-pose-heading label{margin:0}.ai-pose-button{border:1px solid #a9d8c0;background:#eaf8ef;color:#087f64;border-radius:8px;padding:9px 10px;min-height:40px;font-size:11px;font-weight:800}.ai-pose-button:hover:not(:disabled){background:#d8f2e3}.ai-pose-button:disabled{opacity:.55}@media(max-width:390px){.edit-pose-heading{align-items:flex-start;flex-direction:column}.ai-pose-button{width:100%}}

.submission-open{margin-top:9px;min-height:44px}.submission-dialog{width:min(560px,calc(100vw - 24px));max-width:none;max-height:min(90dvh,880px);overflow-y:auto}.submission-dialog-content{position:relative}.submission-dialog h2{margin:8px 30px 9px 0}.submission-dialog label{margin-top:13px}.submission-dialog textarea{resize:vertical;min-height:84px}.submission-readiness{padding:11px 13px;border:1px solid #d4e5d9;border-radius:9px;background:#f5faf6;color:#496b5c;font-size:12px;font-weight:700;line-height:1.5}.submission-readiness.ready{border-color:#a8dbbf;background:#eaf8ef;color:#087f64}.submission-ai-disclosure{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:12px 13px;border-radius:9px;background:#f5faf6;color:#426c60;font-size:12px}.submission-ai-disclosure span{font-weight:800;color:#087f64}.submission-dialog .submission-help{margin:11px 0 0;font-size:11px}.submission-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.submission-actions .primary-button{margin:0}.submission-market-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;border:1px solid #b5d9c5;border-radius:9px;background:#fff;color:#087f64;font-size:13px;font-weight:800;text-decoration:none}.submission-market-link:hover{background:#eff8f2}.submission-dialog #submission-feedback{min-height:20px;margin:12px 0 0;color:#087f64}.submission-dialog .submission-disclaimer{margin:10px 0 0;color:#71847a;font-size:11px}.footer-help button{flex:none}@media(max-width:700px){.submission-dialog{padding:19px}.submission-actions{grid-template-columns:1fr}.submission-actions button{min-height:46px}.footer-help button{width:100%;margin-top:12px}}
.submission-dialog .submission-language-heading{margin:19px 0 0;padding-bottom:6px;border-bottom:1px solid #dce9df;color:#264b3c;font-size:12px;font-weight:800}
:root{--bottom-menu-height:calc(71px + env(safe-area-inset-bottom))}
.bottom-menu{position:fixed;left:0;right:0;bottom:0;z-index:9;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #dce9df;box-shadow:0 -5px 20px rgba(16,57,43,.08)}
.bottom-menu #bottom-menu-status{font-size:12px;font-weight:800;color:#587568;white-space:nowrap}
.bottom-menu .primary-button{width:min(100%,560px);min-width:0;min-height:50px;font-size:15px}
@media(min-width:900px){.workspace{height:calc(100dvh - 74px - var(--bottom-menu-height))}}
@media(max-width:899px){.workspace{padding-bottom:calc(var(--bottom-menu-height) + 40px)}}
.submission-actions #submission-bundle,.submission-actions #submission-mac{grid-column:1/-1}.submission-dialog [aria-invalid="true"]{border-color:#d56654;box-shadow:0 0 0 2px #fbe4df}.submission-dialog #submission-copy-fallback{width:100%;min-height:130px;margin-top:10px}.submission-dialog #submission-copy-fallback[hidden]{display:none}
.sheet-preview-panel{margin:0 0 22px;padding:16px;border:1px solid #cfe1d6;border-radius:12px;background:#fff}
.sheet-preview-panel[hidden]{display:none}
.sheet-preview-panel summary{cursor:pointer;color:#126b54;font-size:14px;font-weight:800}
.sheet-preview-panel summary span{margin-left:8px;color:#70887a;font-size:11px}
.sheet-preview-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:14px 0 10px}
.sheet-preview-controls span{margin-right:4px;color:#526e60;font-size:11px;font-weight:700}
.sheet-preview-scroll{overflow-x:auto;border:1px solid #d9e7df;border-radius:8px}
.sheet-preview-stage{position:relative;width:100%;min-width:min(100%,600px);aspect-ratio:7 / 6;background:#fff}
.sheet-preview-stage.rows-2{aspect-ratio:7 / 3}
.sheet-preview-stage.checker{background-color:#fff;background-image:linear-gradient(45deg,#dce6e1 25%,transparent 25%),linear-gradient(-45deg,#dce6e1 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dce6e1 75%),linear-gradient(-45deg,transparent 75%,#dce6e1 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
.sheet-preview-stage.black{background:#172321}
.sheet-preview-stage.white{background:#fff}
.sheet-preview-stage img{display:block;width:100%;height:100%;object-fit:contain}
.sheet-preview-cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);pointer-events:none}
.sheet-preview-stage.rows-2 .sheet-preview-cells{grid-template-rows:repeat(2,1fr)}
.sheet-preview-cells span{border:1px solid #087f6480;color:#075540;background:#ffffffb8;align-self:start;justify-self:start;margin:3px;padding:2px 5px;border-radius:4px;font-size:10px;font-weight:800}
.sheet-preview-cells span.failed{color:#8d3e1f;background:#fff3e8;border-color:#c97041}
.sheet-preview-detail{margin:10px 0 0;color:#536d60;font-size:11px;line-height:1.5}
.sheet-preview-failures{margin:7px 0 0;padding-left:20px;color:#9b4c23;font-size:11px;line-height:1.5}
@media(max-width:420px){.bottom-menu .primary-button{font-size:13px}.bottom-menu #bottom-menu-status{font-size:11px}.sheet-preview-panel{padding:11px}}
.development-details{margin-top:12px;padding:11px 12px;border:1px solid #cce4d6;border-radius:9px;background:#f4fbf6;color:#385d4d;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.development-details[hidden]{display:none}.development-details strong{display:block;color:#087f64;margin-bottom:6px}.development-details p{margin:0 0 5px}.development-details p:last-child{margin:0}
:root{--bottom-menu-height:78px}
.bottom-menu{min-height:var(--bottom-menu-height);gap:16px}
.bottom-menu-actions{display:flex;align-items:center;gap:8px;width:min(100%,740px)}
.bottom-menu-actions>button{min-height:48px;padding:9px 13px;flex:1;white-space:nowrap}
.bottom-menu-actions #generate-sticky{flex:2.1;width:auto}
.bottom-menu-actions .bottom-more{flex:0 0 52px;font-size:20px;line-height:1}
.bottom-more-panel{position:absolute;right:max(14px,calc((100vw - 740px)/2));bottom:calc(100% + 8px);width:min(300px,calc(100vw - 28px));padding:7px;border:1px solid #d5e5da;border-radius:12px;background:#fff;box-shadow:0 12px 36px #183b2b38;display:grid;gap:2px}
.bottom-more-panel[hidden]{display:none}
.bottom-more-panel button,.bottom-more-panel a{display:block;width:100%;padding:13px 12px;border:0;border-radius:7px;background:transparent;color:#285448;text-align:left;text-decoration:none;font-size:13px;font-weight:800}
.bottom-more-panel button:hover,.bottom-more-panel a:hover{background:#edf8f1}.bottom-more-panel #new-project{color:#b25636}
.character-source-preview{display:block;width:min(220px,100%);max-height:220px;object-fit:contain;margin:12px auto;border:1px solid #d7e5dd;border-radius:10px;background-color:#fff;background-image:linear-gradient(45deg,#e6eeea 25%,transparent 25%),linear-gradient(-45deg,#e6eeea 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e6eeea 75%),linear-gradient(-45deg,transparent 75%,#e6eeea 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.character-source-preview[hidden]{display:none}
.bottom-more-panel #gallery-shortcut-count{float:right;color:#7a9583;font-size:11px}
.generation-banner{scroll-margin-top:18px}.generation-copy{min-width:0;flex:1}.generation-clock{display:flex;flex-direction:column;align-items:flex-end;flex:none;margin-left:auto;white-space:nowrap}.generation-clock strong{font-size:18px;font-variant-numeric:tabular-nums}.generation-clock small,.generation-copy small{font-size:10px;color:#6b917a}.generation-copy small{display:block;margin-top:4px}.generation-copy small[hidden]{display:none}
.sheet-workbench{margin:-4px 0 18px;padding:13px;border:1px solid #cfe5d7;border-radius:12px;background:#fff;scroll-margin-top:18px}.sheet-workbench[hidden]{display:none}
.sheet-workbench-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;margin-bottom:10px;color:#175d49;font-size:12px}.sheet-workbench-heading span{color:#789085;font-size:10px}
.sheet-workbench-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.sheet-workbench-cell{position:relative;min-width:0;aspect-ratio:7/6;border:1px dashed #b6d9c3;border-radius:6px;background:linear-gradient(100deg,#f3f9f4 20%,#e5f4e9 38%,#f3f9f4 58%);background-size:240% 100%;animation:sheet-shimmer 2.3s linear infinite;animation-delay:var(--cell-delay);overflow:hidden;padding:5px}.sheet-workbench-cell b{position:relative;z-index:1;color:#4d8067;font-size:10px}.sheet-workbench-cell span{position:absolute;bottom:4px;left:5px;right:5px;color:#598673;font-size:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes sheet-shimmer{to{background-position-x:-240%}}
.card-generating{background:linear-gradient(110deg,#eefaf1ea,#dff4e8e8,#eefaf1ea);background-size:250% 100%;animation:sheet-shimmer 2.2s linear infinite;animation-delay:var(--card-delay)}
.card-generating::before{content:'✦';position:absolute;top:12%;left:13%;font-size:18px;color:#80c2a0;animation:card-float 2.8s ease-in-out infinite alternate}.card-generating::after{content:'✦';position:absolute;right:15%;bottom:18%;font-size:13px;color:#80c2a0;animation:card-float 2.2s ease-in-out infinite alternate-reverse}
@keyframes card-float{to{transform:translateY(12px) rotate(18deg);opacity:.45}}
input:not([type=file]),textarea,select{scroll-margin-top:80px;scroll-margin-bottom:calc(var(--bottom-menu-height) + 26px)}
@media(max-width:700px){:root{--bottom-menu-height:104px}.bottom-menu{display:block;padding:8px 10px calc(9px + env(safe-area-inset-bottom))}.bottom-menu #bottom-menu-status{display:block;margin:0 0 6px;text-align:center;font-size:11px}.bottom-menu-actions{gap:6px}.bottom-menu-actions>button{min-height:48px;padding:7px 8px;font-size:11px}.bottom-menu-actions #generate-sticky{font-size:12px;flex:2.2}.bottom-menu-actions .bottom-more{flex:0 0 42px;font-size:19px}.generation-banner{padding:12px;gap:9px}.generation-orbit{width:36px;height:36px}.generation-clock strong{font-size:15px}.sheet-workbench{padding:9px}}
@media(max-width:370px){.bottom-menu-actions #generate-sticky{font-size:11px}.bottom-menu-actions>button{padding:6px 5px}}
@media(prefers-reduced-motion:reduce){.sheet-workbench-cell,.card-generating,.card-generating::before,.card-generating::after{animation:none}}

.saved-sheets-panel{margin:0 0 22px;padding:15px;border:1px solid #cfe1d6;border-radius:12px;background:#fff;scroll-margin-top:20px}
.saved-sheets-panel p{margin:11px 0;color:#6d8476;font-size:12px;line-height:1.5}
.saved-sheets-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px}
.saved-sheets-list button{min-width:0;padding:12px;border:1px solid #d6e7dc;border-radius:9px;background:#f8fcf9;color:#315b49;text-align:left}
.saved-sheets-list button:hover{border-color:#87c9a5;background:#edf8f1}
.saved-sheets-list strong,.saved-sheets-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saved-sheets-list strong{font-size:12px}.saved-sheets-list span{margin-top:5px;color:#708d7b;font-size:11px}
.admin-page{width:min(720px,calc(100% - 32px));margin:40px auto 90px}
.admin-page h1{margin:8px 0 12px}.admin-page>p{color:#5c7768;font-size:14px;line-height:1.6}
.admin-settings-card{padding:24px;border:1px solid #d4e6d9;border-radius:14px;background:#fff}
.admin-settings-card[hidden]{display:none}
.admin-settings-card h2{margin:0 0 9px;font-size:19px}.admin-settings-card p{color:#5c7768;font-size:13px;line-height:1.6}
.admin-toggle{display:flex;align-items:center;gap:10px;margin:18px 0;font-weight:800;color:#244d3c}
.admin-toggle input{width:20px;height:20px;accent-color:#087f64}
.admin-settings-card #admin-save-status{margin:12px 0 0}
@media(min-width:900px){body:has(.admin-page){overflow:auto}}
@media(max-width:700px){:root{--bottom-menu-height:calc(104px + env(safe-area-inset-bottom))}.bottom-menu-actions #generate-sticky{font-size:11px}}

/* Keep the chosen phrases in view while the user scrolls through setup. */
.selection-tray{height:68px;position:sticky;top:74px;z-index:9;background:#f0faf4;border-bottom:1px solid #c9e5d4;box-shadow:0 5px 18px #173d2918}
.selection-tray[hidden]{display:none}
.selection-tray-inner{max-width:1720px;height:100%;margin:auto;padding:9px clamp(20px,3vw,48px);display:flex;align-items:center;gap:16px;min-width:0}
.selection-tray-count{flex:none;color:#17664d;font-size:13px;white-space:nowrap}
.selection-tray .selected-messages{min-width:0;min-height:0;flex:1;display:flex;flex-wrap:nowrap;align-items:center;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:3px 1px 5px}
.selection-tray .selected-chip{flex:none;min-height:39px;background:#fff;border-color:#a7d8bd}
.selection-tray .selected-chip.is-arriving{opacity:0}
.message-flight{position:fixed;z-index:30;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:8px 12px;border:1px solid #087f64;border-radius:999px;background:#087f64;color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 24px #087f6460;pointer-events:none}
@media(min-width:900px){body.has-selection-tray .workspace{height:calc(100dvh - 74px - var(--bottom-menu-height) - 68px)}}
@media(max-width:700px){.selection-tray{top:62px}.selection-tray-inner{gap:10px;padding:8px 14px}.selection-tray-count{font-size:11px}.selection-tray .selected-chip{min-height:42px}}
.bottom-more-panel{max-height:min(68dvh,540px);overflow-y:auto;overscroll-behavior:contain}

.active-favorite{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid #b5ddc4;border-radius:8px;background:#eef9f1;color:#17664d;font-size:11px;font-weight:800}
.active-favorite[hidden]{display:none}
.active-favorite button,.character-favorites-heading button{border:0;background:transparent;color:#087f64;font-size:11px;font-weight:800;white-space:nowrap}
.character-favorites{margin-top:20px;padding-top:16px;border-top:1px solid #e5eee8}
.character-favorites-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#244d3e;font-size:12px}
.character-favorites #favorites-status{margin:9px 0 0;color:#738a7d;font-size:11px;line-height:1.5}
.favorites-list{display:grid;gap:8px;margin-top:9px}
.favorite-character-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid #d4e5d9;border-radius:9px;background:#f9fcfa}
.favorite-character-card.is-active{border-color:#70b995;background:#edf9f1}
.favorite-character-card img{width:56px;height:56px;object-fit:contain;border-radius:7px;background-color:#fff;background-image:linear-gradient(45deg,#e5ece9 25%,transparent 25%),linear-gradient(-45deg,#e5ece9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5ece9 75%),linear-gradient(-45deg,transparent 75%,#e5ece9 75%);background-size:14px 14px}
.favorite-character-placeholder{display:grid;place-items:center;width:56px;height:56px;border-radius:7px;background:#eaf6ee;color:#087f64;font-size:25px}
.favorite-character-info{min-width:0}
.favorite-character-info strong,.favorite-character-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.favorite-character-info strong{font-size:11px;color:#244d3e}
.favorite-character-info small{margin-top:2px;color:#7a9084;font-size:10px}
.favorite-character-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.favorite-character-actions button,.gallery-favorite{min-height:31px;padding:5px 8px;border:1px solid #b8dcca;border-radius:7px;background:#fff;color:#087f64;font-size:10px;font-weight:800}
.favorite-character-actions button:first-child{background:#087f64;color:#fff;border-color:#087f64}
.gallery-favorite{width:100%;margin-top:6px;font-size:11px}
.gallery-favorite[aria-pressed="true"]{background:#e9f7ed;color:#087f64;border-color:#87c9a5}
.bottom-action-group{display:grid;gap:2px;padding:5px 0;border-top:1px solid #e5eee8}
.bottom-action-group:first-child{border-top:0}
.bottom-action-group[hidden],.saved-sheets-panel[hidden]{display:none}
.bottom-action-group>strong{padding:6px 12px 2px;color:#789085;font-size:10px;letter-spacing:.06em}
.bottom-more-panel button[hidden],.bottom-more-panel a[hidden]{display:none}
.sheet-preview-controls select{min-height:40px;padding:6px 10px;border:1px solid #cfe1d6;border-radius:7px;background:#fff;color:#315d4c;font-size:12px;font-weight:700}
.saved-sheets-panel h3{margin:0;color:#126b54;font-size:14px}
.sticker-card[role="button"]{cursor:pointer;outline-offset:3px;transition:border-color .15s,box-shadow .15s}
.sticker-card[role="button"]:hover{border-color:#82c9a5}
.sticker-card[role="button"]:focus-visible{outline:3px solid #95d8c5}
.sticker-card.is-selected{border:2px solid #087f64;box-shadow:0 0 0 3px #bde8d3}
.card-select-hint{display:block;margin-top:8px;color:#087f64;font-size:11px;font-weight:800}

/* Keep the workspace focused on the form and sticker cards. */
.brand-title{font:inherit;line-height:1;margin:0}
.topbar .status-pill{font-size:0;gap:0}
.topbar .status-pill:before{width:9px;height:9px}
.topbar .member-summary{display:block;padding:5px 9px;border:1px solid #d6e8dd;border-radius:999px;background:#f3faf6}
.topbar .member-summary strong{font-size:11px;line-height:1;white-space:nowrap;overflow-wrap:normal}
.workspace{padding-top:18px}
.sidebar>.control-section:first-child{border-top:0}
@media(max-width:700px){.workspace{padding-top:12px}.topbar .member-summary{padding:5px 7px}.topbar .member-summary strong{font-size:10px}}
