.template-catalog{--template-accent:#f1487e;--template-accent-soft:#fff5f8;--template-ink:#1f1f27;--template-muted:#3c3c439e;--template-border:#00000014;background:radial-gradient(80% 50% at 50% -10%,#f1487e1a,#0000 60%),linear-gradient(#fff 0%,#fafafb 100%);padding:32px 20px 72px}.template-catalog__inner{width:min(1180px,100%);margin:0 auto}.template-catalog__hero{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:12px 0 32px;display:flex}.template-catalog__badge{background:var(--template-accent-soft);color:var(--template-accent);letter-spacing:.02em;border:1px solid #f1487e2e;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.template-catalog__hero h1{letter-spacing:-.02em;color:var(--template-ink);margin:0;font-size:clamp(24px,3.5vw,32px);font-weight:600;line-height:1.25}.template-catalog__hero p{max-width:52ch;color:var(--template-muted);margin:0;font-size:14px;font-weight:400;line-height:1.65}.template-catalog__cta{border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.template-catalog__cta--primary{color:#fff;background:#111;border:1px solid #111}.template-catalog__cta--primary:hover{background:#2a2a2a;border-color:#2a2a2a}.template-catalog__cta--ghost{border:1px solid var(--template-border);color:var(--template-ink);background:#fff}.template-catalog__cta--ghost:hover{border-color:#00000029}.template-catalog__tabs-wrap{flex-direction:column;gap:16px;display:flex}.template-catalog__mode-switch{background:#f5f5f5;border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:420px;margin:0 auto;padding:4px;display:grid}.template-catalog__mode-switch__btn{color:#666;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:500;transition:background-color .2s,box-shadow .2s,color .2s}.template-catalog__mode-switch__btn.is-active{color:#333;background:#fff;box-shadow:0 1px 3px #00000014}.template-catalog__tab-desc{text-align:center;color:var(--template-muted);margin:0;font-size:14px;line-height:1.55}.template-catalog__tab-count{text-align:center;color:#3c3c437a;letter-spacing:.01em;margin:0;font-size:13px;font-weight:600}.template-tile__badge{z-index:2;color:#fff;letter-spacing:.02em;background:#111114b8;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.template-catalog__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.template-tile{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:14px;width:100%;padding:0;transition:transform .22s;display:block;overflow:hidden}.template-tile:hover{transform:translateY(-2px)}.template-tile:focus-visible{outline:2px solid var(--template-accent);outline-offset:3px}.template-tile__media{aspect-ratio:10/17;background:linear-gradient(160deg,#f7e8ee 0%,#efe6f8 100%);border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 6px 18px #0f0f1414}.template-tile__media img{object-fit:cover}.template-tile__placeholder{color:#3c3c4373;text-align:center;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;font-size:13px;font-weight:600;display:flex}.template-tile__hover{opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#000000b8 55%,#000000e0 100%);flex-direction:column;gap:8px;padding:28px 12px 12px;transition:opacity .22s,transform .22s;display:flex;position:absolute;inset:auto 0 0;transform:translateY(6px)}.template-tile:hover .template-tile__hover,.template-tile:focus-visible .template-tile__hover{opacity:1;transform:translateY(0)}.template-tile__hover-title{color:#fff;margin:0;font-size:14px;font-weight:700;line-height:1.3}.template-tile__hover-tags{flex-wrap:wrap;gap:6px;display:flex}.template-tile__hover-tag{color:#ffffffeb;background:#ffffff2e;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.template-modal{z-index:1200;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.template-modal__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#11111485;border:0;position:absolute;inset:0}.template-modal__panel{z-index:1;background:#f4f4f6;border-radius:20px;width:min(920px,100%);max-height:min(88vh,760px);position:relative;overflow:auto;box-shadow:0 24px 64px #00000038}.template-modal__panel--picker{background:linear-gradient(#fff 0%,#fafafb 100%);width:min(1180px,100%);max-height:min(92vh,920px)}.template-picker__header{padding:28px 28px 0}.template-picker__title{color:var(--template-ink);margin:0;padding-right:40px;font-size:clamp(18px,2.5vw,22px);font-weight:600}.template-picker__desc{color:var(--template-muted);margin:8px 0 0;font-size:14px;line-height:1.55}.template-picker__body{max-height:calc(min(92vh,920px) - 108px);padding:12px 28px 28px;overflow-y:auto}.template-catalog__empty-text{text-align:center;color:var(--template-muted);margin:0;padding:32px 0;font-size:14px}@media (min-width:861px){@keyframes template-modal-in-desktop{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.template-modal--animated .template-modal__backdrop{opacity:0;transition:opacity .36s}.template-modal--animated.is-open .template-modal__backdrop{opacity:1}.template-modal--animated.is-closing .template-modal__backdrop{opacity:0;transition:opacity .3s}@keyframes template-modal-out-desktop{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.98)}}.template-modal--animated:not(.is-open):not(.is-closing) .template-modal__panel{opacity:0;transform:translateY(24px)scale(.96)}.template-modal--animated.is-open .template-modal__panel{animation:.38s cubic-bezier(.32,.72,0,1) forwards template-modal-in-desktop}.template-modal--animated.is-closing .template-modal__panel{animation:.34s forwards template-modal-out-desktop}}.template-modal__close{z-index:2;color:#333;cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 2px 10px #0000001a}.template-modal__close svg{fill:currentColor;width:18px;height:18px}.template-modal__handle{display:none}.template-detail{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;min-height:520px;display:grid}.template-detail__preview{background:#ececee;justify-content:center;align-items:center;padding:36px 28px;display:flex}.template-detail__preview-frame{aspect-ratio:10/17;background:#fff;border-radius:16px;width:min(100%,280px);position:relative;overflow:hidden;box-shadow:0 16px 40px #00000024}.template-detail__preview-frame img{object-fit:cover}.template-detail__preview-placeholder{width:100%;height:100%;color:var(--template-muted);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:15px;font-weight:600;display:flex}.template-detail__info{flex-direction:column;gap:14px;padding:32px 28px 28px 8px;display:flex}.template-detail__title{color:var(--template-ink);margin:0;padding-right:36px;font-size:clamp(18px,2.5vw,22px);font-weight:600;line-height:1.3}.template-detail__desc{color:var(--template-muted);margin:0;font-size:14px;line-height:1.55}.template-detail__tags{flex-wrap:wrap;gap:8px;display:flex}.template-detail__tag{border:1px solid var(--template-border);color:#3c3c43c7;background:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.template-detail__features h3{color:var(--template-ink);margin:4px 0 10px;font-size:15px;font-weight:700}.template-detail__features ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0;padding:0;list-style:none;display:grid}.template-detail__features li{color:#282830e0;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.template-detail__feature-icon{border-radius:999px;flex-shrink:0;width:22px;height:22px}.template-detail__feature-icon--pink{background:#ffd8e6}.template-detail__feature-icon--blue{background:#d8e8ff}.template-detail__feature-icon--green{background:#d8f5e4}.template-detail__feature-icon--purple{background:#e8ddff}.template-detail__feature-icon--coral{background:#ffe0d6}.template-detail__feature-icon--amber{background:#ffecd0}.template-detail__notes{flex-direction:column;gap:4px;margin-top:auto;display:flex}.template-detail__notes p{color:#3c3c438c;margin:0;font-size:12px;line-height:1.45}.template-detail__actions{grid-template-columns:1.2fr 1fr;gap:10px;padding-top:6px;display:grid}.template-detail__actions:has(:only-child){grid-template-columns:1fr}.template-detail__btn{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.template-detail__btn:disabled{cursor:not-allowed;opacity:.65}.template-detail__btn svg{fill:currentColor;width:18px;height:18px}.template-detail__btn--primary{border:1px solid var(--template-accent);background:var(--template-accent);color:#fff}.template-detail__btn--primary:hover{background:#e03a6e;border-color:#e03a6e}.template-detail__btn--ghost{color:var(--template-ink);background:#fff;border:1px solid #00000024}.template-detail__btn--ghost:hover{background:#fafafa}.template-catalog__empty{border:1px dashed var(--template-border);text-align:center;background:#ffffffb3;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:56px 20px;display:flex}.template-catalog__empty h2{margin:0;font-size:17px;font-weight:600}.template-catalog__empty p{max-width:40ch;color:var(--template-muted);margin:0;font-size:15px;line-height:1.6}@media (max-width:1100px){.template-catalog__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:860px){.template-catalog{padding:24px 16px 56px}.template-catalog__hero{padding-bottom:24px}.template-catalog__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.template-modal{justify-content:stretch;align-items:flex-end;padding:0}.template-modal__handle{background:#00000029;border-radius:999px;flex-shrink:0;width:40px;height:4px;margin:10px auto 4px;display:block}.template-modal__panel{width:100%;max-width:none;max-height:min(92dvh,92vh);padding-bottom:env(safe-area-inset-bottom,0px);-webkit-overflow-scrolling:touch;border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #0000002e}@keyframes template-modal-in-mobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.template-modal--animated .template-modal__backdrop{opacity:0;transition:opacity .36s}.template-modal--animated.is-open .template-modal__backdrop{opacity:1}.template-modal--animated.is-closing .template-modal__backdrop{opacity:0;transition:opacity .3s}@keyframes template-modal-out-mobile{0%{transform:translateY(0)}to{transform:translateY(100%)}}.template-modal--animated:not(.is-open):not(.is-closing) .template-modal__panel{transform:translateY(100%)}.template-modal--animated.is-open .template-modal__panel{animation:.4s cubic-bezier(.32,.72,0,1) forwards template-modal-in-mobile}.template-modal--animated.is-closing .template-modal__panel{animation:.34s cubic-bezier(.4,0,.2,1) forwards template-modal-out-mobile}.template-modal__close{background:#f4f4f6f2;top:12px;right:12px}.template-detail{grid-template-columns:1fr;min-height:auto}.template-detail__preview{background:#f4f4f6;padding:20px 20px 8px}.template-detail__preview-frame{width:min(100%,200px);margin:0 auto;box-shadow:0 10px 28px #0000001f}.template-detail__info{padding:4px 20px calc(20px + env(safe-area-inset-bottom,0px))}.template-detail__title{padding-right:40px;font-size:18px}.template-detail__features{display:none}.template-detail__actions{z-index:1;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(#f4f4f600 0%,#f4f4f6eb 24%,#f4f4f6 100%);margin:0 -20px;position:sticky;bottom:0}}@media (max-width:520px){.template-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.template-tile__media{border-radius:12px}.template-tile__hover{opacity:1;padding-top:20px;transform:none}.template-tile__hover-title{font-size:12px}.template-detail__actions{grid-template-columns:1.2fr 1fr}}
