:root{--frame: #dcdbd7;--bg: #ecebe8;--bg-2: #f5f5f3;--panel: #ffffff;--panel-soft: #f7f7f5;--field: #f3f3f1;--line: #e2e1dd;--line-strong: #d2d1cc;--text: #171717;--text-2: #3c3c3a;--muted: #7b7a76;--faint: #a7a6a1;--dim: #8d8c88;--primary: #171717;--primary-hover: #000;--primary-text: #fff;--primary-soft: #e6e5e1;--accent: #171717;--accent-text: #fff;--ok: #2f7a53;--ok-soft: #e5f0e8;--danger: #bf3b2f;--danger-soft: #f7e7e4;--warn: #8a6718;--warn-soft: #f4eddc;--radius-sm: 12px;--radius: 18px;--radius-lg: 26px;--radius-xl: 40px;--block: 44px;--shadow-sm: 0 0 0 1px rgba(0, 0, 0, .035), 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 0 0 1px rgba(0, 0, 0, .035), 0 1px 2px rgba(0, 0, 0, .05), 0 10px 24px -12px rgba(0, 0, 0, .16);--shadow-lg: 0 40px 80px -30px rgba(0, 0, 0, .4);--focus: 0 0 0 3px rgba(23, 23, 23, .16);--ease: cubic-bezier(.2, .8, .2, 1);--font: Onest, Inter, "Segoe UI", Roboto, Arial, sans-serif;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{margin:0;background:var(--frame);color:var(--text);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}body{min-height:100vh;padding:12px}#root{min-height:calc(100vh - 24px);display:flex;flex-direction:column;background:var(--bg) var(--grain);border-radius:var(--radius-xl);overflow:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0 0 12px;font-weight:500;letter-spacing:-.035em;line-height:1.1}h1{font-size:36px}h2{font-size:26px}h3{font-size:16px;letter-spacing:-.015em}p{margin:0 0 12px;line-height:1.55}.dim{color:var(--dim)}.muted{color:var(--muted)}.small{font-size:13px}::selection{background:#d8d6d0}:focus-visible{outline:none;box-shadow:var(--focus)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 700px){body{padding:6px}#root{min-height:calc(100vh - 12px);border-radius:26px}}.page{width:100%;max-width:1200px;margin:0 auto;padding:20px 28px 72px;flex:1}.page.wide{max-width:1480px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0 26px}.page-head h1{margin:0;font-size:clamp(30px,3.4vw,42px)}.page-head p{margin:8px 0 0;color:var(--muted)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.spacer{flex:1}.topbar{display:flex;align-items:center;gap:18px;padding:20px 32px;font-size:13px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14.5px;letter-spacing:-.02em;white-space:nowrap}.brand svg{width:26px;height:26px;flex:none}.topnav{display:flex;gap:6px}.topnav a{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:var(--shadow-sm);font-weight:500;font-size:12.5px;color:var(--text-2);transition:background .15s,color .15s,box-shadow .15s}.topnav a svg{display:none}.topnav a:hover{box-shadow:var(--shadow);color:var(--text)}.topnav a.active{background:var(--text);color:#fff}.slashes{display:inline-flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px}.slashes>i{font-style:normal;color:var(--faint)}.slashes a,.slashes button{border:0;background:none;padding:0;cursor:pointer;color:var(--text-2)}.slashes a:hover,.slashes button:hover{color:var(--text)}.user{display:flex;align-items:center;gap:14px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:11.5px;color:#fff;background:var(--text);flex:none}.user-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 860px){.topbar{gap:10px;padding:14px 16px;flex-wrap:wrap}.brand span,.user-name,.topbar .hide-sm{display:none}.topnav{order:3;width:100%;overflow-x:auto;padding:2px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;border:0;border-radius:999px;font-weight:500;font-size:14px;line-height:1.1;white-space:nowrap;cursor:pointer;user-select:none;color:var(--text);background:#fff;box-shadow:var(--shadow-sm);transition:transform .12s var(--ease),box-shadow .15s,background .15s,color .15s}.btn svg{width:16px;height:16px;flex:none}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.btn.primary,.btn.accent{background:var(--primary);color:var(--primary-text);box-shadow:0 1px 2px #00000040,0 8px 18px -10px #0009}.btn.primary:hover,.btn.accent:hover{background:var(--primary-hover)}.btn.primary:disabled{background:#555}.btn.danger{color:var(--danger)}.btn.danger-solid{background:var(--danger);color:#fff}.btn.ghost{background:transparent;box-shadow:none;color:var(--text-2)}.btn.ghost:hover{background:#0000000d;transform:none}.btn.sm{min-height:32px;padding:0 14px;font-size:13px}.btn.sm svg{width:15px;height:15px}.btn.lg{min-height:48px;padding:0 24px;font-size:15px}.btn.lg svg{width:18px;height:18px}.btn.icon{padding:0;width:40px}.btn.icon.sm{width:32px}.iconbtn{border:0;background:transparent;color:var(--faint);cursor:pointer;border-radius:10px;width:34px;height:34px;display:inline-grid;place-items:center;flex:none;transition:background .15s,color .15s}.iconbtn svg{width:17px;height:17px}.iconbtn:hover{background:#0000000d;color:var(--text)}.iconbtn.danger:hover{background:var(--danger-soft);color:var(--danger)}.iconbtn:disabled{opacity:.35;cursor:default;background:transparent}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label,.label{font-weight:500;font-size:13px;color:var(--text-2)}.input,textarea.input,select.input{width:100%;min-height:42px;border:1px solid transparent;border-radius:14px;padding:10px 14px;background:var(--field);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder{color:#b2b1ac}.input:hover{background:#efefec}.input:focus{background:#fff;border-color:var(--text);box-shadow:var(--focus)}textarea.input{min-height:90px;resize:vertical;line-height:1.5}.input.invalid{border-color:var(--danger);background:#fdf6f5}.check{display:flex;align-items:center;gap:9px;font-weight:500;cursor:pointer}.check input{width:17px;height:17px;accent-color:var(--text)}.error{color:var(--danger);font-weight:500}.ok{color:var(--ok);font-weight:500}.hint{font-size:13px;color:var(--muted);line-height:1.5}.notice{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);color:#5f470c;border-radius:16px;padding:12px 14px;line-height:1.5;font-size:14px}.notice svg{width:18px;height:18px;flex:none;margin-top:2px}.notice.info{background:#fff;color:var(--text-2);box-shadow:var(--shadow-sm)}.notice.bad{background:var(--danger-soft);color:#7d2219}.notice.good{background:var(--ok-soft);color:#1f5139}.switch{position:relative;width:40px;height:24px;flex:none}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch i{position:absolute;inset:0;border-radius:999px;background:#d6d5d0;transition:background .2s}.switch i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s var(--ease)}.switch input:checked+i{background:var(--text)}.switch input:checked+i:after{transform:translate(16px)}.switch input:focus-visible+i{box-shadow:var(--focus)}.seg{display:inline-flex;padding:4px;gap:2px;border-radius:999px;background:#0000000d;flex-wrap:wrap}.seg button{border:0;background:transparent;height:32px;padding:0 14px;border-radius:999px;font-weight:500;font-size:13px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s,box-shadow .15s}.seg button svg{width:15px;height:15px}.seg button:hover{color:var(--text)}.seg button.on{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.seg.full{display:flex;border-radius:16px}.seg.full button{flex:1;justify-content:center;border-radius:12px}.stepper{display:inline-flex;align-items:center;border-radius:999px;background:var(--field)}.stepper button{width:34px;height:34px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--text-2);border-radius:50%}.stepper button:hover:not(:disabled){background:#0000000f}.stepper button:disabled{opacity:.3;cursor:default}.stepper span{min-width:34px;text-align:center;font-weight:600}.card{background:var(--panel);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.card.flat{box-shadow:none}.card-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:500;letter-spacing:-.01em}.card-title svg{width:18px;height:18px;color:var(--text)}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;background:#0000000d;color:var(--text-2);font-size:12px;font-weight:500;white-space:nowrap}.tag svg{width:13px;height:13px}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.off{color:var(--faint)}.chip-count{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:500;background:#0000000d;color:var(--text-2)}.chip-count.ok{background:var(--ok-soft);color:var(--ok)}.chip-count.bad{background:var(--danger-soft);color:var(--danger)}.art{display:block;border-radius:20px;overflow:hidden;line-height:0}.art svg{width:100%;height:auto;display:block}.line-label{position:relative;display:flex;justify-content:center;margin:26px auto 44px;max-width:900px}.line-label:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line-strong)}.line-label span{position:relative;padding:7px 18px;border-radius:999px;background:#fff;font-size:12.5px;font-weight:500;box-shadow:var(--shadow);transform:rotate(-4deg)}.tilt-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:#fff;font-size:12.5px;font-weight:500;box-shadow:var(--shadow);transform:rotate(-8deg);white-space:nowrap}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:210px;padding:6px;border-radius:18px;background:#fff;box-shadow:var(--shadow-lg),var(--shadow-sm);animation:pop-in .16s var(--ease) both}.menu.up{top:auto;bottom:calc(100% + 6px)}.menu button,.menu a{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:12px;background:transparent;text-align:left;font-weight:500;font-size:14px;color:var(--text);cursor:pointer}.menu button svg,.menu a svg{width:17px;height:17px;color:var(--muted)}.menu button:hover,.menu a:hover{background:var(--field)}.menu .danger,.menu .danger svg{color:var(--danger)}.menu hr{border:0;border-top:1px solid var(--line);margin:5px 4px}.modal-bg{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#1717174d;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in .18s ease both}.modal{position:relative;width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--bg-2) var(--grain);border-radius:34px;padding:30px;box-shadow:var(--shadow-lg);animation:pop-in .26s var(--ease) both}.modal.wide{width:min(980px,100%)}.modal.xl{width:min(1180px,100%);padding:18px}.modal-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding-right:30px}.modal-head h2{flex:1;margin:0;font-size:26px}.modal-head p{margin:6px 0 0;color:var(--muted)}.modal-close{position:absolute;top:16px;right:16px;background:#fff!important;box-shadow:var(--shadow-sm);border-radius:50%}@media (max-width: 600px){.modal{padding:22px 16px;border-radius:26px}.modal-bg{padding:8px}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes fade-in{0%{opacity:0}}.toasts{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--text);color:#fff;font-weight:500;font-size:14px;box-shadow:var(--shadow-lg);animation:toast-in .3s var(--ease) both}.toast svg{width:17px;height:17px;color:#9be0b8}.toast.info svg{color:#f2d27a}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--text);color:#e8e7e3;border-radius:16px;padding:14px 16px;white-space:pre-wrap;word-break:break-all;line-height:1.6;max-height:180px;overflow:auto}.copy-row{display:flex;gap:8px;align-items:center}.copy-row .input{flex:1;min-width:0;font-weight:500}.sec{position:relative;padding:56px 32px 96px;text-align:center}.sec>*{max-width:1120px;margin-left:auto;margin-right:auto}.sec.a{background:var(--bg) var(--grain)}.sec.b{background:var(--bg-2) var(--grain)}.sec.round-bottom{border-radius:0 0 var(--block) var(--block)}.sec.under{margin-top:calc(var(--block) * -1);padding-top:calc(var(--block) + 64px)}.sec.round-top{border-radius:var(--block) var(--block) 0 0;margin-top:calc(var(--block) * -1);padding-bottom:28px}.hero-sec{padding-top:34px;padding-bottom:88px}.hero-id{position:relative;display:inline-flex;margin:0 auto 26px}.hero-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow)}.hero-avatar svg{width:46px;height:46px}.hero-id .tilt-pill{position:absolute;left:68px;top:12px}.hero-title{font-size:clamp(36px,5vw,64px);line-height:1.04;letter-spacing:-.045em;margin:0 auto 18px;max-width:860px}.hero-lead{color:var(--muted);font-size:16.5px;max-width:560px;margin:0 auto 30px}.cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.logos-cap{font-size:13px;color:var(--muted);margin-bottom:26px}.logos-row{display:flex;justify-content:space-between;align-items:center;gap:22px 40px;flex-wrap:wrap;max-width:1000px}.logos-row span{font-size:21px;font-weight:600;letter-spacing:-.04em;color:#5b5a57;opacity:.85}.logos-row span:nth-child(2){font-weight:500;font-style:italic}.logos-row span:nth-child(3){font-weight:400;letter-spacing:-.02em}.logos-row span:nth-child(5){font-weight:700;text-transform:uppercase;font-size:17px;letter-spacing:.02em}.logos-row span:nth-child(6){border:1.5px solid #5b5a57;padding:0 6px;font-size:18px}.sec-title{font-size:clamp(26px,3vw,38px);line-height:1.15;max-width:720px}.demo-frame{max-width:920px;padding:10px;border-radius:34px;background:#fff;box-shadow:var(--shadow)}.demo-frame .player-frame{border-radius:26px}.demo-tabs{display:flex;gap:8px;justify-content:center;margin-top:22px;flex-wrap:wrap}.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 34px;text-align:left;max-width:1040px}.svc{display:flex;flex-direction:column;gap:6px;color:inherit}.svc .art{width:92px;border-radius:14px;margin-bottom:8px;transition:transform .2s var(--ease)}a.svc:hover .art{transform:translateY(-2px) rotate(-2deg)}.svc>svg{width:24px;height:24px;margin-bottom:10px;stroke-width:1.5}.svc h3{font-size:15px;font-weight:500;margin:0}.svc p{font-size:13px;color:var(--muted);margin:0;line-height:1.5;max-width:240px}.cta-sec{padding-top:64px}.cta-icon{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.cta-icon svg{width:30px;height:30px;stroke-width:1.5}.cta-sec h2{font-size:clamp(30px,3.6vw,46px);line-height:1.1;max-width:640px;margin-bottom:26px}@media (max-width: 900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.svc-grid{grid-template-columns:1fr}.sec{padding-left:18px;padding-right:18px}.logos-row{justify-content:center}}.tpl-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}.tpl-card{display:flex;flex-direction:column;background:var(--panel);border-radius:28px;padding:10px;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s}.tpl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.art-btn{display:block;width:100%;border:0;padding:0;background:none;cursor:pointer;border-radius:20px}.art-btn:focus-visible{box-shadow:var(--focus)}.tpl-body{display:flex;flex-direction:column;gap:6px;padding:14px 10px 8px;flex:1}.tpl-body h3{margin:0;font-size:17px}.tpl-body p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5;flex:1}.tpl-need{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2);margin-top:4px}.tpl-need svg{width:14px;height:14px;color:var(--faint)}.tpl-actions{display:flex;gap:6px;margin-top:10px}.tpl-actions .btn{flex:1 1 auto;min-width:0;padding-inline:10px;gap:6px}.tpl-section{margin:36px 0 16px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.tpl-section h2{margin:0;font-size:22px}.tpl-section span{color:var(--muted);font-size:13.5px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.player-frame{display:block;width:100%;aspect-ratio:16 / 9;border:0;border-radius:18px;background:#e4e3df}.player-empty{display:grid;place-items:center;text-align:center;width:100%;aspect-ratio:16 / 9;border-radius:18px;padding:20px;background:var(--field);color:var(--muted);font-size:14px}.player-empty b{display:block;color:var(--text);font-weight:500;font-size:15px;margin-bottom:4px}.player-empty svg{width:36px;height:36px;color:var(--faint);margin-bottom:8px;stroke-width:1.5}.try-head{display:flex;align-items:center;gap:14px;margin:4px 50px 14px 6px}.try-head .art{width:76px;flex:none;border-radius:14px}.try-head h2{margin:0;font-size:22px}.try-head p{margin:2px 0 0;color:var(--muted);font-size:14px}.lib-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.search{position:relative;flex:1;min-width:200px;max-width:360px}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--faint)}.search .input{padding-left:40px;border-radius:999px;background:#fff;box-shadow:var(--shadow-sm)}.res-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.res-card{display:flex;flex-direction:column;background:var(--panel);border-radius:28px;padding:10px;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s}.res-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.res-thumb{position:relative;display:block;cursor:pointer}.res-thumb .art{border-radius:20px}.res-thumb .tag{position:absolute;left:12px;top:12px;background:#fff;box-shadow:var(--shadow-sm)}.res-body{padding:14px 10px 8px;display:flex;flex-direction:column;gap:6px;flex:1}.res-title{font-weight:500;font-size:16.5px;letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere}.res-title:hover{text-decoration:underline;text-underline-offset:3px}.res-meta{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.res-meta span{display:inline-flex;align-items:center;gap:5px}.res-meta svg{width:13px;height:13px}.res-actions{display:flex;gap:6px;align-items:center;margin-top:10px}.res-actions .btn.primary{flex:1}.empty{text-align:center;padding:56px 24px;border-radius:34px;background:var(--bg-2) var(--grain);box-shadow:var(--shadow-sm)}.empty .art{width:200px;margin:0 auto 22px}.empty h2{margin-bottom:8px}.empty p{color:var(--muted);max-width:440px;margin:0 auto 22px}.skeleton{border-radius:28px;background:linear-gradient(90deg,#e6e5e1 25%,#efeeeb 37%,#e6e5e1 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;min-height:300px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.ed-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 28px;background:#ecebe8e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.ed-head .art{width:52px;flex:none;border-radius:12px}.ed-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ed-title input{width:100%;border:1px solid transparent;border-radius:12px;background:transparent;padding:3px 8px;margin-left:-8px;font-size:21px;font-weight:500;letter-spacing:-.03em;outline:none;transition:background .15s,border-color .15s}.ed-title input:hover{background:#fff9}.ed-title input:focus{background:#fff;border-color:var(--text);box-shadow:var(--focus)}.ed-title input::placeholder{color:var(--faint)}.ed-kind{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);border:0;background:none;padding:0;cursor:pointer}.ed-kind:hover{color:var(--text)}.ed-kind svg{width:13px;height:13px}.ed-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);white-space:nowrap}.ed-status svg{width:15px;height:15px}.ed-status.saved{color:var(--ok)}.ed-status.bad{color:var(--danger)}.ed-status .dot{width:7px;height:7px;border-radius:50%;background:var(--dim)}@media (max-width: 860px){.ed-head{position:static;padding:10px 16px;flex-wrap:wrap}.ed-head .art{display:none}.ed-actions{width:100%;justify-content:flex-end}.ed-title input{font-size:18px}}.editor{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:22px;align-items:start;padding-top:22px}@media (max-width: 1100px){.editor{grid-template-columns:1fr}}.editor .side{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px}@media (max-width: 1100px){.editor .side{position:static}}.howto{display:flex;gap:14px;align-items:center;padding:14px 18px;margin-bottom:16px;border-radius:22px;background:var(--bg-2);box-shadow:var(--shadow-sm)}.howto i{font-style:normal;flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm)}.howto i svg{width:19px;height:19px;stroke-width:1.6}.howto p{margin:0;color:var(--text-2);font-size:14px}.howto b{font-weight:600;color:var(--text)}.content-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.content-head h2{margin:0;font-size:22px}.content-tools{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.cols-head{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) 34px;gap:10px;padding:0 0 6px;font-size:12.5px;font-weight:500;color:var(--muted)}.cols-head.single{grid-template-columns:30px minmax(0,1fr) 34px}.rows{display:flex;flex-direction:column;gap:8px}.rowline{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) 34px;gap:10px;align-items:center}.rowline.single{grid-template-columns:30px minmax(0,1fr) 34px}.rowline .n{color:var(--faint);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.rowline .iconbtn{opacity:0}.rowline:hover .iconbtn,.rowline:focus-within .iconbtn,.q-card:hover .q-del,.q-card:focus-within .q-del{opacity:1}@media (hover: none){.rowline .iconbtn{opacity:1}}.row-add{display:grid;grid-template-columns:30px minmax(0,1fr) 34px;gap:10px}.row-add button{grid-column:2;display:flex;align-items:center;gap:8px;justify-content:center;height:42px;border-radius:14px;border:1px dashed var(--line-strong);background:transparent;color:var(--muted);font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.row-add button:hover{border-color:var(--text);color:var(--text);background:#00000005}.row-add button svg{width:16px;height:16px}.q-card.flag,.group-card.flag,.gap-card.flag{box-shadow:0 0 0 1.5px var(--danger)}.tip{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:12px 14px;border-radius:16px;background:var(--field);color:var(--text-2);font-size:13.5px;line-height:1.5}.tip svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--muted)}.problem{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--danger-soft);color:#7d2219;font-weight:500;font-size:14px}.problem svg{width:18px;height:18px;flex:none}.problem.soft{background:var(--field);color:var(--text-2)}.done-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding:18px 20px;border-radius:26px;background:var(--bg-2) var(--grain);box-shadow:var(--shadow-sm)}.done-bar p{flex:1;margin:0;color:var(--text-2);min-width:200px}.q-card{position:relative;border-radius:20px;padding:14px 14px 12px;background:var(--panel-soft);box-shadow:inset 0 0 0 1px var(--line)}.q-top{display:flex;align-items:center;gap:10px}.q-num{flex:none;min-width:30px;height:30px;padding:0 8px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px;background:var(--text);color:#fff}.q-top .input{font-weight:500;background:#fff;box-shadow:var(--shadow-sm)}.q-del{opacity:0}@media (hover: none){.q-del{opacity:1}}.opts{display:flex;flex-direction:column;gap:7px;margin:10px 0 0 40px}.opt{display:grid;grid-template-columns:32px minmax(0,1fr) 34px;gap:8px;align-items:center}.opt .input{background:#fff;box-shadow:var(--shadow-sm)}.opt .iconbtn{opacity:0}.opt:hover .iconbtn,.opt:focus-within .iconbtn{opacity:1}@media (hover: none){.opt .iconbtn{opacity:1}}.right-toggle{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;display:grid;place-items:center;cursor:pointer;color:transparent;transition:background .15s,border-color .15s,color .15s,transform .1s}.right-toggle svg{width:16px;height:16px}.right-toggle:hover{border-color:var(--text);color:#c9c8c3}.right-toggle.on{background:var(--text);border-color:var(--text);color:#fff}.right-toggle:active{transform:scale(.9)}.opt .input.right{box-shadow:0 0 0 1.5px var(--text)}.q-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 0 40px}.groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.group-card{border-radius:20px;overflow:hidden;background:#fff;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px var(--line)}.group-card header{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;background:var(--text)!important}.group-card header input{flex:1;min-width:0;border:0;background:#ffffff1a;color:#fff;font-weight:500;padding:7px 10px;border-radius:10px;outline:none}.group-card header input::placeholder{color:#ffffff8c}.group-card header input:focus{background:#ffffff2e}.group-card header .iconbtn{color:#ffffffb3}.group-card header .iconbtn:hover{background:#ffffff1f;color:#fff}.group-card textarea{border:0;border-radius:0;min-height:150px;resize:vertical;padding:12px 14px;line-height:1.7;background:#fff}.group-card textarea:focus{box-shadow:inset 0 0 0 1.5px var(--text);border-color:transparent}.group-card footer{padding:6px 14px 10px;font-size:12px;color:var(--muted)}.gap-card{border-radius:20px;padding:12px 12px 12px 14px;background:var(--panel-soft);box-shadow:inset 0 0 0 1px var(--line)}.gap-card .input{background:#fff;box-shadow:var(--shadow-sm)}.gap-top{display:grid;grid-template-columns:24px minmax(0,1fr) 34px;gap:8px;align-items:start}.gap-top .n{padding-top:11px;text-align:right;color:var(--faint);font-size:13px}.gap-words{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0 32px}.gap-words button{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:4px 11px;font-weight:500;font-size:13.5px;cursor:pointer;color:var(--text-2);transition:border-color .12s,background .12s,color .12s,transform .1s}.gap-words button:hover{border-color:var(--text);color:var(--text)}.gap-words button.gap{background:var(--text);border-color:var(--text);color:#fff}.gap-words button:active{transform:scale(.95)}.gap-extra{display:flex;gap:8px;align-items:center;margin:10px 0 0 32px;flex-wrap:wrap}.gap-extra .input{flex:1;min-width:220px;min-height:36px;padding:7px 12px;font-size:13.5px}.gap-extra label{font-size:12.5px;color:var(--muted)}.side-card{background:#fff;border-radius:28px;padding:16px;box-shadow:var(--shadow-sm)}.side-card .card-title{margin:2px 4px 12px}.preview-tools{display:flex;gap:8px;margin-top:12px}.preview-tools .btn{flex:1}.tabs{display:flex;gap:2px;padding:4px;margin:-2px 0 14px;border-radius:999px;background:#0000000d}.tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;height:34px;border-radius:999px;font-weight:500;font-size:13.5px;color:var(--muted);cursor:pointer}.tabs button svg{width:16px;height:16px}.tabs button.on{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.opt-list{display:flex;flex-direction:column}.opt-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid var(--line)}.opt-item:first-child{border-top:0;padding-top:2px}.opt-item>div:first-child{flex:1;min-width:0}.opt-item b{display:block;font-size:14px;font-weight:500}.opt-item small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4;margin-top:2px}.opt-item.col{flex-direction:column;align-items:stretch;gap:10px}.timer-sec{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.timer-sec button{border:0;background:var(--field);border-radius:999px;padding:6px 12px;font-weight:500;font-size:12.5px;cursor:pointer}.timer-sec button.on{background:var(--text);color:#fff}.timer-sec .input{width:90px;min-height:32px;padding:5px 10px;font-size:13px}.hearts{color:#c24a4a;letter-spacing:1px;font-size:12px;margin-left:5px}.themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-card{border:1.5px solid transparent;border-radius:18px;padding:4px;background:transparent;cursor:pointer;text-align:left;transition:border-color .15s,transform .15s var(--ease)}.theme-card:hover{transform:translateY(-2px)}.theme-card.on{border-color:var(--text)}.theme-mini{position:relative;aspect-ratio:16 / 10;border-radius:13px;overflow:hidden;display:flex;flex-direction:column;gap:5px;padding:9px;box-shadow:inset 0 0 0 1px #0000000f}.theme-mini i{display:block;height:11px;border-radius:4px}.theme-mini i:nth-child(1){width:55%;height:7px;opacity:.9;border-radius:3px}.theme-mini .t-row{display:flex;gap:5px;flex:1}.theme-mini .t-row i{flex:1;height:auto;border-radius:6px}.theme-mini .t-btn{position:absolute;right:8px;bottom:7px;width:34%;height:9px;border-radius:999px}.theme-name{display:block;font-size:12px;font-weight:500;margin:6px 3px 2px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-custom{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.theme-custom .swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin-bottom:14px}.theme-custom .swatch{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 8px 5px 5px;border-radius:12px;background:var(--field);cursor:pointer}.theme-custom .swatch input[type=color]{width:26px;height:26px;padding:0;border:0;border-radius:8px;background:none;cursor:pointer;flex:none}.theme-custom .swatch input[type=color]::-webkit-color-swatch-wrapper{padding:0}.theme-custom .swatch input[type=color]::-webkit-color-swatch{border:1px solid rgba(0,0,0,.12);border-radius:8px}.theme-custom input[type=range]{width:100%;accent-color:var(--text)}.theme-panel textarea.input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;resize:vertical}.linkish{border:0;background:none;padding:0;color:var(--text);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.linkish svg{width:15px;height:15px}.linkish:hover{text-decoration-color:var(--text)}.share-hero{text-align:center;margin:-2px 0 20px}.share-hero .confetti{font-size:40px;line-height:1;margin-bottom:10px}.share-hero h2{font-size:30px;margin-bottom:6px}.share-hero p{color:var(--muted);margin:0}.share-link{padding:14px;border-radius:24px;background:#fff;box-shadow:var(--shadow-sm);margin-bottom:20px}.share-link .label{display:block;margin:2px 4px 10px}.share-link .input{font-size:14.5px}.vis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 6px}.vis button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 14px;border-radius:18px;border:1.5px solid transparent;background:#fff;box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .15s}.vis button b{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500}.vis button b svg{width:16px;height:16px}.vis button small{color:var(--muted);font-size:12px;line-height:1.35}.vis button.on{border-color:var(--text)}@media (max-width: 600px){.vis{grid-template-columns:1fr}}.share-section{margin-top:20px}.share-section h3{font-size:15px;margin-bottom:10px}.steps-list{margin:0 0 12px;padding:0;list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:8px}.steps-list li{counter-increment:s;display:flex;gap:10px;align-items:flex-start;line-height:1.45;font-size:14px}.steps-list li:before{content:counter(s);flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--text);color:#fff;font-weight:600;font-size:12px}.switch-group{margin-top:18px}.switch-group h3{display:flex;align-items:center;gap:8px;font-size:14.5px;margin-bottom:10px}.switch-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.switch-list button{display:flex;flex-direction:column;gap:8px;text-align:left;border:0;background:#fff;border-radius:20px;padding:7px 7px 10px;cursor:pointer;font-weight:500;font-size:13.5px;box-shadow:var(--shadow-sm);transition:transform .15s var(--ease),box-shadow .15s}.switch-list button .art{border-radius:14px}.switch-list button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow)}.switch-list button:disabled{opacity:.45;cursor:not-allowed}.loss-list{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.loss-list li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm);line-height:1.45;font-size:14px}.loss-list li svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--muted)}.paste-area{min-height:200px!important;font-size:14px;background:#fff!important;box-shadow:var(--shadow-sm)}.paste-preview{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-2)}.format{margin:0 0 12px;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);font-size:13.5px;line-height:1.5;color:var(--text-2)}.format pre{margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--field);border-radius:10px;padding:8px 10px;white-space:pre-wrap;color:var(--text)}.auth{max-width:460px;margin:48px auto;text-align:center;border-radius:34px;padding:34px}.auth .brand-mark{width:60px;height:60px;margin:0 auto 18px}.auth .row{justify-content:center}.notfound{text-align:center;padding:60px 20px}.notfound .big{font-size:110px;font-weight:500;line-height:1;letter-spacing:-.06em;color:var(--dim);margin-bottom:10px}@media print{body{padding:0;background:#fff}#root{border-radius:0;background:#fff;min-height:0}.topbar,.no-print,.footer{display:none!important}.page{max-width:none;padding:0}.print-page{page-break-after:always}}.print-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;border-radius:22px;background:#fff;box-shadow:var(--shadow-sm);font-size:14px}.print-sheet{background:#fff;color:#000;padding:20px;font-size:15px;font-family:Arial,sans-serif}.print-sheet h1{font-size:22px;font-weight:700;letter-spacing:0}.print-two{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.print-two .cell{border:1px solid #999;border-radius:8px;padding:8px 12px;min-height:40px}.print-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.print-cards .cell{border:1px dashed #777;padding:28px 10px;text-align:center;min-height:90px;display:grid;place-items:center;font-size:18px;font-weight:700}.print-list li{margin:6px 0}.print-blank{display:inline-block;border-bottom:1px solid #000;min-width:90px;height:1em;vertical-align:bottom}.print-bank{border:1px solid #999;border-radius:8px;padding:8px 12px;margin:10px 0 16px}.print-bank span{display:inline-block;margin:2px 10px 2px 0;font-weight:700}.print-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px}.print-groups .cell{border:1px solid #999;border-radius:8px;min-height:140px;padding:8px;font-weight:800}.print-letters span{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #999;margin:2px;font-weight:800}.keys{width:100%;border-collapse:collapse;font-size:14px}.keys th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 10px 8px 0;font-weight:500}.keys td{padding:10px 10px 10px 0;border-top:1px solid var(--line);vertical-align:middle}.keys code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--field);padding:3px 7px;border-radius:6px}@media (max-width: 700px){.keys th:nth-child(3),.keys td:nth-child(3),.keys th:nth-child(4),.keys td:nth-child(4){display:none}}.legal{max-width:760px}.legal h2{margin:32px 0 10px;font-size:21px}.legal h3{margin:22px 0 8px;font-size:16px}.legal p,.legal li{line-height:1.7}.legal ul{margin:0 0 12px;padding-left:22px}.legal li{margin-bottom:6px}.legal a{text-decoration:underline;text-underline-offset:3px}.legal .note{border-left:2px solid var(--text);background:#fff9;padding:10px 14px;border-radius:0 12px 12px 0}.legal-table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:14px}.legal-table th,.legal-table td{border:1px solid var(--line-strong);padding:8px 10px;text-align:left;vertical-align:top}.legal-table th{background:#fff9;font-weight:600}.footer{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 32px;padding:22px 0 26px;border-top:1px solid var(--line-strong);font-size:12.5px;color:var(--muted)}.footer .slashes{font-size:12.5px}.sec .footer{margin:72px auto 0;max-width:1120px;text-align:left}@media (max-width: 600px){.footer{margin:0 18px;flex-direction:column;align-items:flex-start}}.consent{display:flex;align-items:flex-start;gap:9px;margin:14px 0 12px;cursor:pointer;line-height:1.45}.consent input{margin:2px 0 0;width:17px;height:17px;flex:none;cursor:pointer;accent-color:var(--text)}.consent a{text-decoration:underline}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
