.ptg a:not(.pt-btn){color:inherit}.ptg__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.ptg__head h1{font-family:var(--pt-serif);font-weight:600;font-size:clamp(32px,4.6vw,54px);line-height:1.05;margin:8px 0 10px;color:var(--pt-text)}.ptg__intro{max-width:640px;margin:0;color:var(--pt-muted);font-size:16px}.ptg__search{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--pt-line);border-radius:12px;background:var(--pt-panel)}.ptg__field{display:grid;gap:5px;color:var(--pt-muted);font-size:12px;font-weight:700;letter-spacing:.02em}.ptg__field--grow{flex:1 1 240px}.ptg__field input,.ptg__field select{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--pt-line-2);background:var(--pt-panel-2);color:var(--pt-text);font:500 13px var(--pt-font);min-width:0}.ptg__field input:focus,.ptg__field select:focus{outline:none;border-color:var(--pt-accent)}.ptg__filters{display:grid;gap:10px;margin:16px 0 6px}.ptg__filter-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start}.ptg__filter-label{padding-top:5px;color:var(--pt-faint);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ptg__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.ptg .ptg__chip{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--pt-line-2);color:var(--pt-muted);font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.ptg .ptg__chip:hover{color:var(--pt-text);border-color:#454b58;background:var(--pt-panel-2)}.ptg .ptg__chip[aria-current]{color:var(--pt-accent-2);border-color:#f2c14e99;background:#f2c14e1f}.ptg__active{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:12px 0 0;color:var(--pt-muted);font-size:13px}.ptg__active span{color:var(--pt-text);font-weight:600}.ptg .ptg__active a{color:var(--pt-accent-2)}.ptg__empty{display:grid;justify-items:start;gap:14px;margin:28px 0;padding:28px;border:1px dashed var(--pt-line-2);border-radius:14px;color:var(--pt-muted);font-size:16px}.ptg__empty p{margin:0}.ptg__grid{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0 0;padding:0;list-style:none}.ptg__grid:after{content:"";flex-grow:999}.ptg__item{--ar: 1.5;flex-grow:var(--ar);flex-basis:calc(var(--ar) * 200px);min-width:0;display:grid;align-content:start;gap:7px}.ptg__card{display:block;border-radius:10px;overflow:hidden;background:#000;box-shadow:0 0 0 1px #ffffff0f;transition:transform .15s,box-shadow .15s}.ptg__card:hover,.ptg__card:focus-visible{transform:translateY(-2px);box-shadow:0 14px 40px #00000080,0 0 0 1px #f2c14e73}.ptg__card img{display:block;width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover}.ptg__caption{display:grid;gap:2px;min-width:0}.ptg .ptg__title{color:var(--pt-text);font-weight:700;font-size:14px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptg .ptg__title:hover{color:var(--pt-accent-2)}.ptg__meta{display:flex;justify-content:space-between;gap:10px;color:var(--pt-faint);font-size:12.5px}.ptg__author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptg__likes{flex:none;color:var(--pt-muted)}.ptg__pages{display:flex;align-items:center;justify-content:center;gap:14px;margin:34px 0 0;color:var(--pt-muted)}.ptg__back{margin:40px 0 0}.ptg__back a,.ptw .ptg__back a{color:var(--pt-muted);font-weight:600;text-decoration:none}.ptg__back a:hover,.ptw .ptg__back a:hover{color:var(--pt-text)}.ptw__private{margin:0 0 14px;padding:10px 14px;border-radius:10px;border:1px solid rgba(242,193,78,.4);background:#f2c14e14;color:var(--pt-accent-2);font-weight:600}.ptw__figure{display:flex;justify-content:center;margin:0;padding:clamp(10px,2.4vw,28px);border-radius:16px;background:var(--pt-stage);box-shadow:inset 0 0 0 1px #ffffff0d}.ptw__figure img{display:block;max-width:100%;max-height:min(78vh,1100px);width:auto;height:auto;border-radius:6px;box-shadow:0 30px 80px #0000008c}.ptw__info{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:32px;margin-top:28px}.ptw__title{font-family:var(--pt-serif);font-weight:600;font-size:clamp(28px,4vw,46px);line-height:1.08;margin:8px 0 12px;color:var(--pt-text);overflow-wrap:anywhere}.ptw__byline{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;color:var(--pt-muted);font-size:14px}.ptw__byline strong{color:var(--pt-text)}.ptw__parent{margin:10px 0 0}.ptw .ptw__parent a{color:var(--pt-accent-2);text-decoration:none}.ptw__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.ptw__actions .pt-btn{height:36px;padding:0 14px}.ptw__like[aria-pressed=true]{border-color:#ff6b5a99;background:#ff6b5a24;color:#ffb4aa}.ptw__like[aria-pressed=true]:hover{background:#ff6b5a38;color:#ffcdc6}.ptw__side h2{margin:0 0 10px;color:var(--pt-faint);font-family:var(--pt-font);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ptw__side ul+h2{margin-top:22px}.ptw__layers,.ptw__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.ptw__layers a,.ptw__layers span,.ptw__tags a{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--pt-line-2);background:var(--pt-panel);color:var(--pt-text);font-size:13px;font-weight:600;text-decoration:none}.ptw__tags a{background:transparent;color:var(--pt-muted)}.ptw__layers a:hover,.ptw__tags a:hover{border-color:#f2c14e99;color:var(--pt-accent-2)}@media (max-width: 860px){.ptw__info{grid-template-columns:1fr;gap:24px}.ptg__filter-row{grid-template-columns:1fr;gap:6px}.ptg__filter-label{padding-top:0}.ptg__chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}.ptg__chips::-webkit-scrollbar{display:none}.ptg__item{flex-basis:calc(var(--ar) * 150px)}}.pt-publish{display:grid;gap:16px}.pt-modal--publish .pt-btn--accent,.pt-modal--publish .pt-btn--accent:hover{color:var(--pt-accent-ink)}.pt-publish__preview{display:flex;justify-content:center;align-items:center;min-height:120px;padding:12px;border-radius:12px;background:var(--pt-stage);box-shadow:inset 0 0 0 1px #ffffff0d}.pt-publish__preview:empty:before{content:"";width:28px;height:28px;border-radius:50%;border:2px solid var(--pt-line-2);border-top-color:var(--pt-accent);animation:pt-publish-spin .9s linear infinite}.pt-publish__preview img{display:block;max-width:100%;max-height:240px;width:auto;height:auto;border-radius:6px}.pt-publish__fields{display:grid;gap:12px}.pt-publish__field{display:grid;gap:6px}.pt-publish__input{width:100%;height:34px;font-size:13px}.pt-publish__toggle{display:grid;gap:3px}.pt-publish__hint{color:var(--pt-faint);font-size:12px;line-height:1.4}.pt-publish__note{margin:0;padding:9px 12px;border-radius:9px;background:var(--pt-panel-2);color:var(--pt-muted);font-size:12.5px;line-height:1.45}.pt-publish__note a{color:var(--pt-accent-2);font-weight:600}.pt-publish__status{margin:0;min-height:1.4em;color:var(--pt-muted);font-size:12.5px}.pt-publish__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pt-publish__result{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--pt-line)}.pt-publish__result[hidden]{display:none}@keyframes pt-publish-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ptg__card,.pt-publish__preview:empty:before{transition:none;animation:none}}:root{--pt-bg: #0f1013;--pt-stage: #0b0c0e;--pt-panel: #16181d;--pt-panel-2: #1d2027;--pt-panel-3: #252932;--pt-line: #2a2e37;--pt-line-2: #353a45;--pt-text: #ecebe6;--pt-muted: #9aa0ab;--pt-faint: #6b7280;--pt-accent: #f2c14e;--pt-accent-2: #ffd97a;--pt-accent-ink: #1c1504;--pt-audio: #74e0c1;--pt-danger: #ff6b5a;--pt-radius: 10px;--pt-font: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--pt-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--pt-serif: "Fraunces", Georgia, serif}body.pt-body{background:var(--pt-bg);color:var(--pt-text);font-family:var(--pt-font)}.pt-app,.pt-app *,.pt-pop,.pt-pop *,.pt-modal,.pt-modal *{box-sizing:border-box}.pt-app{position:relative;height:100vh;height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top top" "main side";background:var(--pt-bg);color:var(--pt-text);font-family:var(--pt-font);font-size:13px;line-height:1.35;overflow:hidden}:where(.pt-app,.pt-pop,.pt-modal) button{font:inherit;color:inherit}.pt-top{grid-area:top;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--pt-panel);border-bottom:1px solid var(--pt-line);min-width:0;flex-wrap:wrap}.pt-brand{display:inline-flex;align-items:center;gap:7px;color:var(--pt-text);text-decoration:none;font-family:var(--pt-serif);font-weight:700;font-size:19px;letter-spacing:.01em;padding-right:4px}.pt-brand:hover{color:var(--pt-accent-2)}.pt-brand__mark{color:var(--pt-accent);font-size:20px}.pt-title{width:170px;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--pt-text);padding:5px 8px;font:600 13px var(--pt-font)}.pt-title:hover,.pt-title:focus{border-color:var(--pt-line-2);background:var(--pt-panel-2);outline:none}.pt-top__group{display:inline-flex;align-items:center;gap:4px}.pt-top__spacer{flex:1}.pt-custom-size{display:inline-flex;align-items:center;gap:3px;color:var(--pt-muted)}.pt-custom-size[hidden]{display:none}.pt-btn,.pt-toggle{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--pt-line-2);background:var(--pt-panel-2);color:var(--pt-text);font-weight:600;font-size:13px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.pt-btn:hover,.pt-toggle:hover{background:var(--pt-panel-3);border-color:#454b58;color:var(--pt-text)}.pt-btn:disabled{opacity:.45;cursor:default}.pt-btn--sm{height:28px;padding:0 10px;font-size:12px}.pt-btn--accent{background:var(--pt-accent);border-color:var(--pt-accent);color:var(--pt-accent-ink)}.pt-btn--accent:hover{background:var(--pt-accent-2);border-color:var(--pt-accent-2);color:var(--pt-accent-ink)}.pt-btn--ghost{background:transparent}.pt-btn--danger{border-color:#ff6b5a80;color:#ffb4aa}.pt-toggle.is-on{background:#f2c14e24;border-color:#f2c14e99;color:var(--pt-accent-2)}.pt-toggle[hidden]{display:none}.pt-icon-btn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--pt-muted);cursor:pointer;font-size:14px;text-decoration:none;flex:none}.pt-icon-btn:hover{background:var(--pt-panel-3);color:var(--pt-text)}.pt-icon-btn:disabled{opacity:.35;cursor:default}.pt-select,.pt-text,.pt-num{background:var(--pt-panel-2);border:1px solid var(--pt-line-2);border-radius:7px;color:var(--pt-text);font:500 12px var(--pt-font);height:30px;padding:0 8px;min-width:0}.pt-select:focus,.pt-text:focus,.pt-num:focus{outline:none;border-color:var(--pt-accent)}.pt-select--size{max-width:200px}.pt-num{width:58px;font-family:var(--pt-mono);font-size:11.5px;text-align:right;padding:0 6px}.pt-num--wide{width:74px}.pt-num[hidden]{display:none}.pt-main{grid-area:main;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0}.pt-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.045) 1px,transparent 0) 0 0 / 22px 22px,radial-gradient(ellipse at 50% 40%,#15171b,var(--pt-stage) 70%)}.pt-frame{position:relative;box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0f;border-radius:3px;overflow:hidden;cursor:zoom-in;touch-action:none}.pt-canvas{display:block;width:100%;height:100%}.pt-status{position:absolute;left:14px;top:12px;padding:4px 10px;border-radius:999px;background:#0f1013cc;color:var(--pt-accent-2);font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none}.pt-status.is-on{opacity:1}.pt-errors{position:absolute;left:14px;bottom:12px;max-width:60%;padding:6px 10px;border-radius:8px;background:#501410e6;color:#ffd2cc;font-size:12px}.pt-zoom-badge{position:absolute;right:58px;top:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--pt-line-2);background:#0f1013d9;color:var(--pt-text);font-size:12px;cursor:pointer}.pt-zoom-badge[hidden],.pt-errors[hidden]{display:none}.pt-bottom{border-top:1px solid var(--pt-line);background:var(--pt-panel);padding:8px 12px;display:grid;gap:8px}.pt-palette{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pt-palette__swatches{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.pt-palette__tools{display:flex;gap:5px;flex-wrap:wrap}.pt-swatch{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.12);cursor:pointer;display:grid;place-items:center;font-size:12px;padding:0;transition:transform .1s}.pt-swatch:hover{transform:translateY(-2px)}.pt-swatch.is-bg{outline:2px solid var(--pt-accent);outline-offset:2px}.pt-swatch--add{background:var(--pt-panel-2);color:var(--pt-muted);border-style:dashed;font-size:18px}.pt-swatch--transparent{background:conic-gradient(#444 0,#444 25%,#777 0,#777 50%,#444 0,#444 75%,#777 0) 0 0 / 12px 12px}.pt-side{grid-area:side;display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:var(--pt-panel);border-left:1px solid var(--pt-line);scrollbar-width:thin;scrollbar-color:#3a3f4a transparent}.pt-layers{border-bottom:1px solid var(--pt-line);padding:10px 10px 8px}.pt-layers__head,.pt-params__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pt-layers__head h2,.pt-params__head h2{margin:0;font-size:13px;font-weight:800;letter-spacing:.02em}.pt-layers__list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:3px;max-height:34vh;overflow-y:auto}.pt-layer{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 6px;border-radius:8px;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.pt-layer:hover{background:var(--pt-panel-2)}.pt-layer.is-selected{background:#f2c14e1a;border-color:#f2c14e73}.pt-layer.is-hidden .pt-layer__name{opacity:.45}.pt-layer.has-error .pt-layer__icon{color:var(--pt-danger)}.pt-layer.is-drop{border-top-color:var(--pt-accent)}.pt-layer.is-dragging{opacity:.4}.pt-layer__icon{color:var(--pt-accent);text-align:center;font-size:14px}.pt-layer__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.pt-layer__name small{color:var(--pt-muted);font-weight:500}.pt-layer__tools{display:flex;gap:0}.pt-layer__tools .pt-icon-btn{width:24px;height:24px;font-size:12px}.pt-layers__empty,.pt-empty{color:var(--pt-muted);padding:10px 4px}.pt-params{padding:10px 10px 40px}.pt-params__title h2{font-size:15px}.pt-params__title p{margin:3px 0 0;color:var(--pt-muted);font-size:12px}.pt-params__tools{display:flex;gap:2px;align-self:flex-start}.pt-params__error{margin:8px 0 0;padding:6px 8px;border-radius:7px;background:#ff6b5a1f;color:#ffc0b8;font-size:12px}.pt-params__error[hidden]{display:none}.pt-params__body{margin-top:10px;display:grid;gap:7px}.pt-section{margin-top:12px;border-top:1px solid var(--pt-line);padding-top:8px;display:grid;gap:7px}.pt-section>summary{cursor:pointer;color:var(--pt-muted);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;list-style:none;padding:2px 0}.pt-section>summary:before{content:"▸ "}.pt-section[open]>summary:before{content:"▾ "}.pt-ctl{display:grid;align-items:center;gap:8px;min-width:0}.pt-ctl--slider{grid-template-columns:104px minmax(0,1fr) 58px 24px}.pt-ctl--choice,.pt-ctl--color,.pt-ctl--text,.pt-ctl--seed{grid-template-columns:104px minmax(0,1fr)}.pt-ctl--text{grid-template-columns:104px minmax(0,1fr) auto}.pt-ctl--seed{grid-template-columns:104px auto auto;justify-content:start}.pt-ctl--toggle{grid-template-columns:1fr auto;cursor:pointer;position:relative}.pt-ctl__label{color:#c9ccd3;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-ctl--slider .pt-ctl__label{cursor:default}.pt-ctl input[type=range],.pt-pop input[type=range],.pt-modal input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;background:transparent;cursor:pointer;margin:0}.pt-ctl input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--pt-line-2),#424855)}.pt-ctl input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--pt-line-2)}.pt-app input[type=range]::-webkit-slider-thumb,.pt-pop input[type=range]::-webkit-slider-thumb,.pt-modal input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--pt-text);border:2px solid var(--pt-bg);box-shadow:0 0 0 1px #ffffff40}.pt-app input[type=range]::-moz-range-thumb,.pt-pop input[type=range]::-moz-range-thumb,.pt-modal input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--pt-text);border:2px solid var(--pt-bg)}.pt-app input[type=range]:focus-visible::-webkit-slider-thumb{background:var(--pt-accent)}.pt-seg{display:flex;flex-wrap:wrap;gap:2px;background:var(--pt-panel-2);border:1px solid var(--pt-line-2);border-radius:8px;padding:2px;min-width:0}.pt-seg__btn{flex:1 1 auto;min-width:0;height:24px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:var(--pt-muted);font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap}.pt-seg__btn:hover{color:var(--pt-text)}.pt-seg__btn.is-on{background:var(--pt-panel-3);color:var(--pt-accent-2);box-shadow:inset 0 0 0 1px #f2c14e59}.pt-ctl--toggle input{position:absolute;opacity:0;pointer-events:none}.pt-switch{width:32px;height:18px;border-radius:999px;background:var(--pt-line-2);position:relative;transition:background .15s}.pt-switch:after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--pt-text);transition:transform .15s}.pt-ctl--toggle input:checked+.pt-switch{background:var(--pt-accent)}.pt-ctl--toggle input:checked+.pt-switch:after{transform:translate(14px);background:var(--pt-accent-ink)}.pt-ctl--toggle input:focus-visible+.pt-switch{box-shadow:0 0 0 2px var(--pt-accent)}.pt-swatch-pick{display:flex;gap:3px;flex-wrap:wrap}.pt-swatch-pick__b{width:22px;height:22px;border-radius:6px;border:1px solid rgba(255,255,255,.15);cursor:pointer;padding:0}.pt-swatch-pick__b.is-bg{background:repeating-linear-gradient(45deg,#444 0,#444 4px,#666 4px,#666 8px)}.pt-swatch-pick__b.is-auto{background:conic-gradient(from 45deg,#f2c14e,#74e0c1,#6f8bff,#ff6b8a,#f2c14e)}.pt-swatch-pick__b.is-on{outline:2px solid var(--pt-accent);outline-offset:1px}.pt-mod-btn{width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--pt-faint);cursor:pointer;font-size:13px;padding:0}.pt-mod-btn:hover{color:var(--pt-text);background:var(--pt-panel-3)}.pt-mod-btn.is-on{color:var(--pt-accent);border-color:#f2c14e66}.pt-mod-btn.is-audio{color:var(--pt-audio);border-color:#74e0c173}.pt-pop{position:fixed;z-index:1060;width:280px;padding:12px;border-radius:12px;border:1px solid var(--pt-line-2);background:#1a1d23;color:var(--pt-text);font-family:var(--pt-font);font-size:13px;box-shadow:0 20px 50px #0000008c;display:grid;gap:8px}.pt-pop h3{margin:0 0 2px;font-size:13px;font-weight:800}.pt-pop .pt-ctl--slider{grid-template-columns:90px minmax(0,1fr) 52px}.pt-pop .pt-ctl--choice{grid-template-columns:90px minmax(0,1fr)}.pt-pop__hint{margin:0;color:var(--pt-muted);font-size:12px}.pt-pop__row{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:center}.pt-pop__preview{width:40px;height:30px;border-radius:7px;border:1px solid rgba(255,255,255,.15)}.pt-pop__actions{display:flex;flex-wrap:wrap;gap:5px}.pt-oklch{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center;font-size:12px;color:#c9ccd3;font-weight:600}.pt-oklch input[type=range]{height:16px;border-radius:8px}.pt-oklch input[type=range]::-webkit-slider-runnable-track{background:transparent;height:16px}.pt-oklch input[type=range]::-webkit-slider-thumb{margin-top:1px}.pt-modal{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:0;border-radius:16px;border:1px solid var(--pt-line-2);background:#17191e;color:var(--pt-text);font-family:var(--pt-font);font-size:13px;box-shadow:0 40px 100px #0009;overflow:hidden}.pt-modal[open]{display:flex;flex-direction:column}.pt-modal--wide{width:min(1100px,calc(100vw - 24px));height:min(760px,calc(100dvh - 40px))}.pt-modal::backdrop{background:#050608a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pt-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--pt-line)}.pt-modal__head h2{margin:0;font-family:var(--pt-serif);font-size:19px;font-weight:600}.pt-modal__body{padding:14px 16px 18px;overflow:auto;flex:1}.pt-picker__bar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.pt-tabs{display:flex;gap:4px;flex-wrap:wrap}.pt-tab{height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--pt-line-2);background:transparent;color:var(--pt-muted);cursor:pointer;font-weight:600}.pt-tab:hover{color:var(--pt-text)}.pt-tab.is-on{background:var(--pt-accent);border-color:var(--pt-accent);color:var(--pt-accent-ink)}.pt-picker__search{width:200px}.pt-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.pt-picker__family{grid-column:1 / -1;margin:10px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--pt-muted)}.pt-card{display:grid;grid-template-rows:auto auto 1fr;gap:4px;text-align:left;padding:8px;border-radius:12px;border:1px solid var(--pt-line);background:var(--pt-panel);cursor:pointer;transition:border-color .12s,transform .12s}.pt-card:hover{border-color:var(--pt-accent);transform:translateY(-2px)}.pt-card__img{aspect-ratio:8 / 5;border-radius:8px;overflow:hidden;background:linear-gradient(110deg,#1c1f25 30%,#262a32,#1c1f25 70%) 0 0 / 300% 100%;animation:pt-shimmer 1.4s linear infinite}.pt-card__img:has(canvas){animation:none}.pt-card__canvas{width:100%;height:100%;display:block}@keyframes pt-shimmer{to{background-position:-150% 0}}.pt-card__name{font-weight:700;font-size:13px;margin-top:3px}.pt-card__desc{color:var(--pt-muted);font-size:11.5px;line-height:1.35}.pt-card--recipe{grid-template-rows:auto 1fr;min-height:80px}.pt-lib__group{margin:14px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--pt-muted)}.pt-lib__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.pt-lib__item{display:grid;gap:5px;padding:6px;border-radius:9px;border:1px solid var(--pt-line);background:var(--pt-panel);cursor:pointer;text-align:left;font-size:12px;color:var(--pt-muted)}.pt-lib__item:hover{border-color:var(--pt-accent);color:var(--pt-text)}.pt-mini{display:flex;height:26px;border-radius:6px;overflow:hidden}.pt-mini i{flex:1}.pt-harmony{display:grid;gap:10px}.pt-harmony__preview .pt-mini{height:44px}.pt-export{display:grid;gap:12px}.pt-export__opts{display:grid;grid-template-columns:130px 1fr;gap:8px 10px;align-items:center}.pt-export__opts[hidden]{display:none}.pt-export__opts .pt-ctl--toggle{grid-column:1 / -1}.pt-export__size,.pt-export__note{margin:0;color:var(--pt-muted);grid-column:1 / -1}.pt-export__actions{display:flex;justify-content:flex-end}.pt-progress{width:100%;height:6px;accent-color:var(--pt-accent)}.pt-progress[hidden]{display:none}.pt-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:1080;padding:9px 16px;border-radius:999px;background:var(--pt-text);color:var(--pt-bg);font:600 13px var(--pt-font);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.pt-toast.is-on{opacity:1;transform:translate(-50%)}.pt-fatal{grid-column:1 / -1;grid-row:1 / -1;place-self:center;max-width:460px;text-align:center;color:var(--pt-muted)}.pt-fatal h2{font-family:var(--pt-serif);color:var(--pt-text)}.pt-article{max-width:1120px;margin:0 auto;padding:64px 20px 80px;color:#d6d6d0;font-family:var(--pt-font);font-size:15px;line-height:1.6}.pt-article h1,.pt-article h2{font-family:var(--pt-serif);color:var(--pt-text);font-weight:600;line-height:1.15}.pt-article h1{font-size:clamp(28px,4vw,44px);margin:6px 0 14px}.pt-article h2{font-size:26px;margin:48px 0 10px}.pt-eyebrow{margin:0;color:var(--pt-accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.pt-lead{max-width:760px;font-size:17px;color:#c8c8c2}.pt-how__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.pt-how__item{padding:16px;border-radius:14px;border:1px solid var(--pt-line);background:var(--pt-panel)}.pt-how__item h3{margin:0 0 6px;font-size:15px;color:var(--pt-accent-2)}.pt-how__item p{margin:0;font-size:14px;color:var(--pt-muted)}.pt-catalog__family{margin:26px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--pt-muted)}.pt-catalog__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.pt-catalog__list a{display:grid;gap:4px;padding:10px;height:100%;border-radius:12px;border:1px solid var(--pt-line);background:var(--pt-panel);color:var(--pt-text);text-decoration:none}.pt-catalog__list a:hover{border-color:var(--pt-accent)}.pt-catalog__list img{width:100%;height:auto;border-radius:8px;aspect-ratio:8 / 5;object-fit:cover}.pt-catalog__list strong{font-size:14px}.pt-catalog__list span{color:var(--pt-muted);font-size:12.5px;line-height:1.4}@media (max-width: 1100px){.pt-app{grid-template-columns:minmax(0,1fr) 320px}.pt-title{width:120px}}@media (max-width: 860px){.pt-app{height:auto;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"top" "main" "side";overflow:visible}.pt-main{grid-template-rows:minmax(260px,48dvh) auto}.pt-side{border-left:0;border-top:1px solid var(--pt-line);overflow:visible}.pt-top{gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:5}.pt-top::-webkit-scrollbar{display:none}.pt-top>*{flex:none;order:3}.pt-top>.pt-brand{order:1}.pt-top>.pt-btn--accent{order:2}.pt-title{display:none}.pt-select--size{max-width:150px}.pt-top__spacer{display:none}.pt-layers__list{max-height:none}.pt-picker__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.pt-audio{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:32px}.pt-audio__wave{width:min(420px,38vw);height:30px;border-radius:6px;background:var(--pt-panel-2);cursor:pointer}.pt-audio__info{font-weight:600;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-audio__time{font-family:var(--pt-mono);font-size:11.5px;color:var(--pt-muted)}.pt-audio__hint{color:var(--pt-muted);font-size:12px}.pt-audio__progress{width:120px}.pt-audio__play{color:var(--pt-audio);font-size:13px}.pt-stage.is-live{background:#000}.pt-stage.is-live .pt-frame{box-shadow:none;border-radius:0;cursor:none}.pt-stage:fullscreen .pt-status,.pt-stage:fullscreen .pt-zoom-badge{display:none}.pt-stage.is-live:not(:fullscreen){position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050}.pt-live-hint{position:absolute;left:50%;bottom:26px;transform:translate(-50%);padding:8px 16px;border-radius:999px;background:#0009;color:#e8e8e8;font:600 13px var(--pt-font);transition:opacity 1s;pointer-events:none}.pt-live-hint.is-faded{opacity:0}.pt-live-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;border:0;background:#0009;color:#fff;font-size:18px}.pt-page{max-width:1180px;margin:0 auto;padding:18px 20px 80px;color:#d6d6d0;font-family:var(--pt-font)}.pt-page__nav{display:flex;align-items:center;gap:22px;padding:6px 0 22px;font-weight:600}.pt-page__nav a{color:var(--pt-muted);text-decoration:none}.pt-page__nav a:hover,.pt-page__nav .pt-brand{color:var(--pt-text)}.pt-page__hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px;align-items:center}.pt-page__hero h1{font-family:var(--pt-serif);font-weight:600;font-size:clamp(30px,4.4vw,52px);line-height:1.05;margin:8px 0 14px;color:var(--pt-text)}.pt-page__demo{border-radius:14px;overflow:hidden;box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0f;background:#000}.pt-page__canvas{display:block;width:100%;aspect-ratio:16 / 10}.pt-page__cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.pt-flags{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px}.pt-flags li{padding:3px 10px;border-radius:999px;border:1px solid var(--pt-line-2);color:var(--pt-muted);font-size:12px;font-weight:600}.pt-page__body{display:grid;gap:10px;margin-top:48px}.pt-page__body h2{font-family:var(--pt-serif);font-weight:600;color:var(--pt-text);font-size:26px;margin:36px 0 10px}.pt-prose{max-width:760px;font-size:17px;line-height:1.7}.pt-prose h2{margin-top:32px}.pt-prose p{margin:0 0 16px}.pt-prose a{color:var(--pt-accent-2)}.pt-prose code,.pt-prose .pt-formula{font-family:var(--pt-mono);font-size:.9em;background:var(--pt-panel-2);border-radius:6px;padding:1px 6px}.pt-prose .pt-formula{display:block;padding:12px 16px;margin:14px 0 18px;overflow-x:auto;white-space:pre}.pt-prose figure{margin:18px 0}.pt-params-ref dl{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:8px 18px;max-width:900px;margin:0}.pt-params-ref dt{color:var(--pt-text);font-weight:700}.pt-params-ref dd{margin:0;color:var(--pt-muted)}.pt-opts{display:block;font-size:12.5px;color:var(--pt-faint);margin-top:2px}.pt-works{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.pt-work-card{display:grid;gap:6px;color:var(--pt-text);text-decoration:none}.pt-work-card img{width:100%;height:auto;border-radius:10px}@media (max-width: 860px){.pt-page__hero,.pt-params-ref dl{grid-template-columns:1fr}}body.pt-body:has(.pt-app) .utility-feedback-launcher{right:376px;bottom:104px;transform:scale(.86);transform-origin:bottom right;opacity:.75}body.pt-body:has(.pt-app) .utility-feedback-launcher:hover{opacity:1}@media (max-width: 1100px){body.pt-body:has(.pt-app) .utility-feedback-launcher{right:336px}}@media (max-width: 860px){body.pt-body:has(.pt-app) .utility-feedback-launcher{right:12px;bottom:12px}}.pt-params__title,.pt-params__title h2,.pt-layers__head h2{text-align:left}.pt-params__title h2{margin:0;font-size:15px;font-weight:800;font-family:var(--pt-font)}.pt-mine__bar{display:flex;gap:8px;margin-bottom:14px}.pt-mine{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.pt-mine__item{position:relative;border:1px solid var(--pt-line);border-radius:12px;background:var(--pt-panel);padding:8px}.pt-mine__item .pt-icon-btn{position:absolute;right:10px;top:10px;background:#0000008c}.pt-mine__open{display:grid;gap:4px;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;padding:0}.pt-mine__open img{width:100%;border-radius:8px;aspect-ratio:16 / 10;object-fit:cover;background:#000}.pt-mine__open span{font-weight:700}.pt-mine__open small{color:var(--pt-muted)}.pt-page h1,.pt-page h2,.pt-page h3,.pt-article h1,.pt-article h2,.pt-article h3{text-align:left}.pt-more{position:relative}.pt-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:210px;padding:6px;border-radius:12px;border:1px solid var(--pt-line-2);background:#1a1d23;box-shadow:0 20px 50px #0000008c;display:grid;gap:2px}.pt-menu[hidden]{display:none}.pt-menu__item{text-align:left;padding:8px 10px;border-radius:8px;border:0;background:transparent;cursor:pointer;font-weight:600}.pt-menu__item:hover{background:var(--pt-panel-3)}@media (max-width: 860px){.pt-menu{position:fixed;top:56px;right:12px}}.pt-card__warn{color:#ffb4a0;font-size:11px;font-weight:600}.pt-layer__warn{color:#ffb4a0!important}.pt-prose{min-width:0}.pt-react-btn.is-on{color:var(--pt-audio);border-color:#74e0c180;background:#74e0c11a}.pt-react{display:grid;gap:6px;padding:8px;border-radius:9px;border:1px solid rgba(116,224,193,.25);background:#74e0c10a}.pt-react__head{display:flex;align-items:center;justify-content:space-between;color:var(--pt-audio);font-size:12px}.pt-react .pt-ctl--slider{grid-template-columns:92px minmax(0,1fr) 58px}.pt-react__add .pt-select{width:100%}.pt-fs-btn{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:10px;border:1px solid var(--pt-line-2);background:#0f1013b8;color:var(--pt-text);font-size:18px;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s;z-index:2}.pt-fs-btn:hover{opacity:1}.pt-stage.is-live .pt-fs-btn,.pt-stage.is-live.is-idle{cursor:none}.pt-stage.is-live.is-idle .pt-fs-btn{opacity:0}.pt-page__demo{position:relative}.pt-page__demo:fullscreen{display:grid;place-items:center;background:#000;border-radius:0}.pt-page__demo:fullscreen .pt-page__canvas{width:100vw;max-height:100vh;aspect-ratio:auto;object-fit:contain}
