.cgl-v2{--cgl-bg:#faf9f6;--cgl-card:#ffffff;--cgl-sunken:#f2f0ea;--cgl-text:#2c3e2c;--cgl-text-2:#5b6b5a;--cgl-text-3:#8a9488;--cgl-primary:#7fa96f;--cgl-primary-d:#5e8a52;--cgl-primary-bg:#eaf1e6;--cgl-gold:#b98a2f;--cgl-gold-bg:#f7f1e3;--cgl-danger:#c0554b;--cgl-line:#e4e2d9;--cgl-radius-card:20px;--cgl-radius-sm:12px;--cgl-shadow:0 1px 3px rgba(44,62,44,0.07),0 8px 24px rgba(44,62,44,0.06)}.cgl-v2,.cgl-v2 *{box-sizing:border-box}.cgl-v2{margin:0;padding:0;background:var(--cgl-bg);color:var(--cgl-text);font-family:-apple-system,BlinkMacSystemFont,Pretendard,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}.cgl-page{max-width:600px;margin:0 auto;min-height:100vh;min-height:100dvh;padding:0 20px calc(40px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.cgl-header{justify-content:space-between;min-height:48px;position:sticky;top:0;z-index:40;margin:0 -20px;padding:14px 20px;background:var(--cgl-bg)}.cgl-header,.cgl-header__brand{display:flex;align-items:center}.cgl-header__brand{font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--cgl-text);gap:8px}.cgl-header__icon-btn{border:none;background:none;padding:0;width:40px;height:40px;margin:0 -8px;justify-content:center;font-size:20px;line-height:1;cursor:pointer;color:var(--cgl-text-2);border-radius:12px}.cgl-header__icon-btn,.cgl-header__text-btn{display:inline-flex;align-items:center;text-decoration:none}.cgl-header__text-btn{gap:6px;min-height:40px;padding:0 16px;border-radius:999px;background:var(--cgl-primary-bg);color:var(--cgl-primary-d);font-size:15px;font-weight:700}.cgl-header__text-btn:active{background:#dde9d7}.cgl-header__text-btn{border:none;cursor:pointer;font-family:inherit}.cgl-header__text-btn:focus{outline:none}.cgl-header__text-btn:focus-visible{outline:2px solid var(--cgl-primary);outline-offset:2px}.cgl-header__actions{display:inline-flex;align-items:center;gap:4px;margin-right:-8px}.cgl-header__actions .cgl-header__icon-btn{margin:0}.cgl-header__search{flex:1;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;margin-right:8px;border-radius:12px;background:var(--cgl-card);border:1px solid var(--cgl-primary);color:var(--cgl-text-3)}.cgl-header__search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:15px;color:var(--cgl-text)}.cgl-header__spacer{width:24px}.cgl-inline-link{color:var(--cgl-text-2);text-decoration:underline;text-underline-offset:2px}.cgl-card{background:var(--cgl-card);border-radius:var(--cgl-radius-card);box-shadow:var(--cgl-shadow);padding:20px}.cgl-card--sunken{background:var(--cgl-sunken);box-shadow:none}.cgl-specimen{background:var(--cgl-card);border-radius:var(--cgl-radius-card);box-shadow:var(--cgl-shadow);padding:12px;position:relative}.cgl-specimen__img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-radius:calc(var(--cgl-radius-card) - 8px);display:block;background:var(--cgl-sunken)}.cgl-stamp{position:absolute;right:20px;bottom:20px;background:var(--cgl-card);border:1.5px solid var(--cgl-primary);color:var(--cgl-primary-d);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:var(--cgl-shadow)}.cgl-stamp--small{position:static;display:inline-block;padding:2px 8px;font-size:11px;box-shadow:none}.cgl-sci-name{font-family:Georgia,Times New Roman,serif;font-style:italic;color:var(--cgl-text-2)}.cgl-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;background:var(--cgl-primary-bg);color:var(--cgl-primary-d)}.cgl-badge--gold{background:var(--cgl-gold-bg);color:var(--cgl-gold)}.cgl-badge--line{background:transparent;border:1px solid var(--cgl-line);color:var(--cgl-text-2)}.cgl-chip{display:inline-block;background:var(--cgl-sunken);border-radius:var(--cgl-radius-sm);padding:5px 10px;font-size:13px;color:var(--cgl-text-2)}.cgl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--cgl-radius-sm);font-weight:700;cursor:pointer;transition:opacity .15s;font-size:15px}.cgl-btn:disabled{opacity:.5;cursor:not-allowed}.cgl-btn--primary{background:var(--cgl-primary);color:#fff;padding:16px 24px;font-size:16px;width:100%}.cgl-btn--primary:active{background:var(--cgl-primary-d)}.cgl-btn--ghost{padding:10px 16px}.cgl-btn--ghost,.cgl-btn--outline{background:transparent;color:var(--cgl-primary-d)}.cgl-btn--outline{border:1.5px solid var(--cgl-primary);padding:12px 20px}.cgl-btn--danger{background:var(--cgl-danger);color:#fff}.cgl-btn--gold{background:var(--cgl-gold);color:#fff;padding:16px 24px;font-size:16px;width:100%}.cgl-title{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0}.cgl-subtitle{font-size:15px;color:var(--cgl-text-2);margin:0;line-height:1.55}.cgl-caption{font-size:12px;color:var(--cgl-text-3);margin:0}.cgl-species-name{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0}.cgl-kv{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--cgl-line);font-size:14px}.cgl-kv:last-child{border-bottom:none}.cgl-kv__k{color:var(--cgl-text-3);min-width:56px;flex-shrink:0}.cgl-kv__v{color:var(--cgl-text)}@keyframes cgl-shimmer{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.cgl-skeleton{background:var(--cgl-sunken);border-radius:var(--cgl-radius-sm);animation:cgl-shimmer 1.4s ease-in-out infinite}@keyframes cgl-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cgl-section-enter{animation:cgl-fade-up .22s ease-out}.cgl-archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cgl-archive-card{background:var(--cgl-card);border-radius:16px;box-shadow:var(--cgl-shadow);overflow:hidden;cursor:pointer;border:none;padding:0;text-align:left;width:100%}.cgl-archive-card__img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block;background:var(--cgl-sunken)}.cgl-archive-card__body{padding:10px 12px 12px}.cgl-lock-panel{background:var(--cgl-sunken);border-radius:var(--cgl-radius-card);padding:24px 20px;text-align:center;border:1px dashed var(--cgl-line);cursor:pointer;width:100%}.cgl-lock-panel__cta{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;min-height:48px;border-radius:var(--cgl-radius-sm);background:var(--cgl-gold);color:#fff;font-size:16px;font-weight:700;box-shadow:0 6px 16px rgba(185,138,47,.25)}.cgl-lock-panel:active .cgl-lock-panel__cta{opacity:.9}.cgl-ai-notice{font-size:12px;color:var(--cgl-text-3);display:flex;align-items:flex-start;gap:6px;line-height:1.5}.cgl-ai-notice:before{content:"ⓘ";flex-shrink:0}@keyframes cgl-progress{0%{width:12%}50%{width:68%}to{width:88%}}.cgl-progress-track{height:6px;border-radius:3px;background:var(--cgl-sunken);overflow:hidden}.cgl-progress-fill{height:100%;background:var(--cgl-primary);border-radius:3px;animation:cgl-progress 8s ease-out forwards}.cgl-empty{flex-direction:column;gap:12px;text-align:center;padding:56px 24px}.cgl-empty,.cgl-empty__icon{display:flex;align-items:center}.cgl-empty__icon{width:64px;height:64px;border-radius:50%;background:var(--cgl-primary-bg);color:var(--cgl-primary-d);justify-content:center}.cgl-searchbar{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:16px;background:var(--cgl-card);border:1px solid var(--cgl-line);color:var(--cgl-text-3);font-size:15px;box-shadow:var(--cgl-shadow)}.cgl-searchbar:focus-within{border-color:var(--cgl-primary)}.cgl-searchbar input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;color:var(--cgl-text)}.cgl-searchbar input::-moz-placeholder{color:var(--cgl-text-3)}.cgl-searchbar input::placeholder{color:var(--cgl-text-3)}.cgl-result-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:16px;background:var(--cgl-card);border:1px solid var(--cgl-line);text-align:left;cursor:pointer;color:var(--cgl-text)}.cgl-result-row__img{width:56px;height:56px;border-radius:12px;-o-object-fit:cover;object-fit:cover;background:var(--cgl-sunken);color:var(--cgl-text-3);display:flex;align-items:center;justify-content:center;flex:none}.cgl-result-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cgl-result-row__name{font-weight:700;font-size:15px}.cgl-result-row__sci{font-size:12px;color:var(--cgl-text-3);font-style:italic}.cgl-sheet-opt{display:flex;align-items:center;gap:14px;width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--cgl-line);background:var(--cgl-card);color:var(--cgl-text);cursor:pointer;text-align:left;font-family:inherit;transition:background .15s ease}.cgl-sheet-opt:active{background:var(--cgl-sunken)}.cgl-sheet-opt--primary{background:var(--cgl-primary);border-color:var(--cgl-primary);color:#fff}.cgl-sheet-opt--primary:active{background:var(--cgl-primary-d)}.cgl-sheet-opt__icon{width:46px;height:46px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--cgl-primary-bg);color:var(--cgl-primary-d)}.cgl-sheet-opt--primary .cgl-sheet-opt__icon{background:rgba(255,255,255,.22);color:#fff}.cgl-sheet-opt__icon--gold{background:var(--cgl-gold-bg);color:var(--cgl-gold)}.cgl-sheet-opt__icon--gray{background:var(--cgl-sunken);color:var(--cgl-text-2)}.cgl-sheet-opt__body{flex:1;min-width:0}.cgl-sheet-opt__title{display:block;font-size:15.5px;font-weight:700}.cgl-sheet-opt__sub{display:block;font-size:12.5px;margin-top:2px;color:var(--cgl-text-3)}.cgl-sheet-opt--primary .cgl-sheet-opt__sub{color:rgba(255,255,255,.85)}.cgl-sheet-opt__chev{color:var(--cgl-text-3);display:flex;flex-shrink:0}.cgl-sheet-opt--primary .cgl-sheet-opt__chev{color:rgba(255,255,255,.75)}.cgl-premium{position:relative;overflow:hidden;display:block;border-radius:var(--cgl-radius-card);padding:20px;color:#f2f6ee;background:radial-gradient(130% 180% at 100% -20%,rgba(255,222,138,.22) 0,rgba(255,222,138,0) 55%),linear-gradient(135deg,#2e4527,#425e35 60%,#5e8a52);box-shadow:0 8px 24px rgba(46,69,39,.3)}.cgl-premium__badge{display:inline-block;padding:3px 10px;border-radius:999px;background:rgba(255,222,138,.16);color:#ffe4a6;border:1px solid rgba(255,222,138,.4);font-size:11.5px;font-weight:700}.cgl-premium__price{font-size:22px;font-weight:800;margin:12px 0 4px;letter-spacing:-.01em}.cgl-premium__trial{color:#ffe4a6;font-weight:600}.cgl-premium__sub{font-size:12.5px;opacity:.82;margin:0}.cgl-premium__leaf{position:absolute;right:38px;top:50%;transform:translateY(-50%) rotate(-18deg);opacity:.16;color:#fff;pointer-events:none}.cgl-premium__chev{position:absolute;right:14px;top:50%;transform:translateY(-50%);opacity:.75;display:flex}.cgl-hero-cta{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:32px 20px;border:none;border-radius:var(--cgl-radius-card);background:var(--cgl-sunken);font-family:inherit;color:var(--cgl-text);cursor:pointer;text-align:center;transition:transform .12s ease}.cgl-hero-cta:active{transform:scale(.985)}.cgl-hero-cta:focus{outline:none}.cgl-hero-cta:focus-visible{outline:2px solid var(--cgl-primary);outline-offset:2px}.cgl-hero-cta__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:4px;border-radius:20px;background:var(--cgl-primary);color:#fff;box-shadow:0 6px 16px rgba(94,138,82,.28)}.cgl-hero-cta__title{font-size:18px;font-weight:800;letter-spacing:-.02em}.cgl-hero-cta__meta{font-size:13px;color:var(--cgl-text-3)}.cgl-hero-cta__meta--warn{color:var(--cgl-danger)}.cgl-hero-cta__upsell{margin-top:4px;padding:6px 12px;border-radius:999px;background:var(--cgl-gold-bg);color:var(--cgl-gold);font-size:13px;font-weight:700}.cgl-quota-nudge{padding:20px;border-radius:var(--cgl-radius-card);background:var(--cgl-gold-bg);text-align:center}.cgl-quota-nudge__title{margin:0;font-size:16px;font-weight:800;color:var(--cgl-text)}.cgl-quota-nudge--out .cgl-quota-nudge__title{color:var(--cgl-danger)}.cgl-quota-nudge__sub{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--cgl-text-2)}.cgl-quota-nudge__cta{margin-top:14px;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:var(--cgl-radius-sm);background:var(--cgl-gold);color:#fff;font-size:16px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(185,138,47,.25)}.cgl-similar{border:none;background:var(--cgl-sunken);align-items:flex-start}div.cgl-similar{cursor:default}.cgl-similar__diff{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--cgl-text-2)}.cgl-keyword-chips{display:flex;flex-wrap:wrap;gap:8px}.cgl-keyword-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--cgl-line);background:var(--cgl-card);color:var(--cgl-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.cgl-keyword-chip:active{background:var(--cgl-primary-bg)}.cgl-keyword-chip__rank{color:var(--cgl-primary-d);font-weight:800;font-variant-numeric:tabular-nums}.cgl-carousel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cgl-carousel__title{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--cgl-text)}.cgl-carousel__all{display:inline-flex;align-items:center;gap:2px;min-height:32px;font-size:13px;font-weight:600;color:var(--cgl-text-3);text-decoration:none}.cgl-carousel{--gap:10px;display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0 8px}.cgl-carousel::-webkit-scrollbar{display:none}.cgl-carousel__card{flex:0 0 calc((100% - 2 * var(--gap)) / 3);scroll-snap-align:start;display:flex;flex-direction:column;padding:0;border:none;border-radius:14px;overflow:hidden;background:var(--cgl-card);box-shadow:var(--cgl-shadow);font:inherit;text-align:left;cursor:pointer}.cgl-carousel__img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block;background:var(--cgl-sunken)}.cgl-carousel__img--empty{display:flex;align-items:center;justify-content:center;color:var(--cgl-text-3)}.cgl-carousel__name{padding:8px 10px 10px;font-size:13px;font-weight:700;color:var(--cgl-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cgl-carousel__empty{display:block;padding:18px 16px;border-radius:14px;background:var(--cgl-sunken);color:var(--cgl-text-2);font-size:13px;text-align:center;text-decoration:none}@media (prefers-reduced-motion:reduce){.cgl-carousel{scroll-behavior:auto}}.cgl-steps{margin:14px 0 0;padding:0;list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:10px}.cgl-steps li{counter-increment:step;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cgl-text)}.cgl-steps li:before{content:counter(step);flex:0 0 24px;height:24px;border-radius:50%;background:var(--cgl-primary-bg);color:var(--cgl-primary-d);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.cgl-v2-spin{display:inline-flex;animation:cgl-v2-spin 1.2s linear infinite}@keyframes cgl-v2-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.cgl-v2-spin{animation:none}}.cgl-v2 a{color:inherit}.cgl-btn--weak{background:var(--cgl-primary-bg);padding:16px 24px;font-size:16px;width:100%}.cgl-btn--weak,.cgl-v2 a.cgl-header__text-btn{color:var(--cgl-primary-d)}.cgl-v2 a.cgl-quota-nudge__cta{color:#fff}.cgl-v2 a.cgl-btn--ghost,.cgl-v2 a.cgl-btn--outline{color:var(--cgl-primary-d);text-decoration:none}.cgl-v2-notice{background:var(--cgl-sunken);box-shadow:none}.cgl-v2-linkrow{display:flex;align-items:center;justify-content:space-between;padding:10px 0;text-decoration:none}.cgl-v2-linkrow:focus-visible{outline:2px solid var(--cgl-primary);outline-offset:2px;border-radius:6px}.cgl-v2 ul{list-style:disc}.cgl-v2 ol:not(.cgl-steps){list-style:decimal}.cgl-usage{padding:14px 16px;border-radius:var(--cgl-radius-sm);background:var(--cgl-card);box-shadow:var(--cgl-shadow);display:flex;flex-direction:column;gap:8px;margin-top:8px}.cgl-usage__head{display:flex;align-items:center;justify-content:space-between}.cgl-usage__label{font-size:13px;font-weight:700;color:var(--cgl-text-2)}.cgl-usage__premium{font-size:13px;font-weight:700;color:var(--cgl-gold)}.cgl-usage__note{margin:0;font-size:13px;color:var(--cgl-text-3)}.cgl-usage__row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px}.cgl-usage__row-label{font-size:13px;color:var(--cgl-text-2)}.cgl-usage__bar{position:relative;height:8px;border-radius:999px;background:var(--cgl-sunken);overflow:hidden}.cgl-usage__fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--cgl-primary);transition:width .3s ease}.cgl-usage__fill--full{background:var(--cgl-danger)}.cgl-usage__count{min-width:48px;text-align:right;font-size:13px;font-weight:700;color:var(--cgl-text);font-variant-numeric:tabular-nums}.cgl-usage__count--full{color:var(--cgl-danger)}@media (prefers-reduced-motion:reduce){.cgl-usage__fill{transition:none}}