@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap");:root{--jm-bg:#ffffff;--jm-surface-1:#f2f5f7;--jm-surface-2:#eff3f5;--jm-surface-3:#ecf1f3;--jm-sidebar-bg:#121217;--jm-sidebar-surface:#1c1c21;--jm-sidebar-hover:rgba(255,255,255,0.06);--jm-sidebar-active:rgba(255,255,255,0.08);--jm-primary:#00cae0;--jm-primary-hover:#00b1cc;--jm-primary-pressed:#0099b8;--jm-primary-subtle:rgba(0,202,224,0.1);--jm-primary-subtle-12:rgba(0,202,224,0.12);--jm-primary-subtle-20:rgba(0,202,224,0.2);--jm-primary-border:rgba(0,202,224,0.3);--jm-gradient:linear-gradient(135deg,#00cae0,#6461ff);--jm-gradient-premium:linear-gradient(to right bottom,#5f94fc,#1bfefe 50%,#ffffff);--jm-text-1:#090c14;--jm-text-2:#46464c;--jm-text-3:#757580;--jm-text-4:#a9adb5;--jm-border:rgba(7,50,71,0.10);--jm-border-strong:rgba(7,50,71,0.16);--jm-border-subtle:rgba(7,50,71,0.06);--jm-fill-hover:rgba(69,108,128,0.12);--jm-fill-pressed:rgba(79,112,128,0.18);--jm-fill-block:rgba(51,102,128,0.08);--jm-success:#2dd196;--jm-warning:#ffcf30;--jm-error:#ff303d;--jm-info:#2668ff;--jm-shadow-xs:0 1px 4px rgba(31,66,102,0.08);--jm-shadow-sm:0 2px 12px rgba(31,66,102,0.08);--jm-shadow-md:0 4px 20px rgba(31,66,102,0.16);--jm-shadow-lg:0 8px 32px rgba(31,66,102,0.24);--jm-shadow-xl:0 16px 48px rgba(31,66,102,0.32);--jm-shadow-focus:0 0 0 3px rgba(0,193,205,0.20);--jm-ease:cubic-bezier(0.34,0.69,0.1,1);--jm-ease-spring:cubic-bezier(0.3,1.3,0.3,1);--jm-ease-collapse:cubic-bezier(0.15,0.75,0.3,1);--jm-ease-resize:cubic-bezier(0.2,0,0,1);--jm-dur-fast:0.1s;--jm-dur-normal:0.2s;--jm-dur-slow:0.3s;--jm-dur-xslow:0.35s}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--jm-bg);color:var(--jm-text-1);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;font-size:14px;line-height:1.5715;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.en,[lang=en],h1,h2,h3{font-family:Montserrat,PingFang SC,sans-serif}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(7,50,71,.2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(7,50,71,.35)}*{scrollbar-width:thin;scrollbar-color:rgba(7,50,71,.2) transparent}@keyframes jm-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes jm-pop-in{0%{opacity:0;transform:scale(.95) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes jm-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes jm-spin{to{transform:rotate(1turn)}}.jm-page{animation:jm-fade-in var(--jm-dur-slow) var(--jm-ease) both}.jm-card{transition:box-shadow var(--jm-dur-normal) var(--jm-ease),transform var(--jm-dur-normal) var(--jm-ease),border-color var(--jm-dur-fast) linear}.jm-card:hover{transform:translateY(-3px);box-shadow:var(--jm-shadow-md)!important}.jm-skeleton{background:linear-gradient(30deg,var(--jm-surface-2) 20%,rgba(255,255,255,.8) 50%,var(--jm-surface-2) 80%);background-size:800px 100%;animation:jm-shimmer 1.4s ease-in-out infinite;border-radius:6px}.jm-btn-gradient{display:inline-flex;align-items:center;justify-content:center;padding:0 20px;height:36px;border:none;border-radius:8px;background:var(--jm-gradient);color:#ffffff;font-weight:600;font-size:14px;cursor:pointer;transition:filter var(--jm-dur-fast) linear}.jm-btn-gradient:hover{filter:brightness(1.08)}.jm-btn-gradient:active{filter:brightness(.94)}.jm-gen-panel{background:var(--jm-bg);border:1px solid var(--jm-border);border-radius:16px;padding:16px 20px 14px;margin-bottom:28px;box-shadow:var(--jm-shadow-sm);transition:border-color var(--jm-dur-fast) linear,box-shadow var(--jm-dur-normal) var(--jm-ease)}.jm-gen-panel:focus-within{border-color:var(--jm-primary-subtle-12);box-shadow:var(--jm-shadow-sm),var(--jm-shadow-focus)}.jm-ratio-pill{padding:4px 11px;border-radius:20px;font-size:12px;font-weight:500;border:1px solid var(--jm-border);background:transparent;color:var(--jm-text-3);cursor:pointer;transition:all var(--jm-dur-fast) linear;font-family:inherit;line-height:1.4;white-space:nowrap}.jm-ratio-pill:hover{background:var(--jm-primary-subtle)}.jm-ratio-pill.active,.jm-ratio-pill:hover{border-color:var(--jm-primary);color:var(--jm-primary)}.jm-ratio-pill.active{background:var(--jm-primary-subtle-12);font-weight:600}.jm-img-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;align-items:start}.jm-img-grid-col{display:flex;flex-direction:column;gap:12px}.jm-media-card{border-radius:10px;overflow:hidden;background:var(--jm-bg);border:1px solid var(--jm-border);transition:box-shadow var(--jm-dur-normal) var(--jm-ease),transform var(--jm-dur-slow) var(--jm-ease-spring),border-color var(--jm-dur-fast) linear;animation:jm-pop-in var(--jm-dur-slow) var(--jm-ease-spring) both}.jm-media-card:hover{transform:translateY(-4px) scale(1.005);box-shadow:var(--jm-shadow-md)}.jm-media-card.selected{border-color:var(--jm-primary);box-shadow:0 0 0 2px var(--jm-primary-subtle-20)}.jm-media-card__img{position:relative;background:var(--jm-surface-2);overflow:hidden}.jm-media-card__img img{width:100%;display:block;transition:transform var(--jm-dur-slow) var(--jm-ease)}.jm-media-card:hover .jm-media-card__img img{transform:scale(1.03)}.jm-media-card__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6) 0,transparent 55%);opacity:0;transition:opacity var(--jm-dur-normal) var(--jm-ease);pointer-events:none}.jm-media-card:hover .jm-media-card__overlay{opacity:1}.jm-media-card__footer{padding:8px 10px;display:flex;align-items:center;gap:6px}.jm-toolbar-divider{width:1px;height:18px;background:var(--jm-border);flex-shrink:0}.jm-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;background:var(--jm-primary-subtle);color:var(--jm-primary);border:1px solid var(--jm-primary-border)}.jm-tag-neutral{background:var(--jm-surface-1);color:var(--jm-text-2);border-color:var(--jm-border)}.ant-input-focused,.ant-input:focus,.ant-select-focused .ant-select-selector{border-color:var(--jm-primary)!important;box-shadow:var(--jm-shadow-focus)!important}.ant-btn-primary{background:var(--jm-primary)!important;border-color:var(--jm-primary)!important;transition:filter var(--jm-dur-fast) linear!important}.ant-btn-primary:not(:disabled):hover{background:var(--jm-primary-hover)!important;border-color:var(--jm-primary-hover)!important;filter:none!important}.ant-radio-button-wrapper-checked{border-color:var(--jm-primary)!important;color:var(--jm-primary)!important}