.jp-root{--lobster-primary: #f04e37;--lobster-primary-hover: #ee5f40;--lobster-primary-active: #d9352e;--lobster-accent-deep: #b72329;--lobster-accent-warm: #ff8a61;--ink-deep: #16234b;--bg-page: #fff8f4;--bg-card: #ffffff;--text-main: #1f2937;--text-sub: #6b7280;--line-soft: #f1d8cf;--state-success: #2e9b5b;--state-warning: #f59e0b;--state-error: #d14343;--state-info: #3b82f6;--state-skill-pending: #f97316;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 85% 20%,#ffd9c8 0%,transparent 36%),radial-gradient(circle at 10% 80%,#ffe9df 0%,transparent 40%),var(--bg-page);color:var(--text-main);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.jp-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line-soft);background:#fff8f4eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.jp-top-right{display:flex;align-items:center;gap:8px}.jp-top-auth-btn{padding:12px 18px;font-size:15px;border-radius:14px;box-shadow:0 8px 18px #b7232940}.jp-chip{border:1px solid var(--line-soft);border-radius:999px;padding:4px 10px;background:#fff;color:var(--text-sub);font-size:12px}.jp-chip.is-ok{border-color:#bbf7d0;color:#166534;background:#f0fdf4}.jp-logo-wrap{display:flex;align-items:center;gap:12px}.jp-logo-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-weight:800;letter-spacing:.5px;color:#fff;background:linear-gradient(140deg,#f04e37,#ff8a61);box-shadow:0 8px 18px #b7232947}.jp-title{font-size:20px;line-height:28px;font-weight:700}.jp-sub{font-size:12px;line-height:18px;color:var(--text-sub)}.jp-banner{position:sticky;top:74px;z-index:9;margin:8px auto 0;max-width:1240px;border-radius:12px;padding:10px 12px;font-size:13px;border:1px solid transparent}.jp-banner.ok{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.jp-banner.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.jp-banner.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.jp-nav{display:flex;flex-wrap:wrap;gap:8px}.jp-nav button,.jp-tabs button,.jp-notify-toolbar button{border:1px solid var(--line-soft);border-radius:12px;background:#fff;color:var(--ink-deep);font-size:13px;padding:8px 12px;cursor:pointer;transition:all .2s ease-out}.jp-nav button:disabled,.jp-tabs button:disabled,.jp-notify-toolbar button:disabled,.jp-btn-primary:disabled,.jp-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.jp-nav button:hover,.jp-tabs button:hover,.jp-notify-toolbar button:hover{border-color:var(--lobster-primary-hover)}.jp-main{max-width:1240px;margin:0 auto;padding:24px;min-height:0;flex:1;display:flex;flex-direction:column}.jp-page{display:grid;gap:16px;animation:jp-fade-up .28s ease-out}.jp-auth-page{grid-template-columns:1fr;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.jp-auth-shell{width:500px;max-width:100%;margin:12px auto 0;display:grid;gap:12px;box-sizing:border-box}.jp-auth-shell>h2{margin:0;text-align:center}.jp-auth-shell .jp-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.jp-auth-shell .jp-tabs button{width:100%;text-align:center}.jp-auth-legal{display:grid;gap:10px;margin-top:auto;padding:0 6px 2px}.jp-auth-legal-divider{height:1px;background:linear-gradient(90deg,#f0987a00,#f0987ab3,#f0987a00)}.jp-auth-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px}.jp-auth-legal-links a{color:#7f4d3f;font-size:12px;line-height:1.4;text-decoration:none;transition:color .12s ease,text-decoration-color .12s ease}.jp-auth-legal-links a:hover{color:var(--lobster-primary-hover);text-decoration:underline;text-underline-offset:2px}.jp-auth-legal-copy{text-align:center;color:#9a7668;font-size:12px}.jp-legal-markdown{line-height:1.75;font-size:14px;margin:8px 0 0;color:#2a303e}.jp-legal-markdown h1,.jp-legal-markdown h2,.jp-legal-markdown h3{margin:14px 0 8px;color:#16234b}.jp-legal-markdown p{margin:8px 0}.jp-legal-markdown ul{margin:8px 0 8px 20px;padding:0}.jp-legal-markdown li{margin:4px 0}.jp-legal-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#fff1ea;border-radius:6px;padding:1px 6px;border:1px solid #f7d5c8}.jp-legal-markdown pre{background:#fff8f3;border:1px solid #f1d8cf;border-radius:10px;padding:10px 12px;overflow:auto;margin:10px 0}.jp-legal-markdown pre code{background:transparent;border:0;padding:0}.jp-legal-markdown a{color:#d54833;text-decoration:underline;text-underline-offset:2px}@media (max-width: 760px){.jp-auth-page{gap:14px}.jp-auth-legal-links{gap:7px 10px}}.jp-me-page{grid-template-columns:1fr}.jp-me-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.jp-roles-page{grid-template-columns:1fr}.jp-role-left{background:linear-gradient(180deg,#fff7f2,#ffe9dd);display:flex;flex-direction:column}.lc-card{position:relative;border:1px solid #f1b79f;background:linear-gradient(160deg,#ffffffbf,#fff5eea6 38%,#ffece1c7),#fff;border-radius:16px;padding:10px;display:grid;gap:8px;min-height:300px;overflow:hidden}.lc-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;border-radius:18px;border:1px solid rgba(240,120,86,.32)}.lc-card:after{content:"";position:absolute;right:-30px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ffffff8c,#fff0);pointer-events:none}.lc-card.active{border-color:#f06643;box-shadow:0 8px 16px #f04e3724}.lc-cardface{display:grid;min-height:278px;height:100%;position:relative}.lc-titlebar{position:absolute;left:10px;right:10px;top:8px;z-index:4;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.lc-name{max-width:calc(100% - 62px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55);background:#1c141273;border-radius:999px;padding:4px 10px;border:1px solid rgba(255,255,255,.35)}.lc-level{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);background:radial-gradient(circle at 35% 30%,#ffd88b,#ff8f45 70%);border:1px solid rgba(255,255,255,.6);box-shadow:0 6px 12px #0003}.lc-main{border:1px solid #f7c7b5;border-radius:14px;background:#fff;cursor:pointer;padding:0;text-align:left;display:grid;min-height:278px;height:100%;overflow:hidden;background-position:center;background-repeat:no-repeat;background-size:cover;position:relative}.lc-card.tier-common .lc-main{background-image:image-set(url(/journey/tank-frame-common.webp) type("image/webp"),url(/journey/tank-frame-common.png) type("image/png"))}.lc-card.tier-rare .lc-main,.lc-card.tier-epic .lc-main{background-image:image-set(url(/journey/tank-frame-rare.webp) type("image/webp"),url(/journey/tank-frame-rare.png) type("image/png"))}.lc-card.tier-epic .lc-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,transparent 12%,rgba(255,255,255,.55) 28%,transparent 44%);animation:jp-epic-sheen 2.8s linear infinite}.lc-main:hover{border-color:#f08a6a}.lc-portrait{width:100%;height:100%;border-radius:13px;border:1px solid #f2d3c7;background:radial-gradient(circle at 50% 28%,#ffffffbf,#fff0 58%),linear-gradient(160deg,#fff,#fff1e8);display:grid;place-items:center;overflow:hidden}.lc-portrait picture{width:100%;height:100%;display:grid;place-items:center}.lc-portrait img{width:82%;height:82%;border-radius:13px;object-fit:contain;animation:jp-float 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 10px rgba(183,35,41,.18))}.lc-actions{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:6px;justify-content:space-between;z-index:2;padding:6px;border-radius:12px;background:#ffffffc7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lc-actions-hover{opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out}.lc-card:hover .lc-actions-hover,.lc-card:focus-within .lc-actions-hover{opacity:1;transform:translateY(0);pointer-events:auto}.lc-action-btn{flex:1 1 0;border:1px solid #f1c6b7;background:#fff;border-radius:10px;padding:6px 4px;display:grid;place-items:center;gap:2px;cursor:pointer}.lc-action-btn span{font-size:15px;line-height:1}.lc-action-btn em{font-style:normal;font-size:11px;color:#7a5546}.lc-action-btn:hover{border-color:#f08a6a}.lc-action-btn:disabled{opacity:.52;cursor:not-allowed}.lc-bubble{position:absolute;left:14px;right:14px;bottom:64px;z-index:3;border:1px solid #f3d1c4;background:#fffffff2;border-radius:12px;padding:8px 10px;font-size:12px;line-height:1.45;color:#6f4332;box-shadow:0 8px 16px #623a2c24;animation:jp-bubble-pop .18s ease-out}.lc-bubble:after{content:"";position:absolute;left:22px;bottom:-7px;width:12px;height:12px;transform:rotate(45deg);border-right:1px solid #f3d1c4;border-bottom:1px solid #f3d1c4;background:#fffffff2}.lc-slot-empty{border:1px dashed #f0bba7;color:#8f5d49;background:linear-gradient(170deg,#fff8f2,#ffefe4);border-radius:10px;padding:12px;font-size:13px;min-height:278px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.lc-slot-empty-plus{width:120px;height:120px;border-radius:26px;border:1px solid #f3c6b5;background:radial-gradient(circle at 30% 25%,#fffffff2,#fff0 55%),linear-gradient(145deg,#fff,#ffe6d6);color:#f06d44;font-size:74px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 24px #f059342e;position:relative;overflow:hidden;animation:jp-plus-bob 1.8s ease-in-out infinite}.lc-slot-empty-plus:before,.lc-slot-empty-plus:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#ffd677e6;box-shadow:0 0 10px #ffd677e6}.lc-slot-empty-plus:before{top:20px;right:20px}.lc-slot-empty-plus:after{left:18px;bottom:18px}.lc-slot-empty-plus:hover{transform:translateY(-2px);border-color:#ef9c7e}.lc-slot-empty p{margin:0;font-weight:700}.lc-slot-locked{border:1px dashed #cfced5;color:#6b7280;background:linear-gradient(160deg,#fafbfd,#f2f4f8);border-radius:10px;padding:12px;font-size:13px;min-height:278px;display:flex;flex-direction:column;align-items:center;text-align:center}.lc-slot-locked-icon{width:92px;height:92px;border-radius:22px;border:1px solid #d4d8e2;margin:10px auto 8px;display:grid;place-items:center;font-size:48px;background:linear-gradient(145deg,#fff,#edf1f8);box-shadow:0 10px 18px #636d8029;position:relative}.lc-slot-locked-icon:after{content:"";position:absolute;right:14px;top:14px;width:8px;height:8px;border-radius:50%;background:#ffd677e6;box-shadow:0 0 10px #ffd677e6}.lc-slot-locked-title{font-size:14px;font-weight:700;color:#414a5a;margin:2px 0}.lc-slot-locked-progress{color:#5c6475;font-size:12px}.lc-slot-locked small{margin-top:4px;color:#8a92a4}.lc-actions.is-locked{position:static;margin-top:auto;width:100%}.lc-action-btn.is-disabled{opacity:.52;cursor:not-allowed}.lc-action-btn.is-unlock-ready{border-color:#ef8b5f;background:linear-gradient(145deg,#fff5ef,#ffe7dc);box-shadow:0 4px 10px #ef8b5f33}.jp-role-booth-grid .lc-portrait{background:#fff4ef}.jp-role-booth-grid .lc-portrait img{filter:none;box-shadow:none;border:0}.jp-role-booth-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}.jp-role-skill-board h3{margin:0 0 10px}.jp-role-skill-table{display:grid;gap:8px}.jp-role-skill-row{display:grid;grid-template-columns:140px 220px 1fr;gap:10px;border:1px solid #f0d7cb;border-radius:12px;padding:10px 12px;background:#fff;color:#374151;font-size:14px}.jp-role-owner-icons{display:flex;align-items:center;gap:8px;min-height:36px}.jp-role-owner-icons img{width:28px;height:28px;border-radius:10px;border:1px solid #f0cbbd;background:#fff;box-shadow:0 2px 6px #b723291f;object-fit:cover}.jp-role-skill-row.is-head{border-color:#f4bda7;background:#fff4ee;color:#7f462d;font-weight:700}.jp-role-note{margin:0;font-size:13px;color:#6b7280}.jp-role-sample-grid{display:grid;grid-template-columns:minmax(220px,260px);gap:10px}.jp-role-sample-grid .lc-actions{opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out}.jp-role-sample-grid .lc-card:hover .lc-actions,.jp-role-sample-grid .lc-card:focus-within .lc-actions{opacity:1;transform:translateY(0);pointer-events:auto}.jp-role-sample-grid .lc-portrait{background:#fff4ef;border:0}.jp-role-sample-grid .lc-portrait img{filter:none;box-shadow:none;border:0}.jp-role-booth-grid .lc-card{width:100%;max-width:260px;justify-self:center}.jp-role-portrait-plain{background:#fff4ef}.jp-role-portrait-plain img{filter:none;box-shadow:none;border:0}.lc-portrait-cream{background:#fff4ef;border:0}.lc-portrait-cream img{filter:none;box-shadow:none;border:0}.jp-role-intro-modal{width:min(560px,100%)}.jp-role-intro-modal p{margin:8px 0 0;color:#4b5563;line-height:1.7}.jp-role-skill-modal-large{width:min(860px,100%)}.jp-role-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}@keyframes jp-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jp-landing{grid-template-columns:1.2fr .8fr}.jp-hero-card,.jp-card,.jp-form-card,.jp-panel{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:18px;box-shadow:0 6px 18px #b7232914}.jp-hero-card{padding:28px}.jp-hero-main{position:relative;overflow:hidden;background:linear-gradient(130deg,#fff,#fff5ef)}.jp-frame-animated{position:relative}.jp-frame-animated:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;border:1px solid rgba(240,78,55,.18);animation:jp-frame-breath 2.2s ease-in-out infinite}.jp-hero-main:after{content:"";position:absolute;right:-50px;bottom:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(240,78,55,.16),transparent 70%)}.jp-eyebrow{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--lobster-accent-deep)}.jp-hero-card h1{margin:0 0 12px;font-size:36px;line-height:44px}.jp-hero-card p{margin:0 0 18px;color:var(--text-sub)}.jp-hero-image{display:grid;gap:10px;align-content:start;background:linear-gradient(145deg,#ffe4d8,#fff2ea);border-radius:18px;border:1px solid var(--line-soft);padding:20px}.jp-mascot-wrap{display:grid;gap:10px}.jp-mascot-avatar{width:min(210px,72%);margin:0 auto;display:block;filter:drop-shadow(0 16px 26px rgba(183,35,41,.25));animation:jp-float 2.2s ease-in-out infinite}.jp-speech{position:relative;border:1px solid #ffd2c2;background:#fff;border-radius:12px;padding:10px 12px;color:var(--text-main);font-size:13px}.jp-speech:before{content:"";position:absolute;left:24px;top:-8px;width:14px;height:14px;transform:rotate(45deg);background:#fff;border-left:1px solid #ffd2c2;border-top:1px solid #ffd2c2}.jp-quest-box{position:relative;border:1px dashed #f9b59a;background:#fff9f5;border-radius:12px;padding:10px}.jp-quest-box h3{margin:0 0 8px}.jp-progress,.jp-work-meter{height:10px;border-radius:999px;background:#ffe1d4;overflow:hidden}.jp-progress span,.jp-work-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff8a61,#f04e37);transition:width .28s ease-out}.jp-quest-box small{display:block;margin:6px 0;color:var(--text-sub)}.jp-quest-meta{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.jp-quest-meta span{font-size:12px;color:#8a5e4f;border:1px solid #f4c5b3;border-radius:999px;padding:3px 8px;background:#fff}.jp-quest-box ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:13px}.jp-quest-box li{color:#9b6652}.jp-quest-box li.done{color:#146c43;font-weight:600}.jp-hero-side h3{margin:0}.jp-hero-side ul{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--text-main)}.jp-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;margin-top:16px}.jp-hero-metrics>div{border:1px solid var(--line-soft);border-radius:12px;padding:10px;background:#fff;display:grid;gap:4px}.jp-hero-metrics strong{font-size:14px}.jp-hero-metrics span{font-size:12px;color:var(--text-sub)}.jp-scene-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.jp-badge-row{position:relative;grid-column:1 / -1;display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:14px;background:#fff;padding:12px}.jp-badge-row>span{font-size:13px;color:var(--text-sub)}.jp-badge-list{display:flex;gap:8px;flex-wrap:wrap}.jp-badge-list em{font-style:normal;border:1px solid #f0d2c6;border-radius:999px;background:#fff6f2;color:#ad7a67;font-size:12px;padding:4px 10px}.jp-badge-list em.on{color:#7a2e20;background:linear-gradient(135deg,#ffd9c8,#ffebdf);border-color:#f7b89f}.jp-fun-board{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.jp-fun-board .jp-card{position:relative;overflow:hidden}.jp-fun-board .jp-card:after{content:"";position:absolute;right:-20px;top:-20px;width:56px;height:56px;border-radius:12px;transform:rotate(26deg);background:linear-gradient(135deg,#ffc9b2b8,#ffefe773)}.jp-mini-tag{display:inline-block;margin-bottom:6px;font-size:11px;line-height:1;color:#8a4a34;background:#ffe3d7;border:1px solid #f8bda8;border-radius:999px;padding:4px 8px}.jp-corner{position:absolute;right:10px;top:10px;z-index:2;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;letter-spacing:.3px;animation:jp-corner-float 1.8s ease-in-out infinite}.jp-corner-hot{color:#7a1e12;background:#ffd4c3;border:1px solid #f59a7b}.jp-corner-new{color:#7a4b0a;background:#ffe7b7;border:1px solid #efc26e}.jp-corner-badge{color:#24502f;background:#d7f6df;border:1px solid #94d9a6}.jp-flow{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.jp-flow>div{background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:10px 12px;font-size:14px}.jp-landing-download{grid-column:1 / -1;display:grid;gap:10px}.jp-landing-download h3,.jp-landing-download p{margin:0}.jp-download-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;text-decoration:none}.jp-actions{display:flex;gap:10px;flex-wrap:wrap}.jp-btn-primary,.jp-btn-ghost,.jp-btn-fun{border-radius:12px;font-weight:700;padding:10px 14px;cursor:pointer}.jp-btn-primary{border:none;color:#fff;background:var(--lobster-primary)}.jp-btn-primary:hover{background:var(--lobster-primary-hover)}.jp-btn-primary:active{background:var(--lobster-primary-active)}.jp-btn-ghost{border:1px solid var(--line-soft);color:var(--ink-deep);background:#fff}.jp-btn-fun{border:1px solid #f8bda8;color:#7a3124;background:linear-gradient(135deg,#ffe5db,#fff6f1)}.jp-btn-fun:hover{border-color:#f29b7e;transform:translateY(-1px)}.jp-celebrate-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.jp-celebrate-layer span{position:absolute;left:50%;top:48%;width:8px;height:14px;border-radius:2px;opacity:0;background:hsl(calc((var(--i) * 25) * 1deg) 92% 64%);animation:jp-burst .82s ease-out forwards;animation-delay:calc(var(--i) * 16ms);--dx: 0px;--dy: -90px}.jp-celebrate-layer span:nth-child(1){--dx: -140px;--dy: -80px}.jp-celebrate-layer span:nth-child(2){--dx: -110px;--dy: -95px}.jp-celebrate-layer span:nth-child(3){--dx: -80px;--dy: -70px}.jp-celebrate-layer span:nth-child(4){--dx: -45px;--dy: -105px}.jp-celebrate-layer span:nth-child(5){--dx: -10px;--dy: -75px}.jp-celebrate-layer span:nth-child(6){--dx: 25px;--dy: -110px}.jp-celebrate-layer span:nth-child(7){--dx: 60px;--dy: -80px}.jp-celebrate-layer span:nth-child(8){--dx: 95px;--dy: -95px}.jp-celebrate-layer span:nth-child(9){--dx: 130px;--dy: -70px}.jp-celebrate-layer span:nth-child(10){--dx: -120px;--dy: 10px}.jp-celebrate-layer span:nth-child(11){--dx: -60px;--dy: 20px}.jp-celebrate-layer span:nth-child(12){--dx: 40px;--dy: 25px}.jp-celebrate-layer span:nth-child(13){--dx: 95px;--dy: 15px}.jp-celebrate-layer span:nth-child(14){--dx: 145px;--dy: 5px}.jp-tabs{display:flex;gap:8px}.jp-tabs .active,.jp-notify-toolbar .active{border-color:var(--lobster-primary);color:#fff;background:var(--lobster-primary)}.jp-form-card{padding:16px;width:100%;box-sizing:border-box}.jp-form-grid{display:grid;gap:12px;width:100%;box-sizing:border-box}.jp-form-grid label{display:grid;gap:6px;font-size:14px}.jp-form-grid input{border:1px solid var(--line-soft);border-radius:12px;height:40px;padding:0 12px;outline:none;width:100%;box-sizing:border-box}.jp-form-grid input:focus{border-color:var(--lobster-primary);box-shadow:0 0 0 3px #f04e371f}.jp-form-grid label.jp-auth-agree{display:flex;align-items:flex-start;gap:8px;width:100%;font-size:13px;line-height:1.6;color:#684b43;box-sizing:border-box;margin:0}.jp-form-grid label.jp-auth-agree input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:var(--lobster-primary);flex:0 0 auto}.jp-form-grid label.jp-auth-agree a{color:var(--lobster-primary);text-decoration:underline;text-underline-offset:2px}.jp-form-grid label.jp-auth-agree span{min-width:0;overflow-wrap:anywhere}.jp-inline-error{color:#c62828;font-size:13px}.jp-auth-shell .jp-actions{width:100%;flex-wrap:nowrap}.jp-auth-shell .jp-actions>button{flex:1 1 0}.jp-auth-shell .jp-form-grid>.jp-btn-primary{width:100%}.jp-form-grid select{border:1px solid var(--line-soft);border-radius:12px;height:40px;padding:0 12px;outline:none;background:#fff}.jp-form-grid select:focus{border-color:var(--lobster-primary);box-shadow:0 0 0 3px #f04e371f}.jp-alert{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:12px;padding:10px 12px;font-size:13px}.jp-onboard-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.jp-card{padding:16px}.jp-card h3,.jp-card h4{margin:0 0 8px}.jp-card p{margin:0 0 8px;color:var(--text-sub)}.jp-workspace{grid-template-columns:260px 1fr 300px}.jp-panel{padding:14px}.jp-panel h3{margin:0 0 10px}.jp-work-head{display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:12px;padding:10px;margin-bottom:10px;background:#fff8f4}.jp-work-head small{color:var(--text-sub)}.jp-work-chips{display:flex;flex-wrap:wrap;gap:8px}.jp-work-chips span{font-size:12px;color:#8a5e4f;border:1px solid #f1c4b2;border-radius:999px;padding:3px 9px;background:#fff}.jp-lobster-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.jp-lobster-list li button{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line-soft);border-radius:12px;background:#fff;padding:10px;cursor:pointer}.jp-lobster-list li.active button{border-color:var(--lobster-primary);box-shadow:0 6px 14px #f04e3726}.jp-lobster-list em{font-style:normal;font-size:12px;color:var(--text-sub)}.jp-chat{display:grid;gap:8px;margin-bottom:12px}.jp-msg{border-radius:12px;border:1px solid var(--line-soft);padding:10px;font-size:14px}.jp-msg.user{background:#fff3ed}.jp-msg.ai{background:#fff}.jp-msg.warn{background:#fff7ed;border-color:#fed7aa}.jp-typing{position:relative;overflow:hidden}.jp-typing:after{content:"";position:absolute;left:-20%;top:0;width:20%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:jp-shimmer 1.2s linear infinite}@keyframes jp-shimmer{0%{left:-20%}to{left:120%}}.jp-kv{list-style:none;margin:0;padding:0;display:grid;gap:8px}.jp-kv li{display:flex;justify-content:space-between;gap:8px}.jp-kv span{color:var(--text-sub)}.jp-status{margin-top:14px;display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--line-soft);padding-top:10px}.jp-status .s-idle{color:var(--state-info)}.jp-status .s-llm_streaming{color:var(--state-success)}.jp-status .s-skill_pending{color:var(--state-skill-pending);animation:jp-pulse 1.2s ease-in-out infinite}.jp-status .s-skill_done{color:var(--state-success)}@keyframes jp-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes jp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes jp-corner-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-2deg)}}@keyframes jp-frame-breath{0%,to{border-color:#f04e3724;box-shadow:0 0 #f04e3700}50%{border-color:#f04e3747;box-shadow:0 0 0 3px #ffb29929}}@keyframes jp-burst{0%{transform:translate(-50%,-50%) rotate(0) scale(.4);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(160deg) scale(1);opacity:0}}.jp-chat-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}.jp-chat-input-row input{border:1px solid var(--line-soft);border-radius:12px;height:40px;padding:0 12px;outline:none}.jp-chat-input-row input:focus{border-color:var(--lobster-primary);box-shadow:0 0 0 3px #f04e371f}.jp-notify-toolbar{display:flex;gap:8px;flex-wrap:wrap}.jp-notice-count{color:var(--text-sub);font-size:13px}.jp-notify-list{display:grid;gap:10px}.jp-empty{color:var(--text-sub)}.jp-skeleton{height:14px;border-radius:8px;margin:8px 0;background:linear-gradient(90deg,#f4e5dd 20%,#fff2ec,#f4e5dd 60%);background-size:200% 100%;animation:jp-skeleton 1.2s linear infinite}@keyframes jp-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.jp-notify-list small{color:var(--text-sub)}.jp-notice-item{display:grid;gap:8px}.jp-notice-head{display:flex;align-items:center;gap:8px}.jp-notice-icon{width:24px;height:24px;border-radius:999px;border:1px solid #ebcfc2;background:#fff8f3;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.jp-notice-item.is-doc-progress{border-color:#f0c8ad;background:linear-gradient(180deg,#fffaf6,#fff5ee)}.jp-notice-item.is-doc-ready{border-color:#bddfc7;background:linear-gradient(180deg,#f7fff9,#f0fff5)}.jp-notice-item.is-doc-failed{border-color:#e7c3c3;background:linear-gradient(180deg,#fff9f9,#fff3f3)}.jp-notice-progress{display:grid;gap:6px}.jp-notice-progress-label{font-size:12px;color:#735b4f}.jp-notice-progress-bar{height:6px;border-radius:999px;overflow:hidden;background:#f8e0d0}.jp-notice-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef865b,#f3b37c);transition:width .24s ease-out}.jp-bind-box{margin-top:14px;border-top:1px dashed var(--line-soft);padding-top:10px}.jp-bind-box h4{margin:0 0 8px}.jp-bind-row select{width:100%;border:1px solid var(--line-soft);border-radius:10px;height:36px;padding:0 10px;margin-bottom:10px}.jp-context-list{display:grid;gap:6px}.jp-context-item{border:1px solid var(--line-soft);border-radius:8px;padding:6px 8px;font-size:12px;color:var(--text-sub)}.jp-tank-v2-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(145deg,#fffcfb,#fff3ec)}.jp-tank-v2-head h2{margin:0 0 6px}.jp-tank-v2-head p{margin:0;color:#7a5a4d}.jp-tank-v2-badges{display:flex;gap:8px;flex-wrap:wrap}.jp-tank-v2-badges span{font-size:12px;color:#7f462d;border:1px solid #f4bda7;border-radius:999px;padding:5px 10px;background:#fff}.jp-tank-v2-shell{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:12px;align-items:stretch;grid-auto-rows:minmax(0,1fr)}.jp-tank-v2-shell>.jp-panel{height:100%;min-height:0}.jp-tank-v2-left{background:linear-gradient(180deg,#fff7f2,#ffe9dd);display:flex;flex-direction:column}.jp-tank-slot-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.jp-tank-v2-booth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1 1 auto}@keyframes jp-bubble-pop{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes jp-epic-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes jp-plus-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.jp-tank-v2-chat{border:1px dashed #f9b59a;background:#fff9f5;display:flex;flex-direction:column;min-height:0}.jp-tank-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:0;padding-bottom:10px;border-bottom:1px solid #f4d4c7}.jp-tank-chat-head h3{margin:0}.jp-tank-title-edit-btn{width:30px;height:30px;border-radius:8px;border:1px solid #efb99f;background:#fff;color:#8e4b31;font-size:16px;line-height:1;cursor:pointer}.jp-tank-title-edit-btn:hover{border-color:#ef8a65}.jp-tank-chat-list{display:grid;gap:10px;flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding:12px 4px 4px}.jp-tank-msg{border-radius:12px;border:1px solid #f0d6ca;padding:10px 12px;font-size:14px;line-height:1.7;background:#fff;display:grid;gap:6px;box-shadow:0 2px 8px #8f5d4914}.jp-tank-msg.user{background:#fff0e6;border-color:#efc8b6}.jp-tank-msg.system{background:#fffdfb;border-color:#f2ddd2}.jp-tank-msg-author{display:inline-flex;align-items:center;gap:8px;margin-right:4px;color:#7d4d3a;font-size:12px;letter-spacing:.02em}.jp-tank-msg-role{color:#7d4d3a;font-size:12px;letter-spacing:.02em;font-weight:700}.jp-tank-msg-author picture{width:20px;height:20px}.jp-tank-msg-author img{width:20px;height:20px;border-radius:6px;display:block}.jp-tank-msg-time{font-size:11px;color:#9f8679;justify-self:end}.jp-tank-msg-body{margin:0;white-space:pre-wrap;word-break:break-word;color:#3a2921}.jp-tank-link-msg{border:none;background:transparent;padding:0;margin:0;text-align:left;color:#1f63d1;text-decoration:underline;cursor:pointer;font-size:14px;line-height:1.7;word-break:break-all}.jp-tank-link-msg:hover{color:#1249a6}.jp-tank-msg.placeholder{border-style:dashed;background:linear-gradient(180deg,#fffaf7,#fff5ef);color:#7f5f52}.jp-tank-detail-avatar picture{width:96px;height:96px;display:block}.jp-tank-detail-avatar img{width:96px;height:96px;border-radius:18px;border:1px solid #f2c3ae;margin-bottom:10px;background:#fff}.jp-tank-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#18110e7a;display:grid;place-items:center;padding:20px}.jp-tank-modal{width:min(560px,100%);max-height:88vh;overflow:auto;border:1px solid #f2c8b8;border-radius:16px;background:#fff;padding:16px;box-shadow:0 20px 40px #00000040}.jp-tank-title-modal{width:min(420px,100%)}.jp-tank-title-modal h3{margin-top:0}.jp-tank-title-modal label{display:grid;gap:8px;font-size:13px;color:#7d584a}.jp-tank-title-modal input{border:1px solid #edc8b8;border-radius:10px;height:36px;padding:0 10px;font-size:14px}.jp-tank-title-modal input:focus{outline:2px solid rgba(246,125,85,.35);border-color:#e88b68}.jp-tank-title-error{margin-top:8px;font-size:12px;color:#b52f2f}.jp-tank-link-modal{width:min(760px,100%)}.jp-tank-link-url{font-size:12px;color:#6f5a4d;margin-bottom:8px;word-break:break-all}.jp-tank-link-content{margin:0;white-space:pre-wrap;word-break:break-word;max-height:52vh;overflow:auto;border:1px solid #edd2c6;background:#fffdfa;border-radius:10px;padding:10px;font-size:12px;line-height:1.6}.jp-auth-captcha-hint{color:#7d5f52;font-size:12px;margin-top:-4px}.jp-auth-captcha-modal{width:min(420px,100%)}.jp-auth-captcha-modal h3{margin:0 0 6px}.jp-auth-captcha-modal p{margin:0 0 12px;color:#7a604f;font-size:13px}.jp-auth-captcha-board{position:relative;width:280px;height:124px;border-radius:14px;border:1px solid #efc7b5;background:radial-gradient(circle at 42px 34px,rgba(255,255,255,.55) 0 18px,transparent 19px),radial-gradient(circle at 224px 76px,rgba(255,255,255,.5) 0 14px,transparent 15px),linear-gradient(135deg,#ffd8c6,#ffe9dc 54%,#fff4ee);overflow:hidden}.jp-auth-captcha-hole,.jp-auth-captcha-piece{position:absolute;top:42px;width:42px;height:42px;border-radius:10px}.jp-auth-captcha-hole{border:2px dashed rgba(177,77,47,.42);background:#fff7f2c7}.jp-auth-captcha-piece{border:1px solid #d78666;background:linear-gradient(145deg,#fff8f3,#ffd8c4);box-shadow:0 8px 14px #b14d2f3d}.jp-auth-captcha-slider{width:100%;margin:12px 0 10px;accent-color:#f46f47}.jp-auth-captcha-error{font-size:12px;color:#b52f2f;margin-bottom:8px}.jp-lobster-docs-page{grid-template-columns:1fr}.jp-lobster-docs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.jp-lobster-docs-head h2{margin:0}.jp-lobster-docs-head p{margin:6px 0 0;color:#7b5f52}.jp-lobster-docs-shell{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:14px}.jp-lobster-docs-folders,.jp-lobster-docs-list{display:flex;flex-direction:column;gap:12px}.jp-lobster-docs-toolbar{display:flex;align-items:center;justify-content:space-between;color:#6d5549;font-size:13px}.jp-lobster-docs-placeholder{min-height:220px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;color:#7a6256;background:linear-gradient(180deg,#fff9f5,#fff3ec)}.jp-lobster-folder-list{display:grid;gap:8px}.jp-lobster-folder-item-wrap{position:relative}.jp-lobster-folder-rowline{position:relative;display:flex;align-items:center;gap:6px}.jp-lobster-folder-row{flex:1;box-sizing:border-box;border:1px solid #efd4c7;border-radius:10px;background:#fff;color:#5f473f;height:36px;min-height:36px;max-height:36px;line-height:1;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;overflow:hidden;white-space:nowrap}.jp-lobster-folder-row em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jp-lobster-folder-row.active{border-color:#ec845f;box-shadow:0 4px 12px #f0785624}.jp-lobster-folder-row-all{width:100%;flex:none}.jp-lobster-folder-menu-trigger{width:32px;height:32px;border:1px solid #edc9ba;border-radius:10px;background:#fffdfb;color:#6a4f43;cursor:pointer;font-size:14px;line-height:1}.jp-lobster-folder-menu-trigger:hover{border-color:#ec845f}.jp-lobster-folder-menu-pop{position:absolute;top:38px;right:0;z-index:8;display:grid;gap:6px;min-width:112px;padding:8px;border:1px solid #edc9ba;border-radius:10px;background:#fffdfb;box-shadow:0 10px 24px #78543d29}.jp-lobster-folder-menu-pop button,.jp-lobster-doc-actions button{border:1px solid #edc9ba;border-radius:8px;background:#fffdfb;color:#6a4f43;height:28px;padding:0 10px;font-size:12px;cursor:pointer}.jp-lobster-folder-empty{margin:0;color:#8a6e62;font-size:12px;padding:4px 2px}.jp-lobster-docs-tools{display:grid;grid-template-columns:minmax(180px,1fr) 140px auto auto;gap:8px;align-items:center}.jp-lobster-docs-tools input,.jp-lobster-docs-tools select{border:1px solid #edc8b8;border-radius:10px;height:36px;padding:0 10px;background:#fff}.jp-lobster-docs-listbox{max-height:560px;overflow:auto;padding-right:4px}.jp-lobster-doc-item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:124px;margin-bottom:6px;padding:10px 12px}.jp-lobster-doc-main h4{margin:0;font-size:16px;color:#4f3b33}.jp-lobster-doc-main p{margin:4px 0 3px;display:flex;flex-wrap:wrap;gap:8px;color:#6d5549;font-size:13px}.jp-lobster-doc-main small{color:#8c6d60;font-size:12px}.jp-doc-status-badge{border:1px solid #edd2c6;border-radius:999px;padding:0 8px;height:22px;line-height:20px;font-size:12px;background:#fffdfb}.jp-doc-status-badge.s-done{border-color:#aad6b6;color:#246b39;background:#f2fff6}.jp-doc-status-badge.s-processing,.jp-doc-status-badge.s-uploaded{border-color:#f0bf8d;color:#8f4e1f;background:#fff6e9}.jp-doc-status-badge.s-failed{border-color:#e6b0b0;color:#9f2d2d;background:#fff3f3}.jp-doc-running-meter{margin:0 0 4px;width:180px;max-width:100%;height:6px;border-radius:999px;overflow:hidden;background:#ffe5d4;position:relative}.jp-doc-running-meter span{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,#f78f62,#f4b07a);transition:width .26s ease-out}.jp-lobster-doc-snippet{margin:0 0 4px;font-size:13px;color:#6a5347;line-height:1.45;display:flex;align-items:flex-start;gap:6px}.jp-lobster-doc-snippet button{border:0;background:transparent;color:#d15d3f;cursor:pointer;padding:0;white-space:nowrap}.jp-lobster-docs-more{display:flex;justify-content:center;padding-top:4px}.jp-lobster-docs-listbox mark,.jp-lobster-ask-box mark{background:#ffe3ce;color:#5a3f35;padding:0 2px;border-radius:3px}.jp-lobster-doc-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px;max-width:360px;overflow-x:auto;padding-bottom:2px}.jp-lobster-doc-actions button{height:26px;padding:0 9px;font-size:12px;flex:0 0 auto}.jp-lobster-docs-footnote{font-size:12px;color:#80675b}.jp-lobster-upload-progress{display:grid;gap:8px}.jp-lobster-upload-head{display:flex;align-items:center;justify-content:space-between;color:#6e5448}.jp-lobster-upload-bar{height:8px;border-radius:999px;overflow:hidden;background:#ffe7d8}.jp-lobster-upload-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f17b4f,#f5ae6b);transition:width .12s linear}.jp-lobster-ask-box{display:grid;gap:10px}.jp-lobster-ask-tools{display:grid;grid-template-columns:minmax(180px,1fr) 140px auto auto;gap:8px;align-items:center}.jp-lobster-ask-tools input,.jp-lobster-ask-tools select{border:1px solid #edc8b8;border-radius:10px;height:36px;padding:0 10px;background:#fff}.jp-lobster-ask-answer h4,.jp-lobster-ask-hit h4{margin:0;color:#4f3b33}.jp-lobster-ask-answer p,.jp-lobster-ask-hit p{margin:8px 0 6px;color:#6d5549;line-height:1.6}.jp-lobster-ask-hit small{color:#8b6f62}.jp-lobster-ask-hits{display:grid;gap:8px}.jp-mobile-dock{display:none}@media (max-width: 1024px){.jp-landing,.jp-workspace,.jp-onboard-grid,.jp-tank-v2-shell{grid-template-columns:1fr}.jp-tank-v2-chat{order:2}.jp-flow{grid-template-columns:1fr 1fr}.jp-scene-grid{grid-template-columns:1fr}.jp-fun-board{grid-template-columns:1fr 1fr}.jp-hero-metrics{grid-template-columns:1fr}.jp-role-skill-row{grid-template-columns:110px 180px 1fr}.jp-role-booth-grid{grid-template-columns:repeat(2,minmax(220px,260px));justify-content:center}.jp-role-skill-list{grid-template-columns:1fr}.jp-role-sample-grid{grid-template-columns:minmax(220px,260px)}.jp-lobster-docs-shell{grid-template-columns:1fr}.jp-lobster-docs-tools,.jp-lobster-ask-tools{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.jp-main{padding:14px 14px 72px}.jp-fun-board,.jp-tank-v2-booth-grid{grid-template-columns:1fr}.jp-tank-v2-booth-grid .lc-main{min-height:210px}.jp-tank-v2-booth-grid .lc-actions{gap:5px}.jp-topbar{padding:10px 12px;flex-wrap:wrap}.jp-title{font-size:16px;line-height:24px}.jp-sub{display:none}.jp-top-right{order:3;width:100%}.jp-banner{top:104px;margin:8px 12px 0}.jp-mobile-dock{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);background:#fff8f4fa;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.jp-mobile-dock button{border:1px solid var(--line-soft);border-radius:10px;height:36px;background:#fff;color:var(--ink-deep)}.jp-role-skill-row{grid-template-columns:1fr;gap:6px}.jp-role-skill-row.is-head{display:none}.jp-role-booth-grid{grid-template-columns:minmax(220px,260px);justify-content:center}.jp-role-sample-grid{grid-template-columns:1fr}.jp-lobster-doc-item{flex-direction:column;align-items:flex-start;min-height:0}.jp-lobster-doc-actions{justify-content:flex-start;max-width:100%;width:100%}}:root{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:#0f172a;background:#f6f8fb}body{margin:0;background:#f6f8fb}#root,.app-shell{min-height:100vh}.header-meta{display:flex;gap:12px;align-items:center}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.card-info{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;box-shadow:0 6px 12px #0f172a0a}.section-title{font-weight:700}
