@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Pangolin&display=swap";@font-face{font-family:HandFont;src:url(/assets/HandFont-DH6GgzGF.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#fff;color:#18181b}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fff;-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px 24px 50px}.hero{text-align:center;display:flex;flex-direction:column;align-items:center;padding:50px 12px}.logo-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}.logo-link svg{display:block}.hero h1{font-size:24px;font-weight:600;letter-spacing:.02em;margin:24px 0 10px}.hero p{margin:0;color:#52525c;font-size:16px}.hero .buttons{margin-top:24px}.hero-actions{position:relative;display:inline-flex;align-items:center;gap:0}.hero-actions .done-btn{width:0;padding-left:0;padding-right:0;margin-right:0;opacity:0;transform:translate(18px);overflow:hidden;transition:width .3s ease,padding .3s ease,margin .3s ease,opacity .2s ease,transform .3s ease}.hero-actions.dirty .done-btn{width:auto;padding-left:18px;padding-right:18px;margin-right:8px;opacity:1;transform:translate(0)}.hero-actions .clear-btn{position:relative;z-index:1}.hero-actions .clear-btn.primary{background:#111;color:#fff}.name-actions{margin-top:24px;display:inline-flex;gap:12px;align-items:center}.name-input{min-width:220px;border:1px solid rgba(0,0,0,.2);border-radius:999px;padding:9px 16px;font-size:14px;font-family:inherit;outline:none}.result-actions{margin-top:24px;display:flex;flex-direction:column;gap:12px;align-items:center}.share-link{padding:10px 16px;border-radius:999px;border:1px dashed rgba(0,0,0,.2);background:#f8f8f8;font-size:13px;color:#52525c}.card{background:#fff;border-radius:12px;display:flex;flex-direction:column;background:#f3f3f3}.card-header{padding:6px;height:55px;width:100%;border-bottom:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center}.share-header{padding:16px 20px;height:auto}.share-link-row{display:inline-flex;align-items:center;gap:12px;font-size:14px;color:#1f2937;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.share-link-row span{padding:8px 14px;border-radius:999px;border:1px dashed rgba(0,0,0,.2)}.copy-btn{width:36px;height:36px;border-radius:999px;padding:0;display:grid;place-items:center;background:#111;color:#fff}.copy-btn svg{width:18px;height:18px;fill:currentColor}.canvas-wrap{width:100%;display:flex;justify-content:center;align-items:center;padding:40px;position:relative;-webkit-font-smoothing:auto}.canvas-viewport{position:relative;display:inline-block;max-width:100%;max-height:100%}.canvas-hint{position:absolute;top:-20px;right:81px;display:inline-flex;align-items:center;gap:8px;color:#7d7d86;font-size:13px;font-weight:500}.canvas-hint span{font-family:HandFont,Pangolin,sans-serif;position:absolute;white-space:nowrap;top:-32px;right:-39px;font-size:16px}.hint-mobile{display:none}.canvas-hint svg{width:44px;height:44px}.canvas-hint path{fill:none;stroke:#7d7d86;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.canvas-stage{position:absolute;top:0;left:0;width:544px;height:718px;cursor:text;border-radius:16px;background:#fff;background-image:linear-gradient(to right,rgba(0,0,0,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.12) 1px,transparent 1px);background-size:16px 16px;overflow:hidden;box-shadow:#0000001a 0 4px 12px;transform-origin:top left;touch-action:none}.share-page .canvas-stage,.page .canvas-stage img{touch-action:pan-y}.canvas-stage img{width:100%;height:100%;border-radius:16px;display:block}.canvas-text{position:absolute;transform:translateY(-1px);padding:0;border:none;margin:0;box-sizing:content-box;background:transparent;font-size:20px;font-family:HandFont,Pangolin,sans-serif;color:#161616;caret-color:#111;line-height:1.3;min-width:2px;outline:none;box-shadow:none;z-index:1;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration:none;-webkit-text-decoration-line:none;text-decoration-line:none;-webkit-text-fill-color:#161616;resize:none;overflow:hidden;white-space:pre}.canvas-text.readonly{-webkit-user-select:none;user-select:none;cursor:move}.canvas-text.editing{cursor:text;z-index:2}.canvas-text.selected{box-shadow:0 0 0 1px #4081ff80;border-radius:0}.canvas-text.dragging{box-shadow:none}.canvas-sticker{position:absolute;border:none;background:transparent;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:move;z-index:1}.canvas-sticker.dragging{opacity:.8}.canvas-sticker.selected{box-shadow:0 0 0 1px #4081ff80;border-radius:0}.canvas-picker{position:absolute;transform:translateY(-50%);display:inline-flex;gap:2px;padding:2px;border-radius:6px;background:#f3f3f3;z-index:3;opacity:.5;transition:all .2s ease}.canvas-picker:hover{opacity:1}.canvas-picker button{padding:8px 14px;font-size:13px;font-family:HandFont,Pangolin,sans-serif}.canvas-picker button:first-child{border-radius:4px 0 0 4px}.canvas-picker button:last-child{border-radius:0 4px 4px 0}.canvas-picker button:hover{transform:none!important;background:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f0f66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-card{width:min(520px,100%);background:#fff;border-radius:16px;padding:20px;box-shadow:0 24px 60px #0003;transform:translateY(12px) scale(.98);transition:transform .25s ease}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-overlay.open .modal-card{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h3{margin:0;font-size:18px;font-family:HandFont,Pangolin,sans-serif}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;max-height:360px;overflow-y:auto;padding-right:6px}.sticker-item{border-radius:12px;padding:16px;background:#fafafa;display:grid;place-items:center}.sticker-item img{width:64px;height:64px}.konva-export{position:absolute;left:-9999px;top:-9999px;width:0;height:0;overflow:hidden}.buttons{display:flex;align-items:center;margin-top:24px}.footer{margin-top:50px;font-size:16px;color:#52525c}.footer a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}button{border:none;border-radius:999px;padding:10px 18px;font-size:14px;font-family:inherit;cursor:pointer;transition:transform .15s ease;-webkit-font-smoothing:auto}button:disabled{opacity:.6;cursor:not-allowed}button:hover:not(:disabled){transform:translateY(-1px)}a.button-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 18px;font-size:14px;font-family:inherit;cursor:pointer;transition:transform .15s ease;text-decoration:none}a.button-link:hover{transform:translateY(-1px)}a.button-link.primary{background:#121212;color:#fff}a.button-link.ghost{background:#f3f3f3;color:#1f1f1f}.bottom-panel{position:fixed;left:0;right:0;bottom:0;display:none;gap:12px;padding:12px 16px 18px;background:#fffffff2;border-top:1px solid rgba(0,0,0,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:15}.bottom-panel button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.ghost{background:#f3f3f3;color:#1f1f1f}button.primary{background:#121212;color:#fff}.share-header h2{margin:0 0 4px;font-size:22px}.share-header p{margin:0;color:#6b6b6b}.error{color:#b00020;font-weight:500}@media (max-width: 640px){.page{padding:16px 16px 50px}.page.editor-page{padding-bottom:100px}.hero{padding:28px 8px}.hero h1{font-size:20px}.hero p{font-size:14px}.name-actions{flex-direction:column;width:100%}.name-input{width:100%;min-width:0;font-size:16px}.card{width:100%}.canvas-wrap{padding:20px 12px 28px}.share-page .canvas-stage{width:100%;height:auto;position:static}.share-page .canvas-viewport{height:auto!important}.canvas-hint{top:-27px;right:40px}.canvas-hint span{top:-26px;right:-8px}.hint-desktop{display:none}.hint-mobile{display:inline}.share-link-row{flex-wrap:wrap;justify-content:center;gap:8px;text-align:center}.share-link-row span{width:100%;text-align:center;max-width:350px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.buttons{max-width:100%;justify-content:space-between}.bottom-panel{display:flex}}
