@charset "UTF-8";
:root{font-family:Inter,"Noto Sans TC",system-ui,sans-serif;color:#e8edf5;background:#10131b;line-height:1.6;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#b9d9ff;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,select,input[type=number]{border:1px solid #4b5365;border-radius:8px;background:#242a38;color:#fff;padding:.65rem .8rem}button{cursor:pointer;font-weight:650}button:hover:not(:disabled){border-color:#edbc67;background:#303746}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.download{background:#f4bd63;color:#1c1b18;border:1px solid #f4bd63;font-weight:750}.download{display:inline-block;text-decoration:none;border-radius:8px;padding:.8rem 1.25rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #83c5ff;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:-100px}.skip:focus{top:8px;left:8px;background:#111;padding:1rem;z-index:9}.shell{max-width:1240px;margin:auto;padding:0 28px}.masthead{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid #303746}.brand{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:inherit;text-decoration:none}.brand span{color:#f4bd63}.languages{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem}.languages [aria-current]{color:#f4bd63}h1{font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 12px}h2{font-size:1.45rem;line-height:1.35}h3{font-size:1.05rem}.intro{padding:32px 0 22px}.intro p{color:#b6bece;max-width:780px;margin:0}.eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.16em;color:#f4bd63!important;margin-bottom:12px!important}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}.controls{background:#1a1f2c;border:1px solid #363d4d;border-radius:12px;padding:22px}.step{color:#a4afc3;font-size:.8rem;letter-spacing:.12em}.controls h2{margin:4px 0 16px;font-size:1.1rem}.field{display:grid;gap:6px;margin-bottom:18px}.field label,.field>span{font-size:.9rem;font-weight:650}.field small,.note,.meta{font-size:.875rem;color:#aeb9cc}.file{display:block;width:100%;font-size:.875rem;padding:12px 0}.file::file-selector-button{padding:8px 10px;border:1px solid #566074;background:#30394c;border-radius:6px;color:#fff;cursor:pointer}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pair input{width:100%;min-width:0}.controls hr{border:0;border-top:1px solid #343d4e;margin:22px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions .primary{flex:1}.preview-panel{min-width:0;background:#171c27;border:1px solid #343d4e;border-radius:12px;overflow:hidden}.preview-header{display:flex;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid #343d4e;font-size:.875rem}.monitor{min-height:410px;display:flex;align-items:center;justify-content:center;padding:26px;background:repeating-linear-gradient(90deg,#121620 0,#121620 39px,#191f2b 40px),#121620}.frame{position:relative;width:100%;max-width:630px;aspect-ratio:16/9;overflow:hidden;background:#050609;outline:1px solid #4e596c;box-shadow:0 12px 40px #0006}.frame.portrait{max-width:230px;aspect-ratio:9/16}.frame video{display:block;width:100%;height:100%;object-fit:cover}.empty{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center;padding:20px;color:#9ba8be}.empty b{font-size:2rem;font-weight:400;color:#73829e}.preview-details{padding:18px 22px}.preview-details p{margin:5px 0}.playback{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.status{padding:12px 0;min-height:48px;overflow-wrap:anywhere}.status.error{color:#ffb1ab}.progress{width:100%;accent-color:#f4bd63}.result{margin-top:22px;border:1px solid #71896d;background:#17251e;padding:22px;border-radius:10px}.result h2{margin-top:0}.result video{display:block;max-width:100%;max-height:400px;margin:16px 0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:36px 0}.facts div{border-top:1px solid #4d586c;padding-top:18px}.facts p{color:#b6bece;font-size:.94rem}.article{max-width:780px;margin:40px auto 65px}.article h1{font-size:2.25rem}.article h2{margin-top:34px}.article p,.article li{color:#cbd3e0}.article .answer{font-size:1.13rem;border-left:3px solid #f4bd63;padding:12px 20px;background:#1a1f2c}.article table{border-collapse:collapse;width:100%;font-size:.94rem;margin:24px 0}.article td,.article th{border:1px solid #414c60;padding:12px;text-align:left;vertical-align:top}.table-scroll{overflow-x:auto}.formula{background:#1a2432;padding:18px;border-radius:8px;font-variant-numeric:tabular-nums}.article nav{margin-top:32px}.adspace{border-top:1px solid #323b4c;text-align:center;min-height:100px;padding:14px;color:#8c98ae;font-size:.8rem;max-width:780px;margin:auto}.consent{display:flex;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid #30394a;padding:20px 0;font-size:.875rem;color:#adb9cd}.consent p{max-width:650px;margin:0}.consent button{font-size:.875rem}.footer{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;border-top:1px solid #30394a;padding:22px 0 30px;font-size:.875rem;color:#9ba8bd}.footer nav{display:flex;gap:16px;flex-wrap:wrap}.limit{margin-top:14px;font-size:.8rem;color:#aab5c8}.ratio-figure{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px;background:#141c28;flex-wrap:wrap}.ratio-box{border:2px solid #f4bd63;background:#253347;display:grid;place-content:center;text-align:center;font-size:.875rem}.ratio-box.wide{width:240px;height:135px}.ratio-box.tall{width:90px;height:160px}@media(max-width:800px){.shell{padding:0 18px}.masthead{align-items:flex-start;flex-direction:column;gap:12px;padding:18px 0}.workspace{grid-template-columns:1fr}.controls{order:1}.preview-panel{order:2}.monitor{min-height:320px}.facts{grid-template-columns:1fr;gap:10px}.consent{align-items:flex-start;flex-direction:column}.article{margin-top:28px}.article h1{font-size:1.85rem}.languages{gap:12px}.intro{padding-top:26px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}
