*{box-sizing:border-box}body{margin:0;color:var(--qf-text-primary);background:var(--qf-surface-canvas);font-family:system-ui,-apple-system,PingFang TC,Microsoft JhengHei,sans-serif;line-height:1.6}.wrap{width:min(100%,620px);margin:0 auto;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.brand-bar{display:flex;align-items:center;justify-content:space-between;height:44px;margin-bottom:12px}.brand-home,.theme-toggle{display:grid;width:44px;height:44px;place-items:center;border-radius:12px}.brand-home{background:var(--qf-logo-tile)}.brand-home img{display:block;width:32px;height:32px;filter:brightness(0) invert(1)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .brand-home img{filter:none}}:root[data-theme=dark] .brand-home img{filter:none}.theme-toggle{color:var(--qf-text-secondary);cursor:pointer;border:1px solid var(--qf-border-subtle);background:var(--qf-surface-elevated)}@media(hover:hover){.theme-toggle:hover{color:var(--qf-text-primary);border-color:var(--qf-border-strong)}}.theme-toggle svg,.attach-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-icon-sun{display:none}:root[data-theme=dark] .theme-icon-sun{display:block}:root[data-theme=dark] .theme-icon-moon{display:none}h1{margin:16px 0 8px;font-size:clamp(24px,5vw,30px);line-height:1.25}.lead{margin:0 0 26px;color:var(--qf-text-secondary);font-size:15px}form{display:flex;flex-direction:column;gap:24px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.field-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.field-heading h2,.vis-block legend{margin:0;color:var(--qf-text-primary);font-size:15px;font-weight:700}.field-heading>span{color:var(--qf-text-tertiary);font-size:12px}.composer{overflow:hidden;border:1px solid var(--qf-border-strong);border-radius:16px;background:var(--qf-surface-elevated);box-shadow:0 10px 30px color-mix(in srgb,var(--qf-scrim) 11%,transparent)}.composer:focus-within,.composer.is-over{border-color:var(--qf-interactive);box-shadow:0 0 0 3px var(--qf-focus-ring)}.composer.is-over{background:color-mix(in srgb,var(--qf-selection) 48%,var(--qf-surface-elevated))}.composer-note{display:block;padding:6px 14px 2px}.composer-note textarea{display:block;width:100%;min-height:92px;resize:vertical;padding:10px 2px;color:var(--qf-text-primary);border:0;outline:0;background:transparent;font:inherit;line-height:1.55}.composer-note textarea::placeholder{color:var(--qf-text-tertiary)}.composer-actions{display:flex;align-items:center;gap:10px;padding:8px 12px 12px}.attach-button{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:7px 12px;color:var(--qf-text-primary);cursor:pointer;border:1px solid var(--qf-border-subtle);border-radius:999px;background:var(--qf-surface-interactive);font:inherit;font-size:13px;font-weight:650}@media(hover:hover){.attach-button:hover:not(:disabled){border-color:var(--qf-interactive)}}.attach-button:disabled{cursor:not-allowed;opacity:.48}.composer-prompt{color:var(--qf-text-tertiary);font-size:12px}.attachment-list{display:grid;gap:8px;margin:0;padding:12px 12px 0;list-style:none}.composer[data-empty] .attachment-list{display:none}.attachment-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:7px 8px;border:1px solid var(--qf-border-subtle);border-radius:12px;background:var(--qf-surface-interactive)}.attachment-card.has-error{border-color:color-mix(in srgb,var(--qf-danger-text) 48%,var(--qf-border-subtle))}.attachment-icon{display:grid;width:40px;height:40px;place-items:center;color:var(--qf-text-secondary);border:1px solid var(--qf-border-subtle);border-radius:9px;background:var(--qf-surface-elevated);font-size:9px;font-weight:800;letter-spacing:.02em}.attachment-details{display:flex;min-width:0;flex-direction:column;gap:2px}.attachment-details strong{overflow:hidden;font-size:13px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.attachment-meta{color:var(--qf-text-tertiary);font-size:11px;line-height:1.4}.has-error .attachment-meta{color:var(--qf-danger-text)}.attachment-progress{display:block;width:min(160px,100%);height:3px;overflow:hidden;margin-top:3px;border-radius:999px;background:var(--qf-border-subtle)}.attachment-progress i{display:block;height:100%;border-radius:inherit;background:var(--qf-interactive)}.attachment-actions{display:flex;align-items:center}.attachment-action,.attachment-remove{min-width:40px;min-height:40px;padding:6px;color:var(--qf-text-secondary);cursor:pointer;border:0;background:transparent;font:inherit;font-size:12px}.attachment-remove{font-size:22px;font-weight:300}@media(hover:hover){.attachment-action:hover{color:var(--qf-interactive)}.attachment-remove:hover{color:var(--qf-danger-text)}}.upload-limits{margin-top:9px;color:var(--qf-text-tertiary);font-size:12px;line-height:1.55}.upload-limits p{margin:3px 0}#upload-usage{color:var(--qf-text-secondary);font-weight:650}.attachment-errors{margin-top:7px;color:var(--qf-danger-text);font-size:12px}.field,.vis-block{display:flex;min-width:0;flex-direction:column;gap:8px}.vis-block{padding:0;margin:0;border:0}.vis-block em,.check em{color:var(--qf-danger-text);font-style:normal}.vis-cards{display:flex;flex-direction:column;gap:10px}.vis-card{overflow:hidden;border:1px solid var(--qf-border-subtle);border-radius:14px;background:color-mix(in srgb,var(--qf-surface-interactive) 72%,transparent)}.vis-card:has(input:checked){border-color:var(--qf-interactive);box-shadow:0 0 0 1px var(--qf-interactive);background:var(--qf-surface-interactive)}.vis-card-main{display:flex;flex-direction:column;gap:5px;padding:15px 16px;cursor:pointer}.vis-card-main>input{position:absolute;width:1px;height:1px;opacity:0}.vis-head{display:flex;align-items:center;gap:8px}.vis-ico{width:19px;height:19px;flex:none;fill:none;stroke:var(--qf-text-tertiary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vis-name{font-size:16px}.price,.price-col{margin-left:auto;color:var(--qf-text-secondary);font-size:14px;font-weight:650}.vis-desc{color:var(--qf-text-secondary);font-size:13px;line-height:1.55}.estimator-toggle,.pricing-help,.term-link{color:var(--qf-interactive);cursor:pointer;border:0;background:transparent;font:inherit}.estimator-toggle{margin:0 12px 12px;padding:3px 4px;font-size:13px;text-align:left}.calc-area{overflow:hidden;max-height:0;padding:0 16px;opacity:0}.calc-area.is-open{max-height:720px;padding:2px 16px 16px;opacity:1}.calc{display:flex;flex-direction:column;gap:14px;padding:14px;border:1px solid var(--qf-border-subtle);border-radius:12px;background:var(--qf-surface-elevated)}.calc-row{display:flex;flex-direction:column;gap:7px}.calc-label{color:var(--qf-text-secondary);font-size:13px}.calc-label output{color:var(--qf-text-primary);font-weight:700;font-variant-numeric:tabular-nums}.calc input[type=range]{width:100%;accent-color:var(--qf-action-primary)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:36px;padding:7px 12px;color:var(--qf-text-secondary);cursor:pointer;border:1px solid var(--qf-border-subtle);border-radius:999px;background:var(--qf-surface-interactive);font:inherit;font-size:12px}.chip.is-active{color:var(--qf-action-primary-text);border-color:var(--qf-action-primary);background:var(--qf-action-primary)}.estimate-result{margin:2px 0 0;color:var(--qf-text-secondary);font-size:13px}.estimate-result strong{color:var(--qf-text-primary);font-size:18px;font-variant-numeric:tabular-nums}.estimate-result small{color:var(--qf-text-tertiary)}.pricing-help{margin-top:7px;padding:4px;font-size:12px}.term-link{padding:0;text-decoration:underline dotted;text-underline-offset:3px}.hint{margin:-4px 0 0;color:var(--qf-text-secondary);font-size:12px}.hint a,.check a{color:var(--qf-interactive)}.check{display:flex;align-items:flex-start;gap:10px;color:var(--qf-text-secondary);font-size:14px}.check input{margin-top:5px}.submit-requirements{margin:-8px 0 -12px;color:var(--qf-text-tertiary);font-size:12px;text-align:center}.btn{min-height:48px;padding:12px 16px;color:var(--qf-action-primary-text);cursor:pointer;border:0;border-radius:10px;background:var(--qf-action-primary);font-size:16px;font-weight:700}@media(hover:hover){.btn:hover:not(:disabled){background:var(--qf-action-primary-hover)}}.btn:disabled{cursor:not-allowed;opacity:.45}.msg{min-height:20px;margin:16px 0 0;font-size:14px}.msg.err{color:var(--qf-danger-text)}.msg.ok{color:var(--qf-success-text)}.modal[hidden]{display:none}.modal{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.modal-backdrop{position:absolute;inset:0;background:var(--qf-scrim)}.modal-box{position:relative;display:flex;overflow:hidden;width:min(680px,92vw);height:min(80vh,720px);flex-direction:column;border-radius:14px;background:var(--qf-surface-elevated)}.modal-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--qf-border-subtle)}.modal-open-new{color:var(--qf-interactive);font-size:13px;text-decoration:none}.modal-close{min-width:44px;min-height:44px;color:var(--qf-text-secondary);cursor:pointer;border:0;background:transparent;font-size:18px}.modal-iframe{width:100%;flex:1;border:0;background:var(--qf-image-canvas)}:where(.theme-toggle,.brand-home,.attach-button,.attachment-action,.attachment-remove,.vis-card-main,.estimator-toggle,.pricing-help,.term-link,.chip,.btn):focus-visible{outline:3px solid var(--qf-focus-ring);outline-offset:2px}@media(max-width:460px){.wrap{padding-right:max(16px,env(safe-area-inset-right));padding-left:max(16px,env(safe-area-inset-left))}.composer-actions{align-items:flex-start;flex-direction:column}.attachment-card{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.attachment-icon{width:36px;height:36px}.vis-head{flex-wrap:wrap}.price,.price-col{width:100%;margin-left:27px}}
