:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;color:#1d1d1f;background:#f5f5f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:#f5f5f7}body{margin:0;min-width:320px;min-height:100vh;background:#f5f5f7}button,input,textarea,select{font:inherit}button{min-height:44px;border:0;border-radius:999px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.center-shell,.invite-page,.studio-page,.admin-page{min-height:100vh}.center-shell,.invite-page{display:grid;place-items:center;padding:24px}.invite-card,.panel,.control-panel,.result-panel,.admin-shell{border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#ffffffd1;box-shadow:0 22px 70px #00000014}.invite-card{width:min(100%,620px);padding:clamp(28px,6vw,64px)}.eyebrow{margin:0 0 10px;color:#6e6e73;font-size:.78rem;font-weight:650;letter-spacing:0;text-transform:none}h1{margin:0;color:#1d1d1f;font-size:clamp(2.25rem,6vw,4.6rem);line-height:1.04;letter-spacing:0}.invite-form{display:grid;gap:12px;margin-top:32px}label{color:#424245;font-size:.92rem;font-weight:620}input,textarea,select{width:100%;border:1px solid #d2d2d7;border-radius:8px;background:#ffffffeb;color:#1d1d1f;outline:none}input,select{min-height:46px;padding:0 14px}.file-input{display:grid;align-items:center;padding:10px 14px}textarea{min-height:180px;padding:14px;resize:vertical;line-height:1.5}input:focus,textarea:focus,select:focus,button:focus-visible{outline:3px solid rgba(0,113,227,.25);outline-offset:2px}.invite-form button,.control-row button,.admin-form button,.invite-result button{background:#0071e3;color:#fff;font-weight:650;padding:0 22px}.form-success{margin:0;color:#137333;font-size:.92rem}.admin-page{display:grid;place-items:center;padding:24px}.admin-shell{display:grid;gap:22px;width:min(100%,760px);padding:clamp(24px,5vw,52px)}.admin-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.admin-heading h1{max-width:10ch;font-size:clamp(2.2rem,6vw,4rem)}.admin-heading a{display:grid;min-height:44px;place-items:center;border:1px solid #d2d2d7;border-radius:999px;padding:0 16px;color:#1d1d1f;font-weight:650;text-decoration:none;white-space:nowrap}.admin-form{display:grid;gap:12px}.admin-fields{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px}.admin-fields>div{display:grid;gap:8px}.invite-result,.admin-empty{border:1px solid #d2d2d7;border-radius:8px;background:#f5f5f7}.invite-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px}.invite-result div{display:grid;min-width:0;gap:5px}.invite-result span,.admin-empty p{margin:0;color:#6e6e73;font-size:.9rem}.invite-result strong{overflow-wrap:anywhere;color:#1d1d1f;font-size:clamp(1.2rem,4vw,1.65rem);letter-spacing:0}.admin-empty{padding:18px}.form-error{margin:0;color:#b42318;font-size:.92rem}.studio-page{width:min(100%,1240px);margin:0 auto;padding:28px}.studio-header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.studio-header h1{font-size:clamp(2.1rem,4vw,3.8rem)}.quota-pill{border:1px solid #d2d2d7;border-radius:999px;background:#fff;padding:10px 14px;color:#424245;white-space:nowrap}.tabs{display:flex;gap:6px;width:fit-content;max-width:100%;margin-bottom:18px;padding:4px;border:1px solid #d2d2d7;border-radius:999px;background:#ffffffb8}.tabs button,.chip-grid button{background:transparent;color:#424245;padding:0 16px}.tabs button.active,.chip-grid button.selected{background:#1d1d1f;color:#fff}.studio-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);gap:18px}.control-panel,.result-panel,.panel{padding:clamp(18px,3vw,28px)}.control-panel{display:grid;align-content:start;gap:16px}.control-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.control-row button{grid-column:span 1}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip-grid button{border:1px solid #d2d2d7}.result-panel{min-height:540px}.result-panel>p{margin:0;color:#6e6e73}.empty-canvas{display:grid;place-items:center;min-height:440px;margin-top:18px;border:1px solid #d2d2d7;border-radius:8px;color:#6e6e73;background:radial-gradient(circle at 50% 35%,#ffffffe6,#fff0 32%),linear-gradient(145deg,#eceff3,#f8f3eb)}.loading{animation:pulse 1.8s ease-in-out infinite}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.result-grid img{width:100%;border:1px solid #d2d2d7;border-radius:8px;background:#fff}.source-preview{display:grid;place-items:center;min-height:440px;margin-top:18px;border:1px solid #d2d2d7;border-radius:8px;background:#f5f5f7}.source-preview img{width:min(100%,560px);max-height:520px;border-radius:8px;object-fit:contain}.history-panel{display:grid;gap:16px}.empty-history{display:grid;place-items:center;min-height:220px;border:1px solid #d2d2d7;border-radius:8px;color:#6e6e73;background:#ffffffb8}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.history-card{display:grid;overflow:hidden;border:1px solid #d2d2d7;border-radius:8px;background:#fff}.history-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#f5f5f7}.history-copy{display:grid;gap:6px;padding:12px 12px 0}.history-copy p{display:-webkit-box;overflow:hidden;margin:0;color:#1d1d1f;font-weight:620;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.history-copy time{color:#6e6e73;font-size:.84rem}.history-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.history-actions a,.history-actions button{display:grid;min-height:36px;place-items:center;border-radius:999px;background:#f5f5f7;color:#1d1d1f;font-size:.85rem;font-weight:650;text-align:center;text-decoration:none}.history-actions button{padding:0 10px}.history-actions button:last-child{background:#fff1f0;color:#b42318}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@media(max-width:900px){.studio-page{padding:18px}.studio-header{align-items:start;flex-direction:column}.tabs{width:100%;overflow-x:auto}.tabs button{flex:1 0 auto}.studio-grid,.control-row{grid-template-columns:1fr}.result-panel{min-height:auto}.empty-canvas,.source-preview{min-height:320px}}@media(max-width:560px){.invite-page,.studio-page,.admin-page{padding:12px}.invite-card,.control-panel,.result-panel,.panel,.admin-shell{padding:20px}h1{font-size:2.2rem}.admin-heading,.invite-result{align-items:stretch;grid-template-columns:1fr}.admin-heading{display:grid}.admin-heading h1{max-width:100%}.admin-fields{grid-template-columns:1fr}}
