@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--lime:#bbfc3a;--lime-dim:#9fd82a;--lime-glow:#bbfc3a1f;--lime-border:#bbfc3a40;--bg-0:#0d0f0d;--bg-1:#131613;--bg-2:#181c18;--bg-3:#1f251f;--border-default:#ffffff12;--border-lime:#bbfc3a2e;--text-primary:#e8ede8;--text-secondary:#7a8a7a;--text-muted:#3d4a3d}@layer base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;margin:0!important;padding:0!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-0);color:var(--text-primary);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}}@layer components{::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--lime)}.no-scroll::-webkit-scrollbar{display:none}.no-scroll{-ms-overflow-style:none;scrollbar-width:none}.cad-object{cursor:pointer;pointer-events:auto}.cad-object:hover:not(.locked){opacity:.85}.cad-grip{fill:var(--lime);stroke:#fff;pointer-events:auto;cursor:pointer}.cad-grip:hover{fill:#fff;stroke:var(--lime)}.tool-btn{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:58px;padding:6px 8px;font-family:Inter,sans-serif;transition:all .15s;display:flex}.tool-btn:hover{background:var(--lime-glow);color:var(--lime);border-color:var(--lime-border)}.tool-btn.active{background:var(--lime-glow);border-color:var(--lime-border);color:var(--lime)}.tool-btn i{font-size:18px}.tool-btn span{text-align:center;white-space:nowrap;letter-spacing:.2px;font-size:10px;font-weight:500}.context-menu{background:var(--bg-1);border:1px solid var(--border-default);border-radius:6px;padding:4px;box-shadow:0 10px 28px #00000073}.context-menu-item{width:100%;min-height:28px;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;font-family:Inter,sans-serif;font-size:12px;display:flex}.context-menu-item i{text-align:center;width:14px;color:var(--text-secondary);font-size:13px}.context-menu-item:hover{background:var(--bg-3);border-color:var(--lime-border);color:var(--lime)}.context-menu-separator{background:var(--border-default);height:1px;margin:4px 2px}.left-btn{cursor:pointer;width:34px;height:34px;color:var(--text-secondary);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.left-btn:hover{background:var(--lime-glow);color:var(--lime)}.left-btn.active{background:var(--lime-glow);border-color:var(--lime-border);color:var(--lime)}.resize-h{cursor:col-resize;z-index:50;background:0 0;width:6px;transition:background .15s;position:absolute;top:0;bottom:0;left:-3px}.resize-h:hover,.resize-h.active{background:var(--lime)}.resize-v{cursor:row-resize;z-index:50;background:0 0;height:6px;transition:background .15s;position:absolute;top:-3px;left:0;right:0}.resize-v:hover,.resize-v.active{background:var(--lime)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-0);border:1px solid var(--border-default);border-radius:8px;width:400px;max-width:90vw;padding:20px;font-family:Inter,sans-serif;box-shadow:0 10px 30px #00000080}}@media print{body>*{display:none!important}.print-canvas-only{display:block!important}}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 4px var(--lime)}50%{opacity:.5;box-shadow:0 0 8px var(--lime)}}.logo-dot{background:var(--lime);border-radius:50%;flex-shrink:0;width:8px;height:8px}.lang-toggle{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;background:#ffffff08;border-radius:999px;padding:8px 16px;font-size:11px;font-weight:500;transition:all .2s}.lang-toggle:hover{border-color:var(--lime-border);background:#ffffff14}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-page .orb{pointer-events:none;z-index:0;background:radial-gradient(circle,#bbfc3a14 0%,#0000 68%);width:820px;height:820px;position:fixed;top:-210px;left:50%;transform:translate(-50%)}.auth-container{z-index:1;text-align:center;width:100%;max-width:400px;position:relative}.auth-logo{letter-spacing:-.5px;color:var(--text-primary);align-items:center;gap:8px;margin-bottom:40px;font-size:23px;font-weight:600;text-decoration:none;display:inline-flex}.auth-title{color:var(--text-primary);margin-bottom:32px;font-size:28px;font-weight:600}.auth-error{color:#ff7f7f;background:#ff7f7f14;border:1px solid #ff7f7f73;border-radius:8px;margin-bottom:24px;padding:12px 16px;font-size:14px}.auth-form{text-align:left;flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary);font-size:14px;font-weight:500}.form-group input{border:1px solid var(--border-default);background:var(--bg-1);height:48px;color:var(--text-primary);border-radius:8px;outline:none;padding:0 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:var(--lime-border);box-shadow:0 0 0 3px var(--lime-glow)}.form-hint{color:var(--text-muted);font-size:12px}.auth-submit{background:var(--lime);height:48px;color:var(--bg-0);cursor:pointer;border:none;border-radius:8px;margin-top:8px;font-size:15px;font-weight:500;transition:opacity .2s}.auth-submit:hover{opacity:.88}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{color:var(--text-secondary);margin-top:24px;font-size:14px}.auth-switch a{color:var(--lime);font-weight:500;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-back{color:var(--text-muted);margin-top:32px;font-size:14px;text-decoration:none;display:inline-block}.auth-back:hover{color:var(--lime)}.loading-screen{background:var(--bg-0);justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--lime);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.pf{--bg:#07090a;--bg-2:#0b0f0c;--bg-3:#10150f;--card:#ffffff08;--lime:#bbfc3a;--lime-soft:#bbfc3a1f;--lime-line:#bbfc3a52;--amber:#ff9500;--blue:#29a3ff;--red:#ff6b6b;--red-soft:#ff6b6b1f;--text:#eef3ee;--text-2:#a9b6a9;--text-3:#8a978a;--line:#ffffff14;--line-2:#ffffff24;--sans:"Geist Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease:cubic-bezier(.2, .7, .2, 1);background:var(--bg);height:100dvh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;scrollbar-color:#ffffff2e transparent;font-size:15px;line-height:1.55;position:relative;overflow:hidden auto}.pf *,.pf :before,.pf :after{box-sizing:border-box}:where(.pf) :is(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0;padding:0}:where(.pf) :is(ul,ol){list-style:none}:where(.pf) a{color:inherit;text-decoration:none}:where(.pf) button,:where(.pf) input,:where(.pf) select{font-family:inherit;font-size:inherit;color:inherit}:where(.pf) svg{flex-shrink:0;display:block}.pf a:focus-visible,.pf button:focus-visible,.pf input:focus-visible,.pf select:focus-visible,.pf [tabindex]:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:8px}.pf-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.pf-bg:before{content:"";background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 55% at 50% 0,#000 20%,#0000 75%);mask-image:radial-gradient(80% 55% at 50% 0,#000 20%,#0000 75%)}.pf-bg:after{content:"";filter:blur(70px);background:radial-gradient(circle,#bbfc3a1f,#0000 65%);border-radius:50%;width:700px;height:700px;margin-left:-520px;position:absolute;top:-360px;left:50%}.pf-header{z-index:60;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);background:#07090ac7;position:sticky;top:0}.pf-header-inner{align-items:center;gap:20px;max-width:1160px;height:64px;margin:0 auto;padding-inline:24px;display:flex}.pf-logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:600;display:inline-flex}.pf-nav{gap:2px;margin-left:12px;display:flex}.pf-nav a{color:var(--text-2);border-radius:8px;padding:8px 14px;font-size:14px;transition:color .2s,background-color .2s}.pf-nav a:hover{color:var(--text);background:#ffffff0d}.pf-nav a.active{color:var(--text);background:#ffffff12}.pf-header-right{align-items:center;gap:10px;margin-left:auto;display:flex}.pf-seg{border:1px solid var(--line-2);background:#ffffff08;border-radius:999px;padding:3px;display:inline-flex}.pf-seg button{color:var(--text-3);font-family:var(--mono);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:500;transition:color .2s,background-color .2s}.pf-seg button:hover{color:var(--text)}.pf-seg button[aria-pressed=true]{background:var(--lime);color:#0b0f06}.pf-usage{border:1px solid var(--line-2);height:34px;color:var(--text-2);white-space:nowrap;background:#ffffff08;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.pf-usage i{background:var(--lime);width:7px;height:7px;box-shadow:0 0 10px var(--lime);border-radius:50%}.pf-usage.low i{background:var(--amber);box-shadow:0 0 10px var(--amber)}.pf-usage.empty i{background:var(--red);box-shadow:0 0 10px var(--red)}.pf-avatar{border:1px solid var(--line-2);width:34px;height:34px;color:var(--text);text-transform:uppercase;background:linear-gradient(135deg,#bbfc3a38,#29a3ff2e);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:inline-grid;overflow:hidden}.pf-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.pf-avatar-lg{width:84px;height:84px;font-size:28px}.pf-menu-wrap{position:relative}.pf-menu-btn{border:1px solid var(--line-2);cursor:pointer;color:var(--text-2);background:#ffffff08;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 3px;transition:border-color .2s,background-color .2s;display:inline-flex}.pf-menu-btn:hover{background:#ffffff0f;border-color:#ffffff47}.pf-menu{z-index:80;border:1px solid var(--line-2);min-width:260px;animation:pfPop .16s var(--ease);background:#0e130f;border-radius:14px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 24px 60px -12px #000000b3}.pf-menu-head{border-bottom:1px solid var(--line);margin-bottom:6px;padding:10px 12px 12px}.pf-menu-head small{color:var(--text-3);font-size:12px;display:block}.pf-menu-head strong{word-break:break-all;font-size:14px;font-weight:600;display:block}.pf-menu a,.pf-menu button.pf-menu-item{width:100%;color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;transition:background-color .15s,color .15s;display:flex}.pf-menu a:hover,.pf-menu button.pf-menu-item:hover{color:var(--text);background:#ffffff0f}.pf-menu .danger:hover{background:var(--red-soft);color:var(--red)}@keyframes pfPop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.pf-main{z-index:1;max-width:1160px;min-height:calc(100dvh - 184px);margin:0 auto;padding:40px 24px 80px;position:relative}.pf-narrow{max-width:760px}.pf-page-head{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.pf-page-head h1{letter-spacing:-.03em;font-size:clamp(28px,4vw,38px);font-weight:600;line-height:1.1}.pf-page-head p{color:var(--text-2);margin-top:6px}.pf-page-head .pf-spacer{flex:1}.pf-footer{z-index:1;border-top:1px solid var(--line);position:relative}.pf-footer-inner{max-width:1160px;color:var(--text-3);flex-wrap:wrap;align-items:center;gap:20px;margin:0 auto;padding:28px 24px;font-size:13px;display:flex}.pf-footer-inner nav{gap:18px;margin-left:auto;display:flex}.pf-footer a:hover{color:var(--text)}.pf-btn{cursor:pointer;white-space:nowrap;height:42px;transition:transform .2s var(--ease), box-shadow .25s, background-color .2s, border-color .2s, opacity .2s;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14.5px;font-weight:550;display:inline-flex}.pf-btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.pf-btn-sm{border-radius:9px;height:34px;padding:0 13px;font-size:13.5px}.pf-btn-lg{height:48px;padding:0 24px;font-size:15.5px}.pf-btn-block{width:100%}.pf-btn-primary{background:linear-gradient(180deg, #cdfd68, var(--lime));color:#0b0f06;box-shadow:0 0 0 1px #bbfc3a80,0 8px 24px -10px #bbfc3a99,inset 0 1px #ffffff80}.pf-btn-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 0 0 1px #bbfc3ab3,0 14px 34px -10px #bbfc3ab3,inset 0 1px #ffffff80}.pf-btn-ghost{border-color:var(--line-2);color:var(--text);background:#ffffff08}.pf-btn-ghost:not(:disabled):hover{background:#ffffff12;border-color:#ffffff42}.pf-btn-danger{background:var(--red-soft);color:var(--red);border-color:#ff6b6b66}.pf-btn-danger:not(:disabled):hover{background:#ff6b6b33}.pf-btn-google{color:#1f1f1f;background:#fff;border-color:#dadce0}.pf-btn-google:not(:disabled):hover{background:#f5f6f7}.pf-link{color:var(--lime);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.pf-link:hover{text-underline-offset:3px;text-decoration:underline}.pf-field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.pf-field>label,.pf-label{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;font-weight:500;display:flex}.pf-field small{color:var(--text-3);font-size:12.5px}.pf-input,.pf-select{border:1px solid var(--line-2);width:100%;height:46px;color:var(--text);background:#ffffff09;border-radius:11px;padding:0 14px;transition:border-color .2s,background-color .2s,box-shadow .2s}.pf-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a978a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.pf-select option{background:#0e130f}.pf-input::placeholder{color:#5f6b61}.pf-input:hover{border-color:#ffffff3d}.pf-input:focus{border-color:var(--lime-line);background:#bbfc3a0a;outline:none;box-shadow:0 0 0 3px #bbfc3a1f}.pf-input[aria-invalid=true]{border-color:#ff6b6b99}.pf-input-wrap{position:relative}.pf-input-wrap .pf-input{padding-right:46px}.pf-input-wrap button{width:34px;height:34px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pf-input-wrap button:hover{color:var(--text);background:#ffffff0f}.pf-divider{color:var(--text-3);align-items:center;gap:14px;margin:20px 0;font-size:13px;display:flex}.pf-divider:before,.pf-divider:after{content:"";background:var(--line);flex:1;height:1px}.pf-alert{border:1px solid var(--line-2);color:var(--text-2);background:#ffffff0a;border-radius:11px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;display:flex}.pf-alert svg{margin-top:2px}.pf-alert-error{background:var(--red-soft);color:#ffb4b4;border-color:#ff6b6b66}.pf-alert-ok{border-color:var(--lime-line);background:var(--lime-soft);color:#d6f9a0}.pf-alert-info{color:#a8d8ff;background:#29a3ff1a;border-color:#29a3ff59}.pf-card{border:1px solid var(--line);background:linear-gradient(#ffffff0a,#ffffff04);border-radius:18px;padding:28px}.pf-card+.pf-card{margin-top:20px}.pf-card h2{letter-spacing:-.01em;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.pf-card h2 svg{color:var(--lime)}.pf-card>p.pf-sub{color:var(--text-2);margin:6px 0 20px;font-size:14px}.pf-card.danger{border-color:#ff6b6b47}.pf-card.danger h2 svg{color:var(--red)}.pf-auth{z-index:1;place-items:center;min-height:100dvh;padding:32px 20px;display:grid;position:relative}.pf-auth-box{width:100%;max-width:440px}.pf-auth-top{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.pf-auth-card{padding:34px 32px}.pf-auth-card h1{letter-spacing:-.03em;margin-bottom:8px;font-size:28px;font-weight:600;line-height:1.15}.pf-auth-card .pf-sub{color:var(--text-2);margin-bottom:24px;font-size:14.5px}.pf-auth-foot{text-align:center;color:var(--text-2);margin-top:22px;font-size:14px}.pf-auth-foot+.pf-auth-foot{margin-top:10px}.pf-auth-foot a{color:var(--lime);font-weight:500}.pf-auth-foot a:hover{text-underline-offset:3px;text-decoration:underline}.pf-status-icon{background:var(--lime-soft);border:1px solid var(--lime-line);width:56px;height:56px;color:var(--lime);border-radius:16px;place-items:center;margin-bottom:18px;display:grid}.pf-status-icon.bad{background:var(--red-soft);color:var(--red);border-color:#ff6b6b66}.pf-spinner{border:2px solid #ffffff26;border-top-color:var(--lime);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite pfSpin}@keyframes pfSpin{to{transform:rotate(360deg)}}.pf-banner{z-index:55;color:#ffd9a1;background:linear-gradient(90deg,#ff950029,#ff950014);border-bottom:1px solid #ff95004d;font-size:14px;position:relative}.pf-banner-inner{flex-wrap:wrap;align-items:center;gap:12px;max-width:1160px;margin:0 auto;padding:10px 24px;display:flex}.pf-banner-inner span{flex:1;min-width:220px}.pf-banner button{color:#ffd9a1;cursor:pointer;background:#ff95001f;border:1px solid #ff950080;border-radius:8px;height:30px;padding:0 12px;font-size:13px;font-weight:550}.pf-banner button:hover:not(:disabled){background:#ff950038}.pf-banner button:disabled{opacity:.6;cursor:default}.pf-banner .pf-banner-x{background:0 0;border-color:#0000;place-items:center;width:30px;padding:0;display:grid}.pf-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.pf-search{flex:1;min-width:220px;max-width:420px;position:relative}.pf-search svg{color:var(--text-3);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.pf-search .pf-input{padding-left:42px}.pf-toolbar .pf-select{width:auto;min-width:170px}.pf-grid{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:20px;display:grid}.pf-draft{border:1px solid var(--line);transition:transform .3s var(--ease), border-color .25s, box-shadow .3s;background:#ffffff06;border-radius:16px;flex-direction:column;display:flex;position:relative}.pf-draft:hover{border-color:var(--lime-line);transform:translateY(-3px);box-shadow:0 20px 50px -20px #000c,0 0 0 1px #bbfc3a14}.pf-thumb{aspect-ratio:4/3;cursor:pointer;background:#0b0f0c;border:0;border-radius:15px 15px 0 0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.pf-thumb img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;transition:transform .5s var(--ease);display:block}.pf-draft:hover .pf-thumb img{transform:scale(1.03)}.pf-thumb-empty{width:100%;height:100%;color:var(--text-3);place-items:center;display:grid}.pf-thumb-badge{border:1px solid var(--line-2);color:var(--text-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07090ac7;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:11.5px;font-weight:500;display:inline-flex;position:absolute;top:10px;left:10px}.pf-draft-body{flex-direction:column;gap:4px;padding:14px 16px 16px;display:flex}.pf-draft-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;text-align:left;cursor:pointer;color:var(--text);background:0 0;border:0;padding:0;font-size:15.5px;font-weight:600;overflow:hidden}.pf-draft-meta{color:var(--text-3);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.pf-draft-meta span+span:before{content:"";background:var(--text-3);vertical-align:middle;border-radius:50%;width:3px;height:3px;margin-right:8px;display:inline-block}.pf-draft-more{z-index:3;position:absolute;top:8px;right:8px}.pf-icon-btn{border:1px solid var(--line-2);width:34px;height:34px;color:var(--text-2);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07090ac7;border-radius:9px;place-items:center;transition:color .2s,border-color .2s,background-color .2s;display:grid}.pf-icon-btn:hover{color:var(--text);border-color:#ffffff4d}.pf-rename{border:1px solid var(--lime-line);width:100%;height:32px;color:var(--text);background:#bbfc3a0d;border-radius:8px;padding:0 8px;font-weight:600}.pf-rename:focus{outline:none;box-shadow:0 0 0 3px #bbfc3a1f}.pf-skeleton{aspect-ratio:4/3.9;border:1px solid var(--line);background:linear-gradient(100deg,#ffffff08 30%,#ffffff12 50%,#ffffff08 70%) 0 0/200% 100%;border-radius:16px;animation:1.4s linear infinite pfShimmer}@keyframes pfShimmer{to{background-position:-200% 0}}.pf-empty{text-align:center;border:1px dashed var(--line-2);background:#ffffff04;border-radius:20px;padding:72px 20px}.pf-empty .pf-status-icon{margin:0 auto 18px}.pf-empty h2{letter-spacing:-.02em;font-size:22px;font-weight:600}.pf-empty p{color:var(--text-2);max-width:420px;margin:8px auto 24px}.pf-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020403b3;place-items:center;padding:20px;animation:.18s pfFade;display:grid;position:fixed;inset:0}.pf-modal{border:1px solid var(--line-2);width:100%;max-width:460px;max-height:90dvh;animation:pfPop .2s var(--ease);background:#0d120e;border-radius:18px;padding:26px;overflow:auto;box-shadow:0 40px 100px -20px #000000d9}.pf-modal h3{letter-spacing:-.02em;margin-bottom:8px;font-size:20px;font-weight:600}.pf-modal p{color:var(--text-2);margin-bottom:18px;font-size:14.5px}.pf-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;display:flex}@keyframes pfFade{0%{opacity:0}to{opacity:1}}.pf-toasts{z-index:300;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.pf-toast{pointer-events:auto;border:1px solid var(--line-2);animation:pfPop .2s var(--ease);background:#131a14;border-radius:12px;align-items:center;gap:10px;padding:11px 16px;font-size:14px;display:inline-flex;box-shadow:0 20px 50px -10px #000c}.pf-toast.ok svg{color:var(--lime)}.pf-toast.err svg{color:var(--red)}.pf-share-row{gap:8px;margin:14px 0 6px;display:flex}.pf-share-row .pf-input{font-family:var(--mono);font-size:12.5px}.pf-profile-top{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.pf-profile-top h3{font-size:18px;font-weight:600}.pf-profile-top p{color:var(--text-3);font-size:13px}.pf-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.pf-row:first-of-type{border-top:0}.pf-row strong{font-weight:550;display:block}.pf-row small{color:var(--text-3)}.pf-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.pf-pill{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.pf-pill.ok{border-color:var(--lime-line);color:var(--lime);background:var(--lime-soft)}.pf-pill.warn{color:#ffb85c;background:#ff95001a;border-color:#ff950066}.pf-meter{background:#ffffff12;border-radius:99px;height:8px;margin:10px 0 8px;overflow:hidden}.pf-meter i{background:linear-gradient(90deg, var(--lime), #7bd91d);height:100%;transition:width .6s var(--ease);border-radius:99px;display:block}.pf-prose h1{letter-spacing:-.03em;margin-bottom:8px;font-size:clamp(30px,4.5vw,42px);font-weight:600;line-height:1.1}.pf-prose .pf-meta{color:var(--text-3);margin-bottom:36px;font-size:13.5px}.pf-prose h2{letter-spacing:-.01em;margin:34px 0 10px;font-size:19px;font-weight:600}.pf-prose p,.pf-prose li{color:var(--text-2)}.pf-prose p+p{margin-top:12px}.pf-prose ul{flex-direction:column;gap:8px;margin:10px 0 0 4px;display:flex}.pf-prose li{padding-left:20px;position:relative}.pf-prose li:before{content:"";background:var(--lime);border-radius:2px;width:6px;height:6px;position:absolute;top:.7em;left:2px}.pf-prose a{color:var(--lime)}.pf-shared-view{border:1px solid var(--line);background:#0b0f0c;border-radius:18px;overflow:hidden}.pf-shared-view img{-o-object-fit:contain;object-fit:contain;width:100%;height:auto;max-height:72vh;display:block}@media (width<=760px){.pf-header-inner{gap:10px;height:58px;padding-inline:16px}.pf-nav,.pf-usage{display:none}.pf-main{padding:28px 16px 64px}.pf-card{padding:22px 18px}.pf-auth-card{padding:26px 20px}.pf-form-grid{grid-template-columns:1fr}.pf-footer-inner nav{margin-left:0}.pf-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.pf-menu{min-width:0;position:fixed;top:64px;left:12px;right:12px}.pf-menu-btn .pf-menu-caret{display:none}}@media (prefers-reduced-motion:reduce){.pf *,.pf :before,.pf :after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.pf-profile{gap:18px;display:grid}.pf-section{padding:6px 26px 10px}.pf-section>h2{letter-spacing:-.01em;color:var(--text);align-items:center;gap:10px;padding:18px 0 8px;font-size:16px;font-weight:600;display:flex}.pf-section>h2 svg{color:var(--lime)}.pf-section>.pf-alert{margin-top:8px}.pf-danger>h2 svg{color:var(--red)}.pf-danger{border-color:#ff6b6b40}.pf-row{align-items:flex-start}.pf-section>.pf-row:first-of-type,.pf-section>.pf-alert+.pf-row{border-top:0}.pf-row-label{flex:220px;max-width:280px;padding-top:6px}.pf-row-label small{margin-top:2px;line-height:1.45;display:block}.pf-row-body{flex:1.6 280px;min-width:0}.pf-inline{align-items:center;gap:10px;display:flex}.pf-inline .pf-input{flex:1;min-width:0}@media (width<=640px){.pf-section{padding:4px 18px 8px}.pf-row-label{max-width:none;padding-top:0}.pf-row-body{flex-basis:100%}}.pf.pf-layer{background:0 0;width:0;height:0;font-size:15px;position:static;overflow:visible}.pf.pf-top{background:0 0;flex-shrink:0;height:auto;font-size:14px;position:static;overflow:visible}.pf-editorbar{z-index:70;border-bottom:1px solid var(--line);background:#090c0a;align-items:center;gap:10px;height:48px;padding:0 12px;display:flex;position:relative}.pf-editorbar .pf-menu-wrap{flex-shrink:0}.pf-spacer{flex:1}.pf-bar-sep{background:var(--line-2);flex-shrink:0;width:1px;height:22px}.pf-bar-title{min-width:0;max-width:320px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-weight:600;display:inline-flex}.pf-bar-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pf-bar-title svg{color:var(--text-3);opacity:0;transition:opacity .15s}.pf-bar-title:hover{border-color:var(--line-2);background:#ffffff0a}.pf-bar-title:hover svg,.pf-bar-title:focus-visible svg{opacity:1}.pf-bar-title.static{cursor:default;pointer-events:none}.pf-bar-name{width:260px;max-width:40vw}.pf-save{color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.pf-save.saving svg{animation:1s linear infinite pfSpin}.pf-save.saved svg{color:var(--lime)}.pf-save.error,.pf-save.error svg{color:var(--red)}.pf-save.unsaved svg{color:var(--amber)}.pf-banner-guest{border-bottom-color:var(--lime-line);color:#dff5b0;background:linear-gradient(90deg,#bbfc3a1f,#bbfc3a0a)}.pf-versions{flex-direction:column;gap:6px;max-height:50dvh;margin-top:14px;display:flex;overflow:auto}.pf-versions li{border:1px solid var(--line);background:#ffffff05;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.pf-versions strong{font-weight:550;display:block}.pf-versions small{color:var(--text-3)}@media (width<=900px){.pf-save{display:none}.pf-bar-title{max-width:140px}}@media (width<=760px){.pf-hide-sm{display:none!important}.pf-editorbar{gap:6px;padding:0 8px}.pf-editorbar .pf-seg button{padding:4px 8px}}.pf-draft:has(.pf-menu){z-index:8}.pf-usage-short{font-family:var(--mono);font-size:12px;display:none}@media (width<=760px){.pf-editorbar .pf-usage{gap:6px;padding:0 9px;display:inline-flex}.pf-editorbar .pf-usage-text{display:none}.pf-editorbar .pf-usage-short{display:inline}.pf-editorbar .pf-logo,.pf-editorbar .pf-bar-sep,.pf-editorbar .pf-bar-title,.pf-editorbar .pf-bar-name{display:none}.pf-editorbar>*{flex-shrink:0}.pf-editorbar .pf-spacer{flex:1 1 0;min-width:0}}
