@font-face{font-family:InterVariable;src:url(/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Redaction 35";src:url(/fonts/Redaction35-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--bg: #faf8f4;--paper: #f3efe8;--surface: #fffdf9;--nav-bg: rgba(250, 248, 244, .82);--on-ink: #faf8f4;--ink: #1a1714;--muted: #6b6259;--faint: #9c938a;--line: rgba(26, 23, 20, .09);--line-strong: rgba(26, 23, 20, .16);--gold: #b08d57;--gold-soft: #c9a66b;--ok: #5c7a52;--radius: 15px;--ui: "InterVariable", "Inter", "PingFang SC", "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;--serif: "Redaction 35", "Songti SC", Georgia, "Times New Roman", serif;--maxw: 1180px}html[data-theme=dark]{--bg: #161310;--paper: #221d18;--surface: #1d1916;--nav-bg: rgba(22, 19, 16, .84);--on-ink: #161310;--ink: rgba(255, 251, 245, .92);--muted: rgba(255, 251, 245, .56);--faint: rgba(255, 251, 245, .4);--line: rgba(255, 251, 245, .11);--line-strong: rgba(255, 251, 245, .2);--gold: #d4b483;--gold-soft: #c9a66b;--ok: #7fa06f}html{transition:background .25s ease}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:16px;line-height:1.7;font-optical-sizing:auto;font-feature-settings:"cv05" 1,"cv08" 1,"ss03" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.tools-page{min-height:calc(100vh - 68px);padding:72px 0}.tools-hero{max-width:680px;margin-bottom:38px}.tools-eyebrow{margin:0;color:var(--gold);font-size:12px;letter-spacing:.17em;font-weight:650}.tools-hero h1{margin:4px 0 6px;font-size:clamp(38px,6vw,66px);font-family:var(--serif);font-weight:400;line-height:1.08}.tools-hero>p:last-child{margin:0;color:var(--muted)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.tool-card{min-height:260px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 15px 35px #1a17140d;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tool-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 22px 48px #1a171417}.tool-card:disabled{opacity:.65;cursor:wait}.tool-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;color:#a52b22;background:#fae9e6;font-family:Songti SC,serif;font-size:24px;font-weight:700}.tool-category{margin-top:22px;color:var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.tool-card strong{margin-top:4px;font-size:21px}.tool-description{margin-top:7px;color:var(--muted);font-size:14px;line-height:1.65}.tool-card-foot{width:100%;margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.tool-price{color:var(--ok)}.tools-empty,.tools-not-found{min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:var(--muted);border:1px dashed var(--line-strong);border-radius:18px}.tools-error{padding:10px 14px;border-radius:10px;background:#b4231814;color:#b42318}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}header.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:saturate(1.1) blur(10px);backdrop-filter:saturate(1.1) blur(10px);box-shadow:0 1px 0 var(--line)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 40px;height:68px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:500;font-size:16px;letter-spacing:-.01em}.brand .mark{width:14px;height:14px;background:var(--ink);border-radius:4px;display:inline-block}.brand-icon{width:28px;height:28px;object-fit:contain;flex:none}nav.menu{display:flex;align-items:center;justify-content:flex-end;gap:24px;min-width:0}.nav-primary,.nav-actions{display:flex;align-items:center}.nav-primary{gap:24px}.nav-actions{gap:10px;padding-left:20px;border-left:1px solid var(--line)}nav.menu a,nav.menu .item{color:var(--muted);font-size:14.5px;font-weight:400;transition:color .18s ease;cursor:pointer;position:relative}nav.menu a:hover,nav.menu .item:hover{color:var(--ink)}nav.menu a.router-link-active{color:var(--ink)}.caret{display:inline-block;margin-left:5px;font-size:9px;color:var(--faint);vertical-align:middle}.dd{position:relative}.dd .panel{position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%) translateY(6px);background:var(--surface);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line),0 18px 48px #1a17141a;padding:10px;min-width:210px;opacity:0;visibility:hidden;transition:all .2s ease}.dd:hover .panel{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.dd .panel a{display:block;padding:11px 14px;border-radius:10px;color:var(--muted);font-size:14px}.dd .panel a:hover{background:var(--paper);color:var(--ink)}.dd .panel .tag{display:block;font-size:11.5px;color:var(--faint);margin-top:2px;font-weight:400}.btn-login{color:var(--ink);border:1px solid var(--line-strong);border-radius:22px;padding:8px 18px;font-size:14px;font-weight:400;transition:all .18s ease;background:transparent;cursor:pointer}.btn-login:hover{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.theme-toggle{width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:var(--muted);font-size:13px;font-weight:400;border:1px solid var(--line);border-radius:9px;padding:0;transition:all .18s ease;background:transparent;font-family:inherit}.lang-menu{position:relative;flex:none}.lang-trigger{height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 10px 0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.lang-trigger::-webkit-details-marker{display:none}.lang-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lang-trigger:hover,.lang-menu[open] .lang-trigger{border-color:var(--line-strong);background:var(--paper)}.lang-menu[open] .lang-trigger{box-shadow:0 0 0 3px #b08d571a}.lang-glyph{position:relative;width:23px;height:20px;display:inline-block;flex:none;color:var(--gold)}.lang-glyph b,.lang-glyph i{position:absolute;font-style:normal;line-height:1}.lang-glyph b{left:0;bottom:1px;font-size:13px;font-weight:600}.lang-glyph i{right:0;top:1px;font-size:10px;font-weight:700}.lang-current{min-width:3.5em;font-size:13px;line-height:1;white-space:nowrap}.lang-caret{color:var(--faint);font-size:13px;line-height:1;transition:transform .18s ease}.lang-menu[open] .lang-caret{transform:rotate(180deg)}.lang-panel{position:absolute;z-index:60;top:calc(100% + 10px);right:0;width:210px;display:grid;gap:2px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 18px 48px #1a171424}.lang-panel button{width:100%;min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) 30px 16px;align-items:center;gap:8px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.lang-panel button:hover{background:var(--paper);color:var(--ink)}.lang-panel button.active{color:var(--ink);font-weight:600}.lang-panel button small{color:var(--faint);font-size:10px;font-weight:500}.lang-check{color:var(--gold);font-size:12px;opacity:0}.lang-panel button.active .lang-check{opacity:1}[dir=rtl] .lang-panel{right:auto;left:0}[dir=rtl] .lang-panel button{text-align:right}@media (max-width: 1080px){.lang-trigger{width:38px;padding:0;justify-content:center}.lang-current,.lang-caret{display:none}}.notif-wrap{position:relative}.notif-bell{position:relative;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.notif-bell:hover{color:var(--ink);border-color:var(--line-strong);background:var(--paper)}.notif-bell:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.notif-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.notif-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--nav-bg);border-radius:999px;background:#c64b42;color:#fff;font-size:9px;font-weight:700;line-height:13px;text-align:center}.notif-panel{position:absolute;z-index:30;top:42px;right:0;width:min(360px,calc(100vw - 24px));max-height:480px;overflow:auto;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 16px 40px #00000029;padding:12px}.notif-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.notif-panel header button{border:0;background:transparent;color:var(--muted);cursor:pointer}.notif-item{border-top:1px solid var(--line);padding:12px 4px}.notif-item.unread{border-left:3px solid #267a5c;padding-left:10px}.notif-item p{margin:6px 0;color:var(--muted);white-space:pre-wrap}.notif-item time{color:var(--faint);font-size:11px}.notif-empty{color:var(--faint);text-align:center;padding:24px 0}[dir=rtl] .notif-panel{right:auto;left:0}[dir=rtl] .notif-item.unread{border-left:0;border-right:3px solid #267a5c;padding-left:4px;padding-right:10px}.admin-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 64px);padding:0}.admin-sidebar{border-right:1px solid var(--line);padding:24px 16px;background:var(--surface)}.admin-sidebar h1{font-size:18px;margin:0 8px 20px}.admin-sidebar button{display:block;width:100%;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:10px 12px;text-align:left;cursor:pointer}.admin-sidebar button.active{background:var(--surface-2);color:var(--ink);font-weight:700}.admin-main{min-width:0;padding:28px;overflow:auto}.admin-filters{display:flex;gap:10px;margin-bottom:16px}.admin-main select,.admin-main input,.admin-main textarea{border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);padding:8px}.admin-main table{width:100%;border-collapse:collapse}.admin-main th,.admin-main td{border-bottom:1px solid var(--line);padding:10px;text-align:left}.admin-main td button{margin-left:6px}.admin-panel-help{margin:0 0 16px;color:var(--muted);line-height:1.6}.users-panel td:last-child,.users-panel th:last-child{text-align:right}.admin-modal label{display:block;margin:12px 0}.admin-modal label input:not([type=checkbox]){display:block;width:100%;margin-top:6px}.admin-main .danger{color:#b22}.announce-form{display:grid;gap:10px;margin-bottom:24px;max-width:680px}.announce-form textarea{min-height:120px}.announce-panel article{border-top:1px solid var(--line);padding:14px 0}.admin-modal{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000073;padding:16px}.admin-modal>div{width:min(720px,100%);border-radius:8px;background:var(--surface);padding:20px}.admin-modal textarea{width:100%;font-family:monospace}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}@media (max-width: 720px){.admin-wrap{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar button{display:inline-block;width:auto}}[dir=rtl] .nav-inner,[dir=rtl] .menu,[dir=rtl] .sec-head,[dir=rtl] .form-foot{flex-direction:row-reverse}[dir=rtl] .form-field,[dir=rtl] .account-page,[dir=rtl] .recipe-form{text-align:right}.theme-toggle:hover{color:var(--ink);border-color:var(--line-strong)}.theme-toggle .glyph{font-size:15px;color:var(--gold)}.nav-projects{white-space:nowrap;padding:6px 10px;border-radius:8px}.nav-projects:hover,.nav-projects.router-link-active{background:var(--paper)}.user-menu{height:36px}.user-avatar{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:12px;font-weight:650;cursor:pointer}.user-avatar:hover{opacity:.82}.user-avatar:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.user-menu .panel{left:auto;right:0;transform:translateY(6px)}.user-menu:hover .panel{transform:translateY(0)}.user-panel{min-width:224px}.user-panel-head{display:grid;gap:2px;padding:8px 14px 12px;margin-bottom:4px;border-bottom:1px solid var(--line)}.user-panel-head span{color:var(--faint);font-size:11px}.user-panel-head strong{overflow:hidden;color:var(--ink);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}[dir=rtl] .nav-actions{padding-left:0;padding-right:20px;border-left:0;border-right:1px solid var(--line)}[dir=rtl] .user-menu .panel{right:auto;left:0}@media (max-width: 1080px){.nav-primary{gap:18px}.nav-actions{gap:8px;padding-left:14px}.nav-projects{padding-inline:7px}}.hero{padding:150px 0 120px}.eyebrow{font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:40px;font-weight:500}.hero h1{font-size:clamp(46px,8.5vw,92px);line-height:1.02;letter-spacing:-.04em;font-weight:250;margin:0 0 40px;max-width:15ch}.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}.hero p.lede{font-size:20px;color:var(--muted);max-width:50ch;margin:0 0 48px;line-height:1.75;font-weight:400}.hero-cta{display:flex;gap:20px;align-items:center}.btn-primary{background:var(--ink);color:var(--on-ink);border-radius:26px;padding:14px 30px;font-size:15px;font-weight:400;transition:opacity .18s ease;border:none;cursor:pointer}.btn-primary:hover{opacity:.84}.btn-ghost{color:var(--muted);font-size:15px;font-weight:400;padding:14px 4px;transition:color .18s;background:none;border:none;cursor:pointer}.btn-ghost:hover{color:var(--ink)}.btn-ghost .arrow{transition:transform .18s;display:inline-block;color:var(--gold)}.btn-ghost:hover .arrow{transform:translate(4px)}.rule{height:1px;background:var(--line);margin:0}.section{padding:clamp(80px,10vw,140px) 0}.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:24px}.sec-head h2{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0}.sec-head .note{font-size:13.5px;color:var(--faint);font-weight:400}.sec-lede{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.8vw,38px);line-height:1.35;color:var(--ink);max-width:26ch;margin:0 0 48px;font-weight:400;letter-spacing:-.01em}.shot{background:var(--surface);border-radius:16px;box-shadow:0 1px 0 var(--line),0 30px 70px -24px #1a171438;overflow:hidden}html[data-theme=dark] .shot{box-shadow:0 1px 0 var(--line),0 34px 80px -26px #0009}.shot .chrome{height:42px;background:var(--paper);box-shadow:0 1px 0 var(--line);display:flex;align-items:center;padding:0 16px;gap:8px}.shot .dot{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}.shot .chrome .url{margin-left:14px;flex:1;height:22px;background:var(--surface);border-radius:7px;font-size:11px;color:var(--faint);display:flex;align-items:center;padding:0 12px;box-shadow:inset 0 0 0 1px var(--line)}.shot .body{display:grid;grid-template-columns:200px 1fr;min-height:400px}.shot .body.body--image{grid-template-columns:280px 1fr}.steps{padding:22px 16px;background:var(--paper);box-shadow:1px 0 0 var(--line)}.steps .st-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.18em;color:var(--faint);font-weight:500;margin-bottom:18px}.step{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px;color:var(--muted);font-weight:400}.step .idx{width:20px;height:20px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:500;background:var(--surface);color:var(--faint);box-shadow:inset 0 0 0 1px var(--line)}.step.done .idx{background:var(--ok);color:#fff;box-shadow:none}.step.done{color:var(--ink)}.step.active .idx{background:var(--gold);color:var(--on-ink);box-shadow:none}.step.active{color:var(--ink);font-weight:500}.step.error-step .idx{background:#8a2c2c;color:#fff;box-shadow:none}.step.error-step{color:#8a2c2c}.step.running .idx{background:var(--gold);color:var(--on-ink);box-shadow:none;animation:spin-gold 1s linear infinite}@keyframes spin-gold{0%{box-shadow:0 0 0 2px #b08d574d}50%{box-shadow:0 0 0 4px #b08d5726}to{box-shadow:0 0 0 2px #b08d574d}}.canvas{padding:28px 32px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.canvas-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:200px;color:var(--faint);font-size:13.5px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:40px}.g-card{border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),0 20px 44px -26px #1a17142e;padding:20px;transition:transform .25s ease;cursor:pointer;display:flex;flex-direction:column;gap:10px}.g-card:hover{transform:translateY(-3px)}.g-card .card-title{font-size:14.5px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.g-card .card-meta{font-size:12.5px;color:var(--faint);display:flex;justify-content:space-between;align-items:center}.g-card .card-status{font-size:11.5px;padding:3px 9px;border-radius:22px;background:var(--paper);color:var(--muted);border:1px solid var(--line)}.g-card .card-status.DONE{background:#eef4eb;color:#5c7a52;border-color:#5c7a5233}.g-card .card-status.RUNNING{background:#faf3e0;color:#8a6a1a;border-color:#8a6a1a33}.g-card .card-status.AWAITING{background:#faf3e0;color:#8a6a1a;border-color:#8a6a1a38}.g-card .card-status.REJECTED{background:#fdf0f0;color:#8a2c2c;border-color:#8a2c2c2e}.artifact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.artifact-grid figure{margin:0;display:flex;flex-direction:column;gap:8px}.artifact-grid img,.artifact-grid video{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line)}.artifact-grid figcaption{font-size:11.5px;color:var(--faint)}.approval-prompt{background:var(--paper);border:1px solid rgba(176,141,87,.28);border-radius:12px;padding:20px 24px;display:flex;align-items:center;gap:20px}.approval-prompt .ap-info{flex:1}.approval-prompt .ap-info strong{font-size:14px;font-weight:500;display:block;margin-bottom:4px}.approval-prompt .ap-info p{font-size:13px;color:var(--muted);margin:0}.approval-prompt .ap-actions{display:flex;gap:10px;flex:none}.btn-approve{background:var(--ink);color:var(--on-ink);border:none;border-radius:22px;padding:9px 18px;font-size:13.5px;cursor:pointer;transition:opacity .18s ease}.btn-approve:hover{opacity:.82}.btn-approve:disabled{opacity:.4;cursor:not-allowed}.btn-reject{background:transparent;color:var(--muted);border:1px solid var(--line-strong);border-radius:22px;padding:9px 18px;font-size:13.5px;cursor:pointer;transition:all .18s ease}.btn-reject:hover{color:#8a2c2c;border-color:#8a2c2c4d}.btn-reject:disabled{opacity:.4;cursor:not-allowed}.create-form{display:grid;grid-template-columns:200px 1fr auto;gap:10px;margin-bottom:0}.create-form select,.create-form input{border:1px solid var(--line-strong);padding:11px 14px;border-radius:10px;background:var(--surface);color:var(--ink);outline:none;font-size:14px;transition:border-color .15s ease}.create-form select:focus,.create-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b08d571a}.create-form input::placeholder{color:var(--faint)}.create-form .btn-create{background:var(--ink);color:var(--on-ink);border:none;border-radius:10px;padding:11px 22px;font-size:14px;font-weight:400;cursor:pointer;transition:opacity .18s ease;white-space:nowrap}.create-form .btn-create:hover{opacity:.82}.recipe-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 24px}.rt-item{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 14px;cursor:pointer}.rt-item.active{border-color:var(--ink);color:var(--ink)}.recipe-form{display:grid;gap:18px;max-width:720px}.form-field{display:grid;gap:8px;font-size:13px;color:var(--muted)}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;font:inherit}.check-field{display:flex;align-items:center;gap:8px}.recipe-form .btn-create{justify-self:start;border:0;background:var(--ink);color:var(--paper);padding:12px 24px;cursor:pointer}.account-page{display:grid;gap:20px}.account-panel{max-width:720px;border-top:1px solid var(--line);padding-block:24px}.acct-info{display:grid;gap:16px}.acct-info div{display:grid;grid-template-columns:120px 1fr;gap:16px}.acct-info dt{color:var(--muted)}.acct-info dd{margin:0;overflow-wrap:anywhere}.account-id{display:flex;align-items:center;gap:12px}.copy-btn{border:1px solid var(--line);background:transparent;color:var(--ink);padding:6px 10px;cursor:pointer}.account-form{display:grid;gap:16px}.acct-success{color:#237a4b}.account-danger{display:flex;align-items:center;justify-content:space-between;gap:24px}.acct-wallet{display:flex;align-items:end;justify-content:space-between;gap:24px}.acct-wallet>div{display:grid;gap:8px;color:var(--muted)}.acct-wallet .balance{color:var(--ink);font-size:28px;font-weight:500}.acct-wallet .goto{color:var(--gold)}.recipe-form .btn-create:disabled{opacity:.4;cursor:not-allowed}.create-wrap{max-width:920px}.create-balance{color:var(--muted);font-size:13px}.create-soon{min-height:220px;display:grid;place-items:center;border-top:1px solid var(--line);color:var(--muted)}.form-foot{display:flex;align-items:center;justify-content:flex-end;padding-top:8px}.file-picker-field{display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:10px 16px;padding:14px 0;border-bottom:1px solid var(--line)}.file-label{color:var(--muted);font-size:13px}.file-pick-button{position:relative;overflow:hidden;border:1px solid var(--line-strong);padding:9px 14px;color:var(--ink);cursor:pointer}.file-pick-button.disabled{opacity:.5;cursor:not-allowed}.file-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:inherit}.file-list{grid-column:1 / -1;display:grid;gap:6px;margin:0;padding:0;list-style:none}.file-list li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.file-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list button{border:0;background:transparent;color:var(--muted);cursor:pointer}.file-error{grid-column:1 / -1;margin:0;color:#8a2c2c;font-size:12px}.create-form .btn-create:disabled{opacity:.4;cursor:not-allowed}.page-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gold);margin-bottom:32px;cursor:pointer}.page-back:hover{opacity:.8}.project-head{margin-bottom:28px}.project-head h1{font-size:clamp(22px,3vw,30px);font-weight:300;letter-spacing:-.03em;margin:0 0 6px}.project-head .ph-sub{font-size:13px;color:var(--faint)}.balance-card{background:var(--ink);color:var(--on-ink);border-radius:14px;padding:32px 36px;margin-bottom:40px;position:relative;overflow:hidden}.balance-card:after{content:"¥";position:absolute;right:36px;top:50%;transform:translateY(-50%);font-size:100px;font-weight:200;opacity:.05;font-family:var(--serif);pointer-events:none}.balance-card small{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.balance-card strong{display:block;font-size:42px;font-weight:300;letter-spacing:-.04em;margin-top:10px}.txn-list{display:grid;gap:1px;background:var(--line);border-radius:12px;overflow:hidden}.txn-row{display:grid;grid-template-columns:1fr 120px 200px;padding:14px 20px;background:var(--surface);font-size:13.5px}.txn-row time{color:var(--faint);font-size:12.5px}.txn-row .txn-amount{font-variant-numeric:tabular-nums}.txn-credit .txn-amount{color:var(--ok)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:40px}.tpl-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .22s ease,box-shadow .22s ease}.tpl-card:hover{transform:translateY(-2px);box-shadow:0 20px 44px -20px #1a171424}.tpl-card h2{font-size:16px;font-weight:500;letter-spacing:-.02em;margin:0}.tpl-card p{font-size:13.5px;color:var(--muted);margin:0;flex:1;line-height:1.65}.tpl-card .btn-use{align-self:flex-start;background:var(--ink);color:var(--on-ink);border:none;border-radius:22px;padding:8px 18px;font-size:13.5px;cursor:pointer;margin-top:6px;transition:opacity .18s ease}.tpl-card .btn-use:hover{opacity:.82}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}.login-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:40px 36px;display:grid;gap:20px;box-shadow:0 28px 60px -24px #1a17141f}.login-brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500;letter-spacing:-.01em}.login-brand .mark{width:13px;height:13px;background:var(--gold);border-radius:3px;flex:none}.login-brand-icon{width:28px;height:28px;object-fit:contain;flex:none}.login-card label{display:grid;gap:7px;font-size:13px;color:var(--muted)}.login-card input{border:1px solid var(--line-strong);padding:11px 14px;border-radius:10px;background:var(--surface);color:var(--ink);outline:none;font-size:14px;transition:border-color .15s ease;width:100%}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b08d571a}.login-card .btn-submit{background:var(--ink);color:var(--on-ink);border:none;border-radius:10px;padding:12px;font-size:14.5px;font-weight:400;cursor:pointer;transition:opacity .18s;width:100%}.login-card .btn-submit:hover{opacity:.84}.login-card .btn-submit:disabled{opacity:.4;cursor:not-allowed}.login-error{font-size:13px;color:#8a2c2c;margin:0}.tab-group{display:flex;margin-bottom:8px;border-bottom:1px solid var(--line)}.tab-group .tab-item{flex:1;padding:10px 8px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.tab-group .tab-item.active{border-bottom-color:var(--gold);color:var(--ink)}.login-success{display:grid;min-height:180px;place-content:center;gap:20px;text-align:center}.login-foot{display:flex;justify-content:flex-end}.login-link{padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}.login-link:hover{color:var(--ink)}.login-notice{margin:0;color:#237a45;font-size:13px}.state-error{font-size:13px;color:#8a2c2c;padding:12px 16px;background:#fdf0f0;border-radius:10px;border:1px solid rgba(138,44,44,.15)}.state-empty{padding:60px 20px;text-align:center;color:var(--faint);font-size:14px}.rows{display:flex;flex-direction:column;gap:clamp(96px,12vw,168px);margin-top:96px}.row{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,88px);align-items:center}.row.flip{grid-template-columns:1.18fr .82fr}.row.flip .copy{order:2}.row.flip .shot{order:1}.row--lead{grid-template-columns:.72fr 1.28fr;gap:clamp(48px,7vw,104px)}.row--lead .shot{margin-top:-16px}.row--wide{grid-template-columns:1.34fr .66fr}.row--wide .copy{align-self:flex-end;padding-bottom:14px}.row--low{grid-template-columns:.9fr 1.1fr}.row--low .shot{margin-top:40px}.row--tight{grid-template-columns:1.06fr .94fr}.row--tight .copy{align-self:flex-start;padding-top:20px}.copy{display:flex;flex-direction:column;justify-content:center;padding:8px 0}.copy .num{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(54px,7vw,80px);line-height:.9;color:var(--ink);margin:0 0 24px;letter-spacing:-.02em;padding-top:26px;position:relative}.copy .num:before{content:"";position:absolute;top:0;left:0;width:56px;height:1px;background:var(--gold)}.copy .kicker{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:20px}.copy h3{font-size:clamp(26px,3.4vw,34px);letter-spacing:-.03em;font-weight:300;line-height:1.18;margin:0 0 22px}.copy p{font-size:16.5px;color:var(--muted);margin:0 0 32px;max-width:42ch;line-height:1.75;font-weight:400}.copy .link{font-size:14.5px;font-weight:400;color:var(--ink);letter-spacing:-.005em;border-bottom:1px solid var(--gold);padding-bottom:3px}.copy .link .arrow{display:inline-block;transition:transform .18s;color:var(--gold)}.copy .link:hover .arrow{transform:translate(4px)}.ph-line{height:10px;border-radius:6px;background:var(--line)}.ph-frame{flex:1;border-radius:12px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center;min-height:130px;position:relative}.ph-badge{font-size:12px;color:var(--faint);letter-spacing:.06em;border:1px dashed var(--line-strong);padding:7px 14px;border-radius:22px;background:var(--surface)}.ph-row{display:flex;gap:12px}.ph-chip{height:28px;border-radius:8px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);flex:1}.placeholder-note{margin-top:64px;font-size:12.5px;color:var(--faint);display:flex;align-items:center;gap:9px;font-weight:400}.placeholder-note .swatch{width:9px;height:9px;border-radius:3px;border:1px dashed var(--line-strong)}.shot--hp .body{grid-template-columns:162px 1fr;min-height:270px}.gallery--hp{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}.gallery--hp .g-card{aspect-ratio:3/4;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),0 20px 44px -26px #1a171433;display:flex;align-items:flex-end;padding:18px;transition:transform .25s ease;cursor:default}.gallery--hp .g-card:hover{transform:translateY(-4px)}.gallery--hp .g-card span{font-size:12.5px;color:var(--faint)}.quote{padding:clamp(100px,13vw,170px) 0}.quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(30px,4.6vw,48px);line-height:1.4;color:var(--ink);max-width:22ch;margin:0;font-weight:400;letter-spacing:-.015em}.quote cite{display:block;margin-top:32px;font-family:var(--ui);font-size:13px;color:var(--gold);font-style:normal;letter-spacing:.04em;font-weight:400}footer{box-shadow:0 -1px 0 var(--line);padding:56px 0}.foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}.foot-inner .cols{display:flex;gap:34px}.foot-inner a{font-size:14px;color:var(--muted);font-weight:400}.foot-inner a:hover{color:var(--ink)}.foot-inner .cr{font-size:13px;color:var(--faint)}.site-filing{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.site-filing a{display:inline-flex;align-items:center;gap:7px;color:var(--faint);font-size:12px}.site-filing img{width:20px;height:20px;object-fit:contain}.site-filing a:hover{color:var(--ink)}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;min-width:0}.site-footer{padding:20px 0 24px}.site-footer .site-filing{margin-top:0;padding-top:0;border-top:0}@media (max-width: 600px){.wrap,.nav-inner{padding:0 22px}nav.menu{gap:8px}.brand{font-size:0;gap:0}.brand .mark{width:16px;height:16px}.brand-icon{width:24px;height:24px}.nav-primary{gap:14px}.nav-primary .nav-tools{display:none}.nav-actions{gap:6px;padding-left:9px}.nav-projects{padding-inline:4px;font-size:13px}.nav-inner{padding-inline:16px}nav.menu .hide-sm{display:none}.shot .body{grid-template-columns:1fr}.steps{box-shadow:0 1px 0 var(--line)}.create-form{grid-template-columns:1fr}.txn-row{grid-template-columns:1fr auto}.txn-row time{display:none}.gallery{grid-template-columns:1fr 1fr}}.billing-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;background:#0000008c}.billing-modal__card{width:min(420px,calc(100vw - 32px));padding:24px;border-radius:16px;background:var(--color-surface, #fff)}.billing-modal__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.wallet-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0000008c}.topup-modal{position:relative;width:min(460px,100%);padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 24px 80px #0000004d}.topup-modal h3{margin:0 0 8px;font-size:24px}.topup-modal>p{margin:0;color:var(--muted);line-height:1.6}.modal-close{position:absolute;top:12px;right:14px;border:0;background:none;color:var(--muted);font-size:26px;cursor:pointer}.topup-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 16px}.topup-presets button{padding:12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}.topup-presets button.active{border-color:var(--gold);color:var(--gold)}.topup-field{display:grid;gap:8px;color:var(--muted)}.topup-field input{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.topup-channels{display:flex;gap:22px;margin:18px 0}.topup-channels label{display:flex;align-items:center;gap:7px}.topup-notice{display:grid;gap:4px;margin:18px 0;padding:14px;border-radius:10px;background:#c94b4b1a;color:#c94b4b}.topup-notice span{font-size:13px;line-height:1.5}.topup-submit{width:100%;justify-content:center}.topup-submit:disabled{cursor:not-allowed;opacity:.45}.topup-feedback{margin:14px 0;padding:11px 13px;border:1px solid rgb(46 125 91 / 35%);border-radius:8px;background:#2e7d5b1a;color:#2e7d5b;font-size:13px}.topup-feedback--error{border-color:#c94b4b59;background:#c94b4b1a;color:#c94b4b}.topup-qr{display:grid;justify-items:center;gap:8px;margin:16px 0;color:var(--muted);font-size:13px}.topup-qr img{width:180px;height:180px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}.nav-balance{display:inline-flex;align-items:baseline;gap:6px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);color:var(--text);text-decoration:none;white-space:nowrap}.nav-balance span{color:var(--muted);font-size:12px}.nav-balance strong{font-size:13px;font-variant-numeric:tabular-nums}.nav-balance:hover{border-color:var(--brand,#6c5ce7);color:var(--brand,#6c5ce7)}.wallet-history{margin-top:28px}.wallet-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.wallet-table{width:100%;border-collapse:collapse;min-width:760px}.wallet-table th,.wallet-table td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.wallet-table th{color:var(--muted);font-size:12px;font-weight:600;background:var(--surface-2,rgba(127,127,127,.06))}.wallet-table tbody tr:last-child td{border-bottom:0}.wallet-table time,.project-id{font-variant-numeric:tabular-nums}.wallet-table .amount-col{text-align:right;font-variant-numeric:tabular-nums}.txn-credit{color:#16865b}.txn-debit{color:#c34848}.txn-chip{display:inline-flex;padding:3px 8px;border-radius:999px;background:#7f7f7f1f;font-size:12px}.category-image{background:#6f4cff21;color:#6f4cff}.category-video{background:#0091b421;color:#007f9e}.category-tool{background:#e28e0024;color:#9b6100}.category-recharge,.category-refund,.category-gift{background:#16865b21;color:#16865b}@media (max-width:760px){.nav-balance span{display:none}.nav-balance{padding-inline:8px}}.topup-channel-disabled{color:var(--muted);font-size:13px;opacity:.75}
