:root{--ink:#1f1e1c;--ink-2:#4a4845;--ink-3:#8b8883;--panel:#fffffff0;--panel-solid:#fff;--line:#14120f14;--shadow:0 6px 24px #2820141a, 0 1px 3px #28201414;--shadow-sm:0 2px 10px #28201414, 0 1px 2px #2820140f;--green:#1f5a43;--radius:14px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;background:#d9d1c6;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}kbd{color:var(--ink-2);background:#f1efec;border-radius:6px;justify-content:center;align-items:center;margin:0 4px;padding:4px 7px;font:500 12px/1 -apple-system,PingFang SC,sans-serif;display:inline-flex;box-shadow:inset 0 -1px #0000001f,0 0 0 1px #0000000f}#app{position:fixed;inset:0}#viewport{position:absolute;inset:0}#viewport canvas{touch-action:none;width:100%;height:100%;display:block}#ui{pointer-events:none;position:absolute;inset:0}#ui>*,#ui .topbar>*,#ui .bottom>*{pointer-events:auto}#ui .topbar,#ui .bottom{pointer-events:none}.topbar{justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:8px;display:flex;position:relative}.globe-btn{border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.globe{background:radial-gradient(circle at 50% 50%, transparent 0 60%, transparent 61%), var(--green);border-radius:50%;width:30px;height:30px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1.6px #0f3a2a}.globe:before,.globe:after{content:"";border-radius:50%;position:absolute;inset:0}.globe:before{border:1.6px solid #0f3a2a;transform:scaleX(.45)}.globe:after{background:linear-gradient(#0f3a2a,#0f3a2a) 50% 32%/100% 1.6px no-repeat,linear-gradient(#0f3a2a,#0f3a2a) 50%/100% 1.6px no-repeat,linear-gradient(#0f3a2a,#0f3a2a) 50% 68%/100% 1.6px no-repeat}.world-name{letter-spacing:.5px;border-radius:10px;align-items:center;gap:4px;padding:6px 8px;font-size:19px;font-weight:600;transition:background .15s;display:flex}.world-name:hover{background:#ffffff8c}.world-name .chev{opacity:0;width:16px;height:16px;transition:opacity .15s}.world-name:hover .chev{opacity:.6}.clock-wrap{position:absolute;top:14px;left:50%;transform:translate(-50%)}.pill{background:var(--panel);height:40px;box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums;letter-spacing:.3px;border-radius:20px;align-items:center;gap:8px;padding:0 14px 0 16px;font-size:17px;font-weight:600;display:flex}.pill .dot{background:var(--ink);border-radius:50%;width:7px;height:7px}.pill .chev{opacity:.55;width:16px;height:16px}.tools{align-items:center;gap:6px;display:flex}.icon-btn{color:#2b2a28;border-radius:12px;place-items:center;width:44px;height:44px;transition:background .15s,transform .15s;display:grid}.icon-btn:hover{background:#fff9}.icon-btn:active{transform:scale(.94)}.icon-btn svg{stroke-width:1.7px;width:26px;height:26px}.settings-wrap{position:relative}.popover{border-radius:var(--radius);background:var(--panel-solid);min-width:240px;box-shadow:var(--shadow);z-index:20;color:var(--ink-2);padding:14px;font-size:14px;display:none;position:absolute;top:52px}.popover.open{animation:.16s ease-out pop;display:block}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.pop-title{color:var(--ink);margin-bottom:10px;font-size:14px;font-weight:600}#pop-world{min-width:260px;padding:8px;left:44px}.world-item{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.world-item:hover{background:#f4f2ef}.world-item.active{background:#efece8}.world-thumb{background:#e7e1d8;border-radius:8px;flex:none;width:54px;height:40px;position:relative;overflow:hidden}.world-thumb.western{background:linear-gradient(#e9e4dd 0 45%,#d9cfc2 45%)}.world-thumb.western:after{content:"";background:#f5f3ef;border-radius:3px 3px 0 0;width:10px;height:18px;position:absolute;bottom:16px;left:30px;box-shadow:-18px 6px 0 -1px #f2efea,-8px 8px #efebe5}.world-thumb.harbor{background:linear-gradient(#e6e9ea 0 45%,#b9c6cb 45% 70%,#ddd7cd 70%)}.world-thumb.harbor:after{content:"";background:#f6f5f2;border-radius:2px;width:6px;height:22px;position:absolute;bottom:12px;left:38px;box-shadow:0 -3px 0 1px #e9e5df}.world-meta b{color:var(--ink);font-size:15px;display:block}.world-meta span{color:var(--ink-3);font-size:12px}.pop-clock{width:340px;left:50%;transform:translate(-50%)}.pop-clock.open{animation:.16s ease-out popc}@keyframes popc{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)}}input[type=range]{width:100%;accent-color:var(--ink)}.ticks{color:var(--ink-3);justify-content:space-between;margin:2px 0 10px;font-size:11px;display:flex}.chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chips button{background:#f3f1ee;border-radius:16px;padding:6px 11px;font-size:13px}.chips button:hover{background:#e9e6e1}.row{justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.toggle{cursor:pointer}.toggle input{display:none}.toggle i{background:#dcd8d2;border-radius:10px;flex:none;width:34px;height:20px;transition:background .18s;position:relative}.toggle i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle input:checked+i{background:var(--ink)}.toggle input:checked+i:after{transform:translate(14px)}.pop-settings{width:270px;right:0}.seg{background:#f1efec;border-radius:9px;padding:2px;display:flex}.seg button{border-radius:7px;padding:4px 12px;font-size:13px}.seg button.active{box-shadow:var(--shadow-sm);color:var(--ink);background:#fff;font-weight:600}.ghost-btn{background:#f1efec;border-radius:8px;padding:5px 10px;font-size:13px}.ghost-btn:hover{background:#e7e3de}.stats{border-top:1px solid var(--line);color:var(--ink-3);margin-top:8px;padding-top:8px;font-size:12px;line-height:1.6}.sidebar{background:var(--panel);width:64px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:14px 0 10px;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-42%)}.side-group{flex-direction:column;align-items:center;gap:2px;padding-bottom:10px;display:flex}.side-group+.side-group{padding-top:8px}.side-label{color:var(--ink-2);letter-spacing:.5px;margin-bottom:4px;font-size:13px}.side-btn{color:#2b2a28;border-radius:12px;place-items:center;width:48px;height:48px;transition:background .15s,transform .15s;display:grid}.side-btn:hover{background:#f1efec}.side-btn:active{transform:scale(.94)}.side-btn svg{stroke-width:1.6px;width:28px;height:28px}.side-btn.more svg{width:22px;height:22px}.bottom{flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:18px;left:0;right:0}.hint{background:var(--panel);height:46px;box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;border-radius:23px;align-items:center;gap:2px;padding:0 12px 0 16px;font-size:16px;transition:opacity .25s,transform .25s;display:flex;position:relative}.hint:after{content:"";background:var(--panel);border-radius:2px;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:3px 3px 6px #2820140f}.hint.hidden{opacity:0;pointer-events:none;transform:translateY(6px)}.sel-chip{background:var(--panel);max-width:min(92vw,980px);height:46px;box-shadow:var(--shadow-sm);color:var(--ink);white-space:nowrap;border-radius:23px;align-items:center;gap:10px;padding:0 8px 0 16px;font-size:15px;display:none}.bottom.sel-mode .sel-chip{display:flex}.bottom.sel-mode .hint{display:none}.sel-dot{background:#1f5a43;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #1f5a4326}.sel-chip b{text-overflow:ellipsis;flex:none;max-width:24em;font-weight:600;overflow:hidden}.sel-hint{min-width:0;color:var(--ink-2);text-overflow:ellipsis;flex:0 auto;font-size:13.5px;overflow:hidden}.sel-btn{height:30px;color:var(--ink);background:#f1efec;border-radius:15px;flex:none;padding:0 12px;font-size:13.5px;font-weight:600}.sel-btn:hover{background:#e6e2dc}.sel-btn{align-items:center;gap:5px;display:inline-flex}.sel-btn svg{stroke-width:2px;width:15px;height:15px}.icon-btn:disabled{opacity:.32;cursor:default}.icon-btn:disabled:hover{background:0 0}.tools-sep{background:#0000001a;align-self:center;width:1px;height:22px;margin:0 4px}#ui.night .tools-sep{background:#ffffff2e}.sel-chip .hint-close{flex:none;margin-left:0}.hint b{font-weight:600}.hint kbd{background:#fff;padding:5px 12px;font-size:14px}.hint-icon{stroke-width:1.7px;width:20px;height:20px;margin-right:8px}.hint-close{width:28px;height:28px;color:var(--ink-2);border-radius:50%;place-items:center;margin-left:10px;display:grid}.hint-close:hover{background:#f1efec}.hint-close svg{width:18px;height:18px}.composer{background:var(--panel);min-width:400px;height:62px;box-shadow:var(--shadow);color:#6f6c67;border-radius:31px;align-items:center;gap:10px;padding:0 8px 0 28px;font-size:19px;transition:min-width .25s;display:flex}.composer kbd{padding:4px 8px;font-size:13px}.composer-idle,.composer-listen{white-space:nowrap;flex:1;align-items:center;display:flex}.composer-listen,#composer-input,.composer.listening .composer-idle,.composer.typing .composer-idle{display:none}.composer.listening .composer-listen{color:var(--ink);gap:12px;display:flex}.composer-think{white-space:nowrap;color:var(--ink);flex:1;align-items:center;gap:12px;font-size:17px;display:none;overflow:hidden}.composer.thinking .composer-think{display:flex}.composer.thinking .composer-idle,.composer.thinking .composer-listen,.composer.thinking #composer-input{display:none!important}.spinner{border:2.4px solid #d9d5cf;border-top-color:var(--ink);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin2}.composer.thinking{min-width:460px}.composer.typing{min-width:560px}.composer.typing #composer-input{display:block}#composer-input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:17px}.live-btn{color:#fff;background:#121212;border-radius:24px;align-items:center;gap:8px;height:48px;padding:0 20px 0 16px;font-size:18px;font-weight:600;transition:transform .15s,background .15s;display:flex}.live-btn:hover{background:#2a2a2a}.live-btn:active{transform:scale(.96)}.live-btn svg{stroke-width:2.2px;width:22px;height:22px}.wave{align-items:center;gap:3px;height:22px;display:inline-flex}.wave i{background:var(--ink);border-radius:2px;width:3px;height:8px;animation:.9s ease-in-out infinite wave}.wave i:nth-child(2){animation-delay:.1s}.wave i:nth-child(3){animation-delay:.2s}.wave i:nth-child(4){animation-delay:.3s}.wave i:nth-child(5){animation-delay:.4s}@keyframes wave{0%,to{height:6px}50%{height:20px}}.round-btn{background:var(--panel);width:44px;height:44px;box-shadow:var(--shadow-sm);color:var(--ink-2);border-radius:50%;place-items:center;font-size:17px;font-weight:500;display:grid;position:absolute}.round-btn:hover{background:#fff}.round-btn svg{stroke-width:1.8px;width:22px;height:22px}.help-btn{bottom:18px;left:18px}.locate-btn{bottom:18px;right:18px}.pop-help{width:290px;top:auto;bottom:72px;left:18px}.pop-help ul{margin:0;padding-left:18px;line-height:1.9}.pop-help b{color:var(--ink);font-weight:600}.fps{color:var(--ink-2);background:#ffffffb3;border-radius:8px;padding:6px 8px;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:none;position:absolute;bottom:28px;right:72px}.fps.show{display:block}.toast{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#181715e0;border-radius:12px;padding:10px 16px;font-size:14px;transition:opacity .2s,transform .2s;position:absolute;top:76px;left:50%;transform:translate(-50%,-8px)}.toast.show{opacity:1;transform:translate(-50%)}.tooltip{color:#fff;pointer-events:none;opacity:0;white-space:nowrap;z-index:50;background:#181715e0;border-radius:8px;padding:6px 9px;font-size:12px;transition:opacity .12s;position:absolute}.tooltip.show{opacity:1}#loader{z-index:100;background:#ddd5ca;place-items:center;transition:opacity .8s;display:grid;position:absolute;inset:0}#loader.done{opacity:0;pointer-events:none}#loader.soft{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ddd5cabf}.loader-card{text-align:center;color:var(--ink-2)}.loader-globe{background:var(--green);border-radius:50%;width:46px;height:46px;margin:0 auto 14px;animation:2.4s linear infinite spin;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0f3a2a}.loader-globe:before{content:"";border:2px solid #0f3a2a;border-radius:50%;position:absolute;inset:0;transform:scaleX(.45)}@keyframes spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.loader-title{color:var(--ink);font-size:18px;font-weight:600}.loader-sub{color:var(--ink-3);margin-top:6px;font-size:13px}.loader-bar{background:#00000014;border-radius:2px;width:180px;height:3px;margin:16px auto 0;overflow:hidden}.loader-bar i{background:var(--ink);border-radius:2px;width:40%;height:100%;animation:1.1s ease-in-out infinite bar;display:block}@keyframes bar{0%{transform:translate(-100%)}to{transform:translate(260%)}}@media (max-width:760px){.sidebar{display:none}.composer{width:calc(100vw - 32px);min-width:0;font-size:15px}.hint{font-size:13px}.tools .icon-btn:not(#btn-settings){display:none}}#ui.night .world-name,#ui.night .tools .icon-btn{color:#f4f2ee;text-shadow:0 1px 2px #00000059}#ui.night .world-name:hover,#ui.night .icon-btn:hover{background:#ffffff1f}#ui .world-name,#ui .tools .icon-btn{transition:color .6s,background .15s}.side-btn.active{color:#fff;background:#1f1e1c}.side-btn.active:hover{background:#2c2b29}.tool-panel{background:var(--panel);width:292px;max-height:calc(100vh - 180px);box-shadow:var(--shadow);color:var(--ink-2);scrollbar-width:thin;border-radius:18px;padding:14px;font-size:13px;display:none;position:absolute;top:50%;left:92px;overflow-y:auto;transform:translateY(-46%)}.tool-panel.open{animation:.18s ease-out tpIn;display:block}@keyframes tpIn{0%{opacity:0;transform:translateY(-46%)translate(-6px)}to{opacity:1;transform:translateY(-46%)}}.tp-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tp-title{color:var(--ink);font-size:15px;font-weight:600}.tp-close{width:28px;height:28px;color:var(--ink-2);border-radius:50%;place-items:center;display:grid}.tp-close:hover{background:#f1efec}.tp-close svg{width:17px;height:17px}.tp-tabs{margin-bottom:12px}.tp-tabs button{flex:1;padding:6px 0}.tp-tools{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tp-tool{color:var(--ink-2);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 7px;font-size:12px;transition:background .15s,color .15s;display:flex}.tp-tool svg{width:22px;height:22px}.tp-tool:hover{background:#f3f1ee}.tp-tool.active{color:#fff;background:#1f1e1c}.tp-hint{color:var(--ink-3);min-height:18px;margin:10px 2px 4px;font-size:12px;line-height:1.5}.tp-sub{margin:8px 0 2px}.tp-swatches{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tp-swatch{border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:12px;display:flex}.tp-swatch:hover{background:#f3f1ee}.tp-swatch.active{background:#efece8;box-shadow:inset 0 0 0 1.5px #1f1e1c}.tp-swatch .sw{border-radius:50%;width:30px;height:30px;display:block;box-shadow:inset 0 0 0 1px #0000001f}.tp-swatch .sw-paving{background-color:#d9d6d0;background-size:8px 8px;background-image:linear-gradient(#00000021 1px,#0000 1px),linear-gradient(90deg,#00000021 1px,#0000 1px)!important}.tp-swatch .sw-clear{background:repeating-linear-gradient(45deg,#fff 0 4px,#e9e6e1 4px 8px)}.tp-objs{margin-bottom:4px}.tp-objs button.active,.chips button.active{color:#fff;background:#1f1e1c}.tp-erase{margin-bottom:4px}.tp-erase button{flex:1}.tp-slider{grid-template-columns:64px 1fr 44px;align-items:center;gap:8px;margin-top:10px;display:grid}.tp-slider b{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.tp-tip{border-top:1px solid var(--line);color:var(--ink-3);margin-top:12px;padding-top:10px;font-size:11.5px;line-height:1.6}.tp-weather{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tp-wx{color:var(--ink-2);background:#f6f5f2;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;font-size:12.5px;transition:background .15s,color .15s;display:flex}.tp-wx svg{stroke-width:1.6px;width:26px;height:26px}.tp-wx:hover{background:#eeebe7}.tp-wx.active{color:#fff;background:#1f1e1c}@media (max-width:760px){.tool-panel{width:calc(100vw - 24px);top:auto;bottom:150px;left:12px;transform:none}}#portfolio{z-index:60;background:linear-gradient(#f1eee9 0%,#e7e2db 100%);display:none;position:absolute;inset:0;overflow-y:auto}#portfolio.open{animation:.25s ease-out pfIn;display:block}@keyframes pfIn{0%{opacity:0}to{opacity:1}}body.pf-open #ui{visibility:hidden}.pf-wrap{max-width:1320px;margin:0 auto;padding:32px 40px 60px}.pf-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.pf-left{flex-direction:column;gap:14px;display:flex}.pf-head h1{letter-spacing:1px;color:var(--ink);margin:0;font-size:30px;font-weight:700}.pf-head p{color:var(--ink-3);margin:6px 0 0;font-size:14px}.pf-back{box-shadow:var(--shadow-sm);color:var(--ink-2);background:#ffffffb3;border-radius:18px;align-self:flex-start;align-items:center;gap:4px;padding:6px 12px 6px 8px;font-size:13px;display:inline-flex}.pf-back:hover{background:#fff}a.pf-back{text-decoration:none}.pf-back svg{width:18px;height:18px}.pf-primary{color:#fff;background:#161616;border-radius:21px;align-items:center;gap:8px;height:42px;padding:0 20px 0 16px;font-size:15px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.pf-primary:hover{background:#2c2c2c}.pf-primary:active{transform:scale(.97)}.pf-primary svg{width:18px;height:18px}.pf-ghost{height:38px;color:var(--ink-2);background:#efece8;border-radius:19px;padding:0 16px;font-size:14px}.pf-ghost:hover{background:#e5e1db}.pf-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;display:grid}.pf-card{text-align:left;box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.pf-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #28201424}.pf-thumb{aspect-ratio:16/10;background:#ddd6cc;position:relative;overflow:hidden}.pf-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.pf-card:hover .pf-thumb img{transform:scale(1.04)}.pf-thumb.ph{background:linear-gradient(180deg, var(--f,#ddd5ca) 0 46%, var(--g,#d3c9bb) 46% 100%)}.pf-thumb.ph .pf-ph-sky{background:#ffffffd9;border-radius:4px 4px 0 0;width:14%;height:26%;position:absolute;top:22%;left:46%;box-shadow:-40px 18px 0 -4px #fffc,46px 14px 0 -2px #ffffffc7,-82px 24px 0 -6px #ffffffb3}.pf-badge{color:var(--ink-2);background:#ffffffe6;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500;position:absolute;top:12px;left:12px}.pf-cur{color:#fff;background:#1f5a43;border-radius:12px;padding:4px 10px;font-size:12px;position:absolute;top:12px;right:12px}.pf-enter{color:#fff;opacity:0;background:#161616db;border-radius:16px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:12px;right:12px;transform:translateY(4px)}.pf-enter svg{width:15px;height:15px}.pf-card:hover .pf-enter{opacity:1;transform:none}.pf-info{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.pf-name{justify-content:space-between;align-items:center;gap:8px;display:flex}.pf-name b{color:var(--ink);font-size:17px}.pf-del{width:30px;height:30px;color:var(--ink-3);border-radius:50%;place-items:center;display:grid}.pf-del:hover{color:#b4483b;background:#f6eceb}.pf-del svg{width:16px;height:16px}.pf-subt{color:var(--ink-2);font-size:13px}.pf-story{color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:12.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.pf-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.pf-tags span{color:var(--ink-2);background:#f2efeb;border-radius:10px;padding:3px 9px;font-size:11.5px}.pf-meta{color:var(--ink-3);margin-top:2px;font-size:11.5px}.pf-new{text-align:center;min-height:280px;box-shadow:none;color:var(--ink-2);background:#ffffff73;border:1.5px dashed #1f1e1c40;justify-content:center;align-items:center;gap:6px;padding:28px 24px}.pf-new:hover{box-shadow:none;background:#ffffffbf;border-color:#1f1e1c66}.pf-new b{color:var(--ink);font-size:17px;line-height:1.3}.pf-new-desc{max-width:232px;color:var(--ink-3);text-wrap:balance;font-size:13px;line-height:1.55}.pf-plus{color:#fff;background:#161616;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;margin-bottom:10px;transition:transform .2s;display:grid}.pf-new:hover .pf-plus{transform:scale(1.06)}.pf-plus svg{width:24px;height:24px}.pf-modal{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#28241e47;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.pf-modal.open{animation:.2s ease-out pfIn;display:flex}.pf-dialog{background:#fff;border-radius:22px;width:min(640px,100vw - 32px);padding:22px 24px;box-shadow:0 30px 80px #1e181040}.pf-dlg-head{justify-content:space-between;align-items:center;display:flex}.pf-dlg-head h2{color:var(--ink);margin:0;font-size:19px}.pf-x{width:32px;height:32px;color:var(--ink-2);border-radius:50%;place-items:center;display:grid}.pf-x:hover{background:#f1efec}.pf-x svg{width:18px;height:18px}.pf-desc{color:var(--ink-3);margin:8px 0 14px;font-size:13.5px;line-height:1.7}#pf-prompt{resize:vertical;width:100%;min-height:104px;font:inherit;color:var(--ink);background:#faf9f7;border:1px solid #0000001a;border-radius:14px;outline:none;padding:14px 16px;font-size:15px;line-height:1.6}#pf-prompt:focus{background:#fff;border-color:#0000004d}.pf-ex-label{color:var(--ink-3);margin:14px 0 8px;font-size:12px}.pf-image{margin-bottom:12px}.pf-drop{text-align:left;width:100%;color:var(--ink-2);background:#faf9f7;border:1.5px dashed #0000002e;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.pf-drop:hover,.pf-dialog.drag .pf-drop{background:#f2f6f3;border-color:#1f5a43}.pf-drop svg{color:#1f5a43;stroke-width:1.7px;flex:none;width:26px;height:26px}.pf-drop span{flex-direction:column;gap:2px;display:flex}.pf-drop b{color:var(--ink);font-size:14.5px;font-weight:600}.pf-drop small{color:var(--ink-3);font-size:12.5px}.pf-preview{background:#f3f6f4;border:1px solid #1f5a4340;border-radius:14px;align-items:center;gap:14px;padding:10px;display:none;position:relative}.pf-image.has .pf-drop{display:none}.pf-image.has .pf-preview{display:flex}.pf-preview img{object-fit:cover;border-radius:9px;flex:none;width:132px;height:88px;box-shadow:0 2px 8px #0000001f}.pf-preview-info{flex-direction:column;gap:4px;min-width:0;padding-right:30px;display:flex}.pf-preview-info b{color:#1f5a43;font-size:14px}.pf-preview-info small{color:var(--ink-3);font-size:12.5px;line-height:1.5}.pf-preview .pf-x{position:absolute;top:8px;right:8px}.pf-dialog.drag{outline-offset:-8px;outline:2px dashed #1f5a43}.pf-modal.img-mode .pf-ex-label,.pf-modal.img-mode .pf-examples{display:none}.pf-modal.img-mode #pf-prompt{min-height:64px}.pf-sum-ref{align-items:flex-start;gap:14px;display:flex}.pf-sum-ref img{object-fit:cover;border-radius:9px;flex:none;width:120px;height:80px}.pf-sum-ref>span{color:var(--ink-2);align-self:center;font-size:13.5px}.pf-lm{margin-top:10px}.pf-lm-text{color:var(--ink-2);font-size:13.5px}.pf-lm-views{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pf-lm-views:empty{display:none}.pf-lm-views figure{width:76px;margin:0}.pf-lm-views img{object-fit:contain;background:#fff;border:1px solid #00000014;border-radius:8px;width:76px;height:76px;display:block}.pf-lm-views figcaption{color:var(--ink-3,#888);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.pf-found{color:var(--ink-3);margin-top:6px;font-size:12.5px;line-height:1.6}.pf-ref{aspect-ratio:3/2;border:2px solid #fffffff2;border-radius:8px;width:30%;position:absolute;bottom:10px;right:10px;overflow:hidden;box-shadow:0 3px 10px #0003}.pf-ref img{object-fit:cover;width:100%;height:100%}.ref-pip{background:var(--panel);width:220px;box-shadow:var(--shadow);cursor:zoom-in;pointer-events:auto;border-radius:14px;transition:width .25s;display:none;position:absolute;top:84px;right:24px;overflow:hidden}.ref-pip.show{display:block}.ref-pip.big{cursor:zoom-out;width:min(520px,46vw)}.ref-pip img{width:100%;height:auto;display:block}.ref-pip .ref-bar{color:var(--ink-2);justify-content:space-between;align-items:center;padding:6px 8px 6px 12px;font-size:12.5px;display:flex}.ref-pip .ref-bar button{width:24px;height:24px;color:var(--ink-2);border-radius:50%;place-items:center;display:grid}.ref-pip .ref-bar button:hover{background:#f1efec}.ref-pip .ref-bar svg{width:15px;height:15px}.ref-toggle{display:none}body.has-ref .ref-toggle{display:grid}.pf-examples{flex-direction:column;gap:6px;display:flex}.pf-examples button{text-align:left;color:var(--ink-2);background:#f5f3f0;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.5}.pf-examples button:hover{background:#ece8e3}.pf-dlg-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.pf-llm{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pf-llm .dot{background:#c9a27a;border-radius:50%;width:7px;height:7px}.pf-llm .dot.on{background:#2f8a5f}.pf-btns{flex-wrap:wrap;gap:10px;display:flex}.pf-progress{padding:8px 2px 4px}.pf-steps{flex-direction:column;gap:12px;margin:14px 0;padding:0;list-style:none;display:flex}.pf-steps li{color:var(--ink-3);align-items:center;gap:12px;font-size:15px;display:flex}.pf-steps li.active,.pf-steps li.done{color:var(--ink)}.pf-steps li.error{color:#b4483b}.pf-steps .st{background:#f1efec;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.pf-steps li.done .st{color:#fff;background:#1f5a43}.pf-steps li.active .st{color:#fff;background:#161616}.pf-steps li.error .st{color:#b4483b;background:#f6e1de}.pf-steps .st svg{width:15px;height:15px}.spin{animation:1s linear infinite spin2}@keyframes spin2{to{transform:rotate(360deg)}}.pf-summary{background:#f6f4f1;border-radius:14px;margin-top:6px;padding:14px 16px}.pf-summary:empty{display:none}.pf-sum-name{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:18px;font-weight:700;display:flex}.pf-sum-name span{color:var(--ink-3);font-size:13px;font-weight:400}.pf-summary p{color:var(--ink-2);margin:8px 0 4px;font-size:13px;line-height:1.6}.pf-error:empty{display:none}.pf-error{color:#8a3a30;background:#fbf0ee;border-radius:14px;margin-top:8px;padding:14px 16px;font-size:13px}.pf-error p{word-break:break-all;margin:6px 0 12px}@media (max-width:760px){.pf-wrap{padding:20px 16px 40px}.pf-head{flex-direction:column;align-items:stretch}}.world-item.pf-link{color:var(--ink-2);border-top:1px solid var(--line);border-radius:0 0 10px 10px;justify-content:center;margin-top:4px;padding:10px;font-size:13px}.pf-dialog.assets-mode{flex-direction:column;width:min(1060px,94vw);max-width:none;max-height:94vh;display:flex}.pf-dialog.assets-mode .pf-progress{flex-direction:column;min-height:0;display:flex!important}.pf-dialog.assets-mode .pf-steps{flex-flow:wrap;gap:6px 22px;margin:8px 0 4px}.pf-dialog.assets-mode .pf-steps li{gap:8px;font-size:13.5px}.pf-dialog.assets-mode .pf-steps .st{width:22px;height:22px}.pf-dialog.assets-mode .pf-summary{display:none}.pf-dialog.assets-mode .pf-assets.show{flex-direction:column;min-height:0;display:flex}.pf-assets{margin-top:14px;display:none}.pf-assets.show{display:block}.pf-assets.show~.pf-error:empty{display:none}.pf-as-lead{color:var(--ink-2);margin:6px 0 0;font-size:13.5px}.pf-as-head{flex-direction:column;gap:3px;margin-bottom:12px;display:flex}.pf-as-head b{font-size:15px}.pf-as-head small{color:var(--ink-2);font-size:12.5px}.pf-as-grid{grid-template-columns:repeat(auto-fill,minmax(296px,1fr));gap:14px;max-height:calc(94vh - 300px);padding:2px;display:grid;overflow:auto}.pf-as-card{background:#fff;border:1px solid #00000014;border-radius:14px;flex-direction:column;gap:8px;padding:10px;transition:opacity .2s;display:flex}.pf-as-card.dropped{opacity:.45}.pf-as-view{aspect-ratio:2;background:#f4f2ee;border-radius:10px;position:relative;overflow:hidden}.pf-as-view>img{object-fit:cover;width:100%;height:100%;display:block}.pf-as-ph{color:var(--ink-2);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;inset:0}.pf-as-ph svg{width:18px;height:18px}.pf-as-ph.err{color:#b4532a}.pf-as-badge{color:var(--ink-2);background:#ffffffeb;border-radius:99px;padding:2px 8px;font-size:11px;position:absolute;top:8px;left:8px;box-shadow:0 1px 3px #00000014}.pf-as-badge.new{color:#2f7a5a}.pf-as-count{color:var(--ink);background:#ffffffeb;border-radius:99px;padding:2px 8px;font-size:11.5px;font-weight:600;position:absolute;bottom:8px;right:8px;box-shadow:0 1px 3px #00000014}.pf-as-card.ro{background:#fbfaf8}.pf-as-card.ro .pf-as-btns{align-items:center;min-height:28px}.pf-as-hint{color:var(--ink-3,#888);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-right:auto;font-size:11.5px;overflow:hidden}.pf-as-off{color:#fff;background:#282828b8;border-radius:99px;padding:2px 8px;font-size:11px;position:absolute;top:8px;right:8px}.pf-as-info{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pf-as-info b{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:55%;font-size:14px;overflow:hidden}.pf-as-info small{color:var(--ink-3,#888);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11.5px;overflow:hidden}.pf-as-refs{gap:6px;display:flex}.pf-as-refs img{object-fit:cover;background:#fff;border:1px solid #00000014;border-radius:7px;width:46px;height:46px}.pf-as-acts{flex-direction:column;gap:6px;display:flex}.pf-as-note{box-sizing:border-box;width:100%;font:inherit;background:#fafaf8;border:1px solid #0000001f;border-radius:8px;padding:6px 9px;font-size:12.5px}.pf-as-note:focus{background:#fff;border-color:#2f9a6a;outline:none}.pf-as-btns{justify-content:flex-end;gap:6px;display:flex}.pf-ghost.sm{align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;display:inline-flex}.pf-ghost.sm svg{width:14px;height:14px}.pf-ghost.sm.strong{color:var(--ink);font-weight:600}.pf-ghost.sm:disabled,.pf-primary:disabled{opacity:.45;cursor:default}.pf-assets .pf-dlg-foot{margin-top:14px}.pf-as-card{scroll-margin:10px}.pf-as-card.flash{transition:box-shadow .3s;box-shadow:0 0 0 2px #2f9a6a}.pf-as-view>img.dim{opacity:.32;filter:blur(1px)}.pf-as-last{color:#2f7a5a;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.pf-as-last.err{color:#b4532a;white-space:normal}.pf-as-empty{color:var(--ink-2);margin:0 0 10px;font-size:13px}.pf-as-add{text-align:center;cursor:pointer;min-height:200px;font:inherit;color:var(--ink-2);background:#fbfaf8;border:1.5px dashed #00000029;justify-content:center;align-items:center;gap:6px}.pf-as-add:hover{color:var(--ink);background:#fff;border-color:#2f9a6a}.pf-as-add svg{color:#2f9a6a;width:26px;height:26px}.pf-as-add b{color:var(--ink);font-size:14px}.pf-as-add small{max-width:220px;font-size:12px}.pf-as-addform{border-color:#2f9a6a}.pf-as-addform b{font-size:14px}.pf-as-addname,.pf-as-adddesc{box-sizing:border-box;width:100%;font:inherit;resize:vertical;background:#fafaf8;border:1px solid #0000001f;border-radius:8px;padding:7px 9px;font-size:13px}.pf-as-addname:focus,.pf-as-adddesc:focus{background:#fff;border-color:#2f9a6a;outline:none}.pf-as-addname.err,.pf-as-adddesc.err{border-color:#b4532a}.pf-as-sum{color:var(--ink-2);font-size:12.5px}.pf-as-mode{background:#f1efec;border-radius:8px;align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.pf-as-mode button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 10px;font-size:12px}.pf-as-mode button.on{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 2px #00000014}.pf-actions{align-items:center;gap:10px;display:flex}.pf-admin{height:42px;box-shadow:var(--shadow-sm);color:var(--ink);background:#fffc;border-radius:21px;align-items:center;padding:0 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.pf-admin:hover{background:#fff}.pf-tabs{gap:6px;margin:-4px 0 20px;display:flex}.pf-tabs button{height:36px;color:var(--ink-2);border-radius:18px;padding:0 18px;font-size:14px}.pf-tabs button:hover{background:#0000000d}.pf-tabs button.on{color:#fff;background:#161616;font-weight:600}.pf-notice{color:var(--ink-2);background:#fff9;border-radius:12px;margin:-6px 0 20px;padding:10px 14px;font-size:13px}.pf-grid[hidden],.pf-lib[hidden]{display:none}.pf-lib-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:18px;display:flex}.pf-lib-head p{color:var(--ink-3);flex:320px;margin:0;font-size:12.5px;line-height:1.6}.pf-lib-seg{background:#0000000f;border-radius:12px;padding:3px;display:inline-flex}.pf-lib-seg button{height:32px;color:var(--ink-2);border-radius:9px;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;display:inline-flex}.pf-lib-seg button.on{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;font-weight:600}.pf-lib-seg i{color:var(--ink-3);font-size:11.5px;font-style:normal;font-weight:500}.pf-lib-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-height:none;overflow:visible}.pf-lib-empty{text-align:center;color:var(--ink-3);margin:60px 0;font-size:14px}.pf-lib-msg{color:#b4532a;margin:0 0 14px;font-size:13px}.pf-as-view.err:after{content:"!";color:#b4532a;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.pf-as-view>img:not([src]){visibility:hidden}.pf-as-badge.st-pending{color:#a8621a}.pf-as-badge.st-temp{color:#6b6863}.pf-as-badge.st-builtin{color:#2f7a5a}.sel-subject{display:none}#sel-chip[data-subject=person] .sel-subject,#sel-chip[data-subject=spot] .sel-subject{display:inline-flex}#sel-chip[data-subject=person] .for-spot,#sel-chip[data-subject=spot] .for-person{display:none}.sel-btn.sel-primary{background:var(--green);color:#fff}.sel-btn.sel-primary:hover{background:#17483a}.pcard{background:var(--panel);width:304px;max-height:calc(100vh - 216px);box-shadow:var(--shadow);color:var(--ink-2);z-index:18;border-radius:18px;flex-direction:column;padding:14px;font-size:13px;display:none;position:absolute;top:70px;right:18px}.pcard.open{animation:.18s ease-out pcIn;display:flex}@keyframes pcIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.pcard .tp-head{flex:none}.pcard.is-spot .pc-for-person,.pcard:not(.is-spot) .pc-for-spot{display:none!important}.pc-body{scrollbar-width:thin;flex-direction:column;flex:1;gap:9px;min-height:0;margin:0 -4px;padding:0 4px 2px;display:flex;overflow-y:auto}.pc-portrait{cursor:pointer;background:#f4f2ee;border-radius:14px;flex:none;height:132px;transition:background .15s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1.5px #14120f1a}.pc-portrait:hover{background:#ece9e4}.pc-img{object-fit:cover;object-position:50% 22%;width:100%;height:100%;display:none}.pc-empty{text-align:center;color:var(--ink-2);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0 22px;font-size:13.5px;font-weight:600;display:flex;position:absolute;inset:0}.pc-empty svg{stroke-width:1.5px;width:26px;height:26px;color:var(--ink-3)}.pc-empty small{color:var(--ink-3);font-size:11.5px;font-weight:400;line-height:1.5}.pc-img-actions{background:linear-gradient(#0000,#00000080);justify-content:flex-end;gap:6px;padding:26px 8px 8px;display:none;position:absolute;bottom:0;left:0;right:0}.pc-img-actions button{height:26px;color:var(--ink);background:#ffffffeb;border-radius:13px;padding:0 11px;font-size:12px;font-weight:600}.pc-img-actions button:hover{background:#fff}.pc-portrait.has-img .pc-img{display:block}.pc-portrait.has-img .pc-empty{display:none}.pc-portrait.has-img .pc-img-actions{display:flex}.pc-field{flex-direction:column;gap:5px;min-width:0;display:flex}.pc-field>span{color:var(--ink-3);font-size:12px}.pc-field input,.pc-field textarea{width:100%;color:var(--ink);font:inherit;resize:none;background:#f3f1ee;border:0;border-radius:9px;outline:0;padding:8px 10px;font-size:13.5px;transition:box-shadow .15s,background .15s;box-shadow:inset 0 0 0 1.5px #0000}.pc-field textarea{line-height:1.55}.pc-field input:focus,.pc-field textarea:focus{box-shadow:inset 0 0 0 1.5px var(--green);background:#fff}.pc-field input::placeholder,.pc-field textarea::placeholder{color:#aeaaa4}.pc-row2{align-items:flex-start;gap:10px;display:flex}.pc-row2>.pc-field:first-child{flex:1}.pc-age{flex:none;width:78px}.pc-gender button{white-space:nowrap;flex:1;padding:6px 0}.pc-tags{flex-wrap:wrap;gap:5px;margin-top:-4px;display:flex}.pc-tags:empty{display:none}.pc-tags span{color:var(--green);background:#1f5a431a;border-radius:11px;padding:3px 9px;font-size:12px;font-weight:600}.pc-colors{flex-wrap:wrap;gap:7px;display:flex}.pc-colors button{border-radius:50%;width:24px;height:24px;transition:transform .12s;box-shadow:inset 0 0 0 1px #00000024}.pc-colors button:hover{transform:scale(1.12)}.pc-colors button.active{box-shadow:0 0 0 2px var(--panel-solid), 0 0 0 4px var(--ink)}.pc-foot{flex:none;gap:8px;margin-top:12px;display:flex}.pc-btn{height:38px;color:var(--ink);background:#f1efec;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.pc-btn:hover{background:#e6e2dc}.pc-btn svg{stroke-width:2px;width:17px;height:17px}.pc-btn.primary{background:var(--green);color:#fff;flex:1.5}.pc-btn.primary:hover{background:#17483a}.pcard.dirty .pc-btn[data-act=save]{color:#fff;background:#1f1e1c}@media (max-width:760px){.pcard{width:auto;max-height:calc(100vh - 250px);top:70px;left:12px;right:12px}}.ro-list{scrollbar-width:thin;flex-direction:column;gap:2px;max-height:46vh;margin:0 -6px;display:flex;overflow-y:auto}.ro-item{cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:7px 8px;transition:background .15s;display:flex}.ro-item:hover{background:#f3f1ee}.ro-item.active{background:#efece8;box-shadow:inset 0 0 0 1.5px #1f1e1c}.ro-face{color:#ffffffeb;background-position:50% 22%;background-size:cover;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 0 0 1px #0000001a}.ro-face svg{width:20px;height:20px}.ro-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ro-meta b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ro-meta span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ro-go{width:32px;height:32px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;display:grid}.ro-go:hover{background:var(--green);color:#fff}.ro-go svg{width:17px;height:17px}.ro-empty{color:var(--ink-3);padding:14px 8px;font-size:12.5px;line-height:1.7}.ro-add,.cam-add{color:#fff;background:#1f1e1c;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;height:38px;margin-top:10px;font-size:13.5px;font-weight:600;transition:background .15s;display:inline-flex}.ro-add:hover,.cam-add:hover{background:#33312e}.ro-add svg,.cam-add svg{stroke-width:2px;width:17px;height:17px}.pop-camera{width:290px;right:0}.pop-camera .pop-title:not(:first-child){margin-top:12px}.cam-list{scrollbar-width:thin;flex-direction:column;gap:2px;max-height:34vh;display:flex;overflow-y:auto}.cam-row{align-items:center;gap:6px;display:flex}.cam-name{text-align:left;min-width:0;height:34px;color:var(--ink);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 8px;font-size:13.5px;display:flex}.cam-name:hover{background:#f3f1ee}.cam-name svg{width:16px;height:16px;color:var(--green);flex:none}.cam-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cam-go{height:28px;color:var(--green);white-space:nowrap;background:#1f5a431a;border-radius:14px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.cam-go:hover{background:var(--green);color:#fff}.cam-go svg{stroke-width:2px;width:14px;height:14px}.cam-empty{color:var(--ink-3);padding:6px 2px;font-size:12.5px}.cam-tip{color:var(--ink-3);margin-top:10px;font-size:11.5px;line-height:1.6}.pv{z-index:80;color:#fff;-webkit-user-select:none;user-select:none;background:#0d0d0c;outline:0;display:none;position:absolute;inset:0}.pv.open{animation:.28s ease-out pvIn;display:block}@keyframes pvIn{0%{opacity:0}to{opacity:1}}.pv-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.pv-canvas.grabbing{cursor:grabbing}.pv-top{pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:14px;left:18px;right:18px}.pv-top>*{pointer-events:auto}.pv-pill,.pv-seg,.pv-status,.pv-note,.pv-toast,.pv-bar,.pv-actions button,.pv-compass{-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);background:#161513b8;box-shadow:0 4px 18px #00000047,inset 0 0 0 1px #ffffff14}.pv-pill{color:#fff;border-radius:22px;align-items:center;gap:6px;height:44px;padding:0 16px 0 10px;font-size:14.5px;font-weight:600;display:flex}.pv-back{transition:background .15s}.pv-back:hover{background:#32302cdb}.pv-back svg{width:20px;height:20px}.pv-title{gap:10px;min-width:0;padding:0 18px 0 6px}.pv-face{background:#ffffff24 50% 22%/cover no-repeat;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.pv-face svg{width:17px;height:17px}.pv-names{flex-direction:column;gap:1px;min-width:0;line-height:1.2;display:flex}.pv-name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.pv-sub{color:#ffffffa8;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:400;overflow:hidden}.pv-seg{border-radius:22px;flex:none;gap:2px;height:44px;margin-left:auto;padding:4px;display:flex}.pv-seg button{color:#ffffffb8;white-space:nowrap;border-radius:18px;height:36px;padding:0 16px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s}.pv-seg button:hover:not(:disabled){color:#fff}.pv-seg button.active{color:#1f1e1c;background:#fff}.pv-seg button:disabled{opacity:.38;cursor:default}.pv-compass{pointer-events:none;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:72px;right:18px}.pv-dial{width:40px;height:40px;position:relative}.pv-dial b{color:#ff6b57;font-size:10.5px;font-weight:700;line-height:1;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.pv-dial i{border:5px solid #0000;border-top-width:0;border-bottom:13px solid #ff6b57;width:0;height:0;margin-left:-5px;position:absolute;top:11px;left:50%}.pv-dial:after{content:"";border:5px solid #0000;border-top:13px solid #ffffffbf;border-bottom-width:0;width:0;height:0;margin-left:-5px;position:absolute;top:24px;left:50%}.pv-status{border-radius:20px;align-items:center;gap:10px;max-width:min(86vw,640px);min-height:40px;padding:8px 16px;font-size:13.5px;line-height:1.45;display:none;position:absolute;top:74px;left:50%;transform:translate(-50%)}.pv-status.show{display:flex}.pv-spin{border:2.2px solid #ffffff47;border-top-color:#fff;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin2;display:none}.pv-status.busy .pv-spin{display:block}.pv-status-text{font-variant-numeric:tabular-nums}.pv-retry{color:#1f1e1c;white-space:nowrap;background:#fff;border-radius:13px;flex:none;height:26px;padding:0 12px;font-size:12.5px;font-weight:600;display:none}.pv-status.can-retry .pv-retry{display:block}.pv-note{color:#ffe2a8;border-radius:20px;align-items:center;gap:10px;max-width:min(90vw,700px);padding:7px 8px 7px 16px;font-size:13px;display:none;position:absolute;top:124px;left:50%;transform:translate(-50%)}.pv-note.show{display:flex}.pv-status:not(.show)+.pv-note{top:74px}.pv-note-btn{color:#2a2110;white-space:nowrap;background:#ffd27a;border-radius:13px;flex:none;height:26px;padding:0 12px;font-size:12.5px;font-weight:600}.pv-note-btn:hover{background:#ffdf9c}.pv-note-x{color:#ffffffb3;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.pv-note-x:hover{color:#fff;background:#ffffff24}.pv-note-x svg{width:15px;height:15px}.pv-toast{opacity:0;pointer-events:none;border-radius:18px;max-width:min(86vw,560px);padding:9px 16px;font-size:13.5px;transition:opacity .2s,transform .2s;position:absolute;bottom:168px;left:50%;transform:translate(-50%,8px)}.pv-toast.show{opacity:1;transform:translate(-50%)}.pv-bottom{pointer-events:none;flex-direction:column;align-items:center;gap:10px;padding:0 16px;display:flex;position:absolute;bottom:18px;left:0;right:0}.pv-bottom>*{pointer-events:auto}.pv-bar{border-radius:27px;align-items:center;gap:8px;width:min(720px,100%);height:54px;padding:0 7px 0 22px;transition:box-shadow .15s;display:flex}.pv-bar:focus-within{box-shadow:0 4px 18px #00000047,inset 0 0 0 1.5px #ffffff80}.pv-input{color:#fff;min-width:0;font:inherit;-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:0;flex:1;font-size:15px}.pv-input::placeholder{color:#ffffff80}.pv-input:disabled{opacity:.5}.pv-send{color:#1f1e1c;white-space:nowrap;background:#fff;border-radius:20px;flex:none;align-items:center;gap:6px;height:40px;padding:0 18px 0 14px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s;display:inline-flex}.pv-send:active:not(:disabled){transform:scale(.96)}.pv-send svg{width:17px;height:17px}.pv-send:disabled{opacity:.4;cursor:default}.pv-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pv-actions button{color:#ffffffe6;white-space:nowrap;border-radius:17px;align-items:center;gap:6px;height:34px;padding:0 14px 0 11px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.pv-actions button:hover:not(:disabled){color:#fff;background:#3c3934db}.pv-actions button:disabled{opacity:.4;cursor:default}.pv-actions svg{width:15px;height:15px}.pv-bottom>.pv-hint{color:#ffffffdb;pointer-events:none;background:#16151366;border-radius:11px;padding:4px 12px;font-size:12px}body.pv-open #ui{visibility:hidden}@media (max-width:760px){.pv-title,.pv-back span{display:none}.pv-back{padding:0 12px}.pv-hint{display:none}.pv-compass{top:68px}}
