:root{--ink:#1d1b17;--ink-soft:#3a3630;--paper:#fdfcf8;--paper-shadow:rgba(30,25,20,.08);--grid-line:#d9c9b5;--grid-line-soft:#ece4d3;--c-error:#c0392b;--c-syntax:#2c6cb0;--c-punct:#d97706;--c-word:#7c3aed;--c-logic:#0d9488;--c-good:#2d8659;--c-content:#be185d;--c-structure:#8a6d3b;--c-note:#6b5d4d;--c-tip:#b45309;--c-brand:#c0392b;--c-brand-dark:#8e2820;--c-accent:#2d8659;--serif:"Noto Serif SC","STSong","SimSun",serif;--sans:"Noto Sans SC",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--essay-english:Georgia,"Times New Roman",Times,serif;--kai:"Ma Shan Zheng","KaiTi","STKaiti",cursive}*{box-sizing:border-box}body,html{margin:0;padding:0;background:#f4ede0;font-family:var(--sans);color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact}html{min-height:100%}body{min-height:100vh;display:flex;flex-direction:column}body>main{flex:1 0 auto;width:100%}body>footer{flex-shrink:0}a{color:inherit;text-decoration:none}button{font-family:inherit}@keyframes spin{to{transform:rotate(1turn)}}.section-title{font-family:var(--serif);font-size:28pt;font-weight:700;text-align:center;letter-spacing:5px;margin:0 0 12px}.section-subtitle{text-align:center;color:var(--ink-soft);margin:0 0 48px;letter-spacing:2px;font-size:11pt}.pricing-section{background:var(--paper);padding:80px 24px}.pricing-section .container{max-width:720px;margin:0 auto}.features{max-width:1080px;margin:0 auto;padding:40px 24px 80px}.features .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px;gap:24px}.feature-card{background:var(--paper);border-radius:8px;padding:32px 28px;box-shadow:0 2px 14px var(--paper-shadow);border:1px solid rgba(0,0,0,.04)}.feature-card .icon{display:inline-block;font-size:22pt;margin-bottom:18px;color:var(--c-brand);letter-spacing:2px}.feature-card .icon,.feature-card h3{font-weight:700;font-family:var(--serif)}.feature-card h3{font-size:16pt;margin:0 0 12px;letter-spacing:3px}.feature-card p{margin:0;font-size:11pt;line-height:1.85;color:var(--ink-soft)}.toolbar{position:fixed;top:88px;right:12px;z-index:999;padding:10px;font-family:var(--sans);font-size:12px;display:flex;align-items:center;gap:8px}.toolbar a,.toolbar button{font:inherit;border:none;background:#1d1b17;color:#fafaf7;padding:6px 14px;border-radius:4px;cursor:pointer;letter-spacing:2px;text-decoration:none;display:inline-block}.toolbar a:hover,.toolbar button:hover{background:#3a3630}.app-container{max-width:880px;margin:0 auto;padding:48px 24px 80px}.app-container h1{font-family:var(--serif);font-size:26pt;font-weight:700;letter-spacing:4px;margin:0 0 8px}.app-container .lede{color:var(--ink-soft);font-size:11pt;letter-spacing:1px;margin:0 0 36px}.upload-form{position:relative;background:var(--paper);border-radius:14px;padding:40px 36px 32px;box-shadow:0 2px 14px var(--paper-shadow);border:1px solid rgba(30,25,20,.06);overflow:hidden;display:flex;flex-direction:column;gap:24px}.upload-form:after,.upload-form:before{content:"";position:absolute;pointer-events:none}.upload-form:before{inset:0;background:radial-gradient(circle at 20% 0,rgba(192,57,43,.05),transparent 45%),radial-gradient(circle at 80% 100%,rgba(45,134,89,.04),transparent 45%)}.upload-form:after{inset:0 0 auto 0;height:3px;background:linear-gradient(to right,transparent,var(--c-brand) 30%,var(--c-brand-dark) 55%,var(--c-brand) 70%,transparent)}.upload-form .field{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.upload-form label{font-size:10pt;font-weight:600;letter-spacing:2px;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;margin-bottom:6px}.upload-form label .optional-tag,.upload-form label .required-tag{display:inline-flex;align-items:center;font-size:8pt;font-weight:700;letter-spacing:2px;padding:2px 8px 1px;border-radius:3px;margin-left:10px;border:1px solid transparent;vertical-align:1px}.upload-form label .required-tag{color:var(--c-brand);background:rgba(192,57,43,.08);border-color:rgba(192,57,43,.22)}.upload-form label .optional-tag{color:var(--ink-soft);background:rgba(30,25,20,.04);border-color:rgba(30,25,20,.12)}.upload-form label .hint{font-weight:400;letter-spacing:1px;color:var(--ink-soft);margin-left:10px;font-size:9pt}.upload-form textarea{border:1px solid var(--grid-line);border-radius:6px;padding:12px 14px;font-family:var(--sans);font-size:11pt;line-height:1.7;min-height:96px;background:hsla(0,0%,100%,.85);resize:vertical;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.upload-form textarea::placeholder{font-size:9.5pt;letter-spacing:.5px;color:var(--ink-soft);opacity:.78}.upload-form textarea:hover{border-color:#c5b394}.upload-form textarea:focus{outline:none;border-color:#b3935a;background:#fffdf6;box-shadow:0 0 0 3px rgba(138,109,59,.14)}.upload-form .req-row{display:flex;gap:12px;align-items:stretch}.upload-form .req-row>textarea{flex:1 1 60%;min-width:0;min-height:120px;resize:none}.upload-form .req-row>.image-drop{flex:1 1 40%;min-width:0;display:flex;align-items:center;justify-content:center;margin-bottom:3px}.upload-form .req-row>.image-drop .placeholder{align-items:center}.upload-form .image-drop{border:1.5px dashed var(--grid-line);border-radius:8px;padding:18px 20px;text-align:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;background:hsla(0,0%,100%,.85);outline:none}.upload-form .image-drop:hover{border-color:#c5b394;background:#fdfaf2}.upload-form .image-drop:focus-visible{border-color:#b3935a;background:#fdfaf2;box-shadow:0 0 0 3px rgba(138,109,59,.14)}.upload-form .image-drop.active{border-color:#b3935a;border-style:solid;background:#fdfaf2;box-shadow:0 0 0 3px rgba(138,109,59,.18)}.upload-form .image-drop--optional{padding:14px 16px;border-color:rgba(30,25,20,.12);background:hsla(0,0%,100%,.55)}.upload-form .image-drop--optional .drop-icon{width:28px;height:28px;background:rgba(30,25,20,.05);color:var(--ink-soft)}.upload-form .image-drop--optional .placeholder-main{font-weight:400;color:var(--ink-soft);letter-spacing:1px}.upload-form .image-drop input[type=file]{display:none}.upload-form .image-drop .placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink-soft);font-size:10pt;letter-spacing:1px;line-height:1.6}.upload-form .image-drop .drop-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f4ede0;color:var(--c-structure);margin-bottom:2px;transition:background .18s ease,color .18s ease,transform .18s ease}.upload-form .image-drop .placeholder-main{font-weight:500;color:var(--ink);letter-spacing:1.5px}.upload-form .image-drop .hint-inline{display:inline-block;font-size:9pt;color:var(--ink-soft);opacity:.78;letter-spacing:.5px}.upload-form .image-drop.active .drop-icon,.upload-form .image-drop:focus-visible .drop-icon,.upload-form .image-drop:hover .drop-icon{background:rgba(138,109,59,.14);color:#8a6d3b;transform:translateY(-1px)}.upload-form .preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.upload-form .preview-grid .preview{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;background:#f0ebe0;border:1px solid rgba(30,25,20,.14);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 1px 3px rgba(30,25,20,.06)}.upload-form .preview-grid .preview img{width:100%;height:100%;object-fit:cover}.upload-form .preview-grid .preview button{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.6);color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;line-height:1}.upload-form .preview-grid .preview button:hover{background:rgba(0,0,0,.8)}.upload-form .submit{position:relative;z-index:1;background:var(--c-brand);color:#fff;border:none;padding:14px 48px;border-radius:4px;font-size:11pt;letter-spacing:4px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;align-self:center;min-width:240px;box-shadow:0 2px 8px rgba(192,57,43,.2)}.upload-form .submit:hover:not(:disabled){background:var(--c-brand-dark);transform:translateY(-1px);box-shadow:0 6px 18px rgba(192,57,43,.28)}.upload-form .submit:disabled{opacity:.5;cursor:not-allowed}.upload-form .error{position:relative;z-index:1;background:rgba(192,57,43,.06);border-left:3px solid var(--c-brand);padding:10px 14px;color:var(--c-brand-dark);font-size:10pt;border-radius:2px}.upload-form .upload-progress-wrap{display:flex;flex-direction:column;gap:12px}.upload-form .upload-progress{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:rgba(192,57,43,.03);border:1px solid var(--grid-line-soft,var(--grid-line));border-radius:6px}.upload-form .upload-stream-card{width:100%}.upload-form .upload-progress-status{display:flex;align-items:center;gap:10px;font-size:10pt;color:var(--ink);letter-spacing:1px}.upload-form .upload-progress-hint{margin-top:-2px;padding-left:24px;font-size:9pt;line-height:1.6;color:var(--ink-soft);letter-spacing:.3px}.upload-form .upload-progress-hint a{color:var(--c-brand-dark,var(--c-brand));text-decoration:underline;text-underline-offset:2px}.upload-form .upload-progress-hint a:hover{opacity:.8}.upload-form .upload-progress-link{margin-left:4px;color:var(--c-brand-dark,var(--c-brand));text-decoration:underline;text-underline-offset:2px;font-weight:500}.upload-form .upload-progress-link:hover{opacity:.8}.upload-form .upload-progress-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--grid-line);border-top-color:var(--c-brand);border-radius:50%;animation:upload-progress-spin .9s linear infinite}@keyframes upload-progress-spin{to{transform:rotate(1turn)}}@media(max-width:720px){.section-title{font-size:22pt;letter-spacing:3px}.section-subtitle{font-size:10pt;letter-spacing:1px;margin-bottom:32px}.pricing-section{padding:56px 16px}.features{padding:32px 16px 64px}.features .grid{gap:14px}.feature-card{padding:24px 22px}.feature-card .icon{font-size:18pt;margin-bottom:14px;letter-spacing:1px}.feature-card h3{font-size:14pt;letter-spacing:2px;margin-bottom:10px}.feature-card p{font-size:10.5pt;line-height:1.75}.toolbar{top:auto;bottom:12px;right:12px;padding:6px;gap:6px}.toolbar a,.toolbar button{padding:8px 12px;font-size:11px;letter-spacing:1px}.app-container{padding:32px 16px 64px}.app-container h1{font-size:22pt;letter-spacing:3px}.app-container .lede{font-size:10pt;letter-spacing:.5px;margin-bottom:24px}.upload-form{padding:28px 18px 24px;gap:18px;border-radius:12px}.upload-form label{font-size:9.5pt;letter-spacing:1.5px}.upload-form label .optional-tag,.upload-form label .required-tag{font-size:7.5pt;letter-spacing:1.5px;padding:1px 7px;margin-left:8px}.upload-form label .hint{display:block;flex-basis:100%;margin-left:0;margin-top:6px;font-size:8.5pt;letter-spacing:.5px}.upload-form textarea{font-size:16px;padding:10px 12px;min-height:88px}.upload-form textarea::placeholder{font-size:12.5px}.upload-form .req-row{flex-direction:column;gap:10px}.upload-form .req-row>textarea{min-height:96px;resize:vertical}.upload-form .req-row>.image-drop{min-height:0}.upload-form .image-drop{padding:16px 14px}.upload-form .image-drop .placeholder-main{font-size:9.5pt;letter-spacing:1px}.upload-form .image-drop .hint-inline{font-size:8.5pt}.upload-form .image-drop .drop-icon{width:28px;height:28px}.upload-form .image-drop--optional{padding:12px 14px}.upload-form .image-drop--optional .drop-icon{width:24px;height:24px}.upload-form .preview-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.upload-form .preview-grid .preview button{width:26px;height:26px;font-size:14px}.upload-form .submit{padding:13px 28px;font-size:10.5pt;letter-spacing:3px;min-width:0;width:100%;max-width:320px}}@media(max-width:380px){.upload-form{padding:20px 14px 18px}.app-container{padding:28px 12px 56px}.app-container h1{font-size:19pt;letter-spacing:2px}}