*{box-sizing:border-box;margin:0;padding:0}body{color:#1f2833;background:radial-gradient(circle at 0 0,#0f5a5a1f,#0000 28%),radial-gradient(circle at 100% 0,#c57d1c24,#0000 22%),linear-gradient(#fbf7f0 0%,#f3ecdf 100%);min-height:100vh;font-family:Avenir Next,Segoe UI Variable,PingFang SC,Noto Sans SC,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}a{color:inherit}.btn{color:#fff;letter-spacing:.01em;cursor:pointer;background:#0f5a5a;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.4rem;font-size:.98rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex;box-shadow:0 12px 24px #0f5a5a2e}.btn:hover{background:#0a4344;transform:translateY(-1px);box-shadow:0 16px 26px #0f5a5a3d}.btn:disabled{color:#ffffffb3;box-shadow:none;cursor:not-allowed;background:#adb7ba;transform:none}.back-btn.btn{color:#1f2833;box-shadow:none;background:0 0;border-color:#ddd1bf}.back-btn.btn:hover{background:#ffffffb8;border-color:#bea98e}.upload-zone{text-align:center;cursor:pointer;background:linear-gradient(#fffaf1f5 0%,#f8efe2eb 100%);border:2px dashed #bea98ee6;border-radius:30px;flex-grow:1;width:100%;padding:3rem;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 24px 60px #271f161f}.upload-zone:before{content:"";pointer-events:none;border:1px solid #ffffffb3;border-radius:22px;position:absolute;inset:18px}.upload-zone:hover,.upload-zone.dragging{background:linear-gradient(#f2fbf8fa 0%,#e9f7f3f0 100%);border-color:#0f5a5a;transform:translateY(-1px)}.upload-zone .upload-content{z-index:1;position:relative}.upload-zone .upload-icon{margin-bottom:1.5rem;font-size:3.5rem}.upload-zone .upload-text{color:#1f2833;margin-bottom:.5rem;font-size:1.35rem;font-weight:700}.upload-zone .upload-hint{color:#8d98a4;margin-bottom:1.5rem;font-size:.95rem}.upload-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.upload-zone .upload-progress{flex-direction:column;gap:1rem;display:flex}.upload-zone .upload-progress .progress-bar{background:#1f28331a;border-radius:999px;width:100%;height:10px;overflow:hidden}.upload-zone .upload-progress .progress-fill{background:linear-gradient(90deg,#0f5a5a 0%,#1ca9a9 100%);height:100%;transition:width .1s}.upload-zone .upload-progress p{color:#5f6b76;font-weight:600}.error-message{color:#c94949;background:#c949491a;border:1px solid #c9494933;border-radius:18px;width:100%;margin-bottom:1rem;padding:1rem 1.5rem}.error-message p{margin-bottom:0}.pdf-preview{background:#ffffffbd;border:1px solid #bea98e6b;border-radius:24px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 10px 30px #362d1f14}.pdf-preview .preview-toolbar{background:linear-gradient(#fff8ecf2 0%,#f5ece0e6 100%);border-bottom:1px solid #bea98e73;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.pdf-preview .preview-toolbar button{color:#1f2833;cursor:pointer;background:#fffdf8;border:1px solid #ddd1bf;border-radius:18px;padding:.5rem 1rem;transition:all .2s}.pdf-preview .preview-toolbar button:hover:not(:disabled){background:#efe7da}.pdf-preview .preview-toolbar button:disabled{opacity:.5;cursor:not-allowed}.pdf-preview .preview-toolbar .page-info{color:#8d98a4;margin-left:auto;font-size:.9rem;font-weight:600}.pdf-preview .preview-toolbar .filename{color:#1f2833;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1rem;font-weight:700;overflow:hidden}.pdf-preview .preview-toolbar .zoom-controls{align-items:center;gap:.5rem;margin-left:auto;display:flex}.pdf-preview .preview-toolbar .zoom-controls span{text-align:center;color:#5f6b76;min-width:50px;font-size:.875rem}.pdf-preview .preview-canvas-container{background:#efe7da;min-height:600px;padding:1.5rem}.pdf-preview .preview-canvas-container .pdf-iframe{background:#fffdf8;border:none;width:100%;height:600px}.pdf-preview .preview-container{background:linear-gradient(#ece4d98c 0%,#e6ddd273 100%);flex-grow:1;padding:1rem}.pdf-preview .preview-iframe{background:#fffdf8;border:none;border-radius:18px;width:100%;height:100%;box-shadow:inset 0 0 0 1px #bea98e59}@media (width<=1024px){.pdf-preview{height:80vh}.pdf-preview .preview-canvas-container{min-height:auto;padding:1rem}.pdf-preview .preview-canvas-container .pdf-iframe{height:50vh}.pdf-preview .preview-container,.pdf-preview .preview-iframe{min-height:40vh}}.print-options{background:#ffffffb8;border:1px solid #bea98e5c;border-radius:24px;padding:2rem;box-shadow:0 10px 30px #362d1f14}.print-options h3{color:#16313a;margin-bottom:1.5rem;font-size:1.15rem;font-weight:700}.print-options .option-group{margin-bottom:1.5rem}.print-options .option-group:last-child{margin-bottom:0}.print-options .option-group>label{color:#1f2833;margin-bottom:1rem;font-weight:500;display:block}.print-options .option-group .radio-group{flex-direction:column;gap:.5rem;display:flex}.print-options .option-group .radio-group label{cursor:pointer;background:#fffaf1a8;border:1px solid #0000;border-radius:16px;align-items:center;gap:.5rem;padding:.85rem 1rem;transition:background .2s,border-color .2s;display:flex}.print-options .option-group .radio-group label:hover{background:#ffffffeb;border-color:#bea98e66}.print-options .option-group .radio-group label input[type=radio]{margin:0}.print-options .option-group .radio-group.color-mode{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.print-options .option-group .radio-group.color-mode label{background:#fffdf8e0;border:2px solid #bea98e8c;border-radius:20px;flex-direction:column;align-items:center;padding:1.5rem}.print-options .option-group .radio-group.color-mode label.selected{background:#e1f3eff2;border-color:#0f5a5a;box-shadow:0 12px 24px #0f5a5a14}.print-options .option-group .radio-group.color-mode label:has(input:checked){background:#e1f3eff2;border-color:#0f5a5a;box-shadow:0 12px 24px #0f5a5a14}.print-options .option-group .radio-group.color-mode label .mode-icon{margin-bottom:.5rem;font-size:2rem}.print-options .option-group .radio-group.color-mode label .mode-label{margin-bottom:.25rem;font-weight:500}.print-options .option-group .radio-group.color-mode label .mode-price{color:#8d98a4;font-size:.875rem}.print-options .option-group .radio-group.color-mode label input{opacity:0;position:absolute}.print-options .option-group .range-input{background:#ffffffeb;border:1px solid #bea98eb8;border-radius:16px;width:100%;margin-top:.5rem;padding:.9rem 1rem}.print-options .option-group .range-input:focus{border-color:#0f5a5a;outline:none;box-shadow:0 0 0 4px #0f5a5a1a}.print-options .option-group .hint{color:#8d98a4;margin-top:.5rem;font-size:.875rem}.print-options .option-group .copies-control{align-items:center;gap:.5rem;display:flex}.print-options .option-group .copies-control button{cursor:pointer;background:#ffffffe6;border:1px solid #bea98eb8;border-radius:14px;width:42px;height:42px;font-size:1.25rem}.print-options .option-group .copies-control button:hover{background:#fff}.print-options .option-group .copies-control input{text-align:center;background:#ffffffeb;border:1px solid #bea98eb8;border-radius:14px;width:70px;height:42px;font-size:1rem;font-weight:700}.price-display{color:#ffffffeb;background:linear-gradient(#15313af5 0%,#10242bfa 100%);border:1px solid #ffffff14;border-radius:28px;padding:2rem;box-shadow:0 24px 60px #271f161f}.price-display h3{margin-bottom:1.5rem;font-size:1.3rem}.price-display .price-breakdown{margin-bottom:1.5rem}.price-display .price-breakdown .price-row{color:#ffffffc2;justify-content:space-between;gap:1rem;padding:1rem 0;font-size:.96rem;display:flex}.price-display .price-breakdown .price-row.total{color:#fff;font-size:1.16rem;font-weight:700}.price-display .price-breakdown .price-row.total .total-price{color:#fff3d4;letter-spacing:-.03em;font-size:1.9rem}.price-display .price-breakdown .price-row span:last-child{white-space:nowrap;font-weight:700}.price-display .price-breakdown .price-divider{border-top:1px dashed #ffffff38;margin:.5rem 0 1rem}.price-display .confirm-btn{color:#33220d;cursor:pointer;background:linear-gradient(#f0c779 0%,#dda84d 100%);border:none;border-radius:999px;width:100%;padding:1rem 1.25rem;font-size:1rem;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 18px 28px #0000002e}.price-display .confirm-btn:hover{background:linear-gradient(#f4cf89 0%,#e4b257 100%);transform:translateY(-1px)}.price-display .calculating{text-align:center;color:#ffffffad;padding:1.5rem}.home-page{flex-direction:column;flex:1;width:100%;max-width:1180px;margin:0 auto;padding:2rem 2rem 3rem;display:flex}.home-page .main-header{text-align:center;padding:2rem 0 1.5rem}.home-page .main-header h1{letter-spacing:-.04em;color:#16313a;margin-bottom:1rem;font-size:clamp(2.8rem,6vw,4.8rem);font-weight:800}.home-page .main-header .subtitle{color:#5f6b76;max-width:600px;margin:0 auto;font-size:1.08rem}.home-page .upload-container{flex-direction:column;gap:2rem;width:100%;max-width:960px;margin:0 auto;display:flex}.home-page .document-list-section{backdrop-filter:blur(10px);background:#fffaf1d1;border:1px solid #bea98e73;border-radius:28px;flex-direction:column;gap:1.5rem;width:100%;padding:2rem;display:flex;box-shadow:0 24px 60px #271f161f}.home-page .document-list-header{flex-direction:column;gap:.5rem;display:flex}.home-page .document-list-header h2{color:#16313a;font-size:1.4rem}.home-page .document-list-header p{color:#5f6b76;max-width:46rem}.home-page .document-list{flex-direction:column;gap:1rem;display:flex}.home-page .confirm-btn{align-self:flex-end;min-width:180px}@media (width<=640px){.home-page .confirm-btn{width:100%}}.home-page .document-empty{color:#5f6b76;text-align:center;background:#ffffff8c;border:1px dashed #bea98e;border-radius:22px;padding:2rem}.home-page .document-item{background:#ffffffd6;border:1px solid #bea98e8c;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 12px 28px #35281c0f}@media (width<=640px){.home-page .document-item{flex-direction:column;align-items:flex-start}}.home-page .document-item-main{flex-direction:column;gap:.25rem;min-width:0;display:flex}.home-page .document-item-title{align-items:center;gap:1rem;min-width:0;display:flex}.home-page .document-item-title strong{color:#1f2833;text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;overflow:hidden}.home-page .drag-handle{color:#8d98a4;letter-spacing:-.12em;cursor:grab;font-size:1.15rem}.home-page .document-item-meta{color:#5f6b76;font-size:.95rem}.home-page .main-footer{text-align:center;color:#8d98a4;padding:2rem 0 0;font-size:.875rem}.print-job-page{flex-direction:column;flex:1;width:100%;max-width:1360px;margin:0 auto;padding:1.5rem 2rem 3rem;display:flex}.print-job-page .page-header{background:0 0;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.5rem 0;display:flex}.print-job-page .page-header h2{letter-spacing:-.04em;color:#16313a;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.05}.print-job-page .page-header p,.print-job-page .page-header .error-message{color:#5f6b76}.print-job-page .job-content{flex:1;grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);gap:2rem;display:grid;overflow:visible}@media (width<=1024px){.print-job-page .job-content{grid-template-columns:1fr}}.print-job-page .job-content .preview-section{flex-direction:column;gap:2rem;min-height:0;display:flex}.print-job-page .job-content .options-section{flex-direction:column;align-self:start;gap:1.5rem;display:flex;position:sticky;top:2rem}@media (width<=1024px){.print-job-page .job-content .options-section{position:static}}.print-job-page .multi-document-config{align-items:start}.print-job-page .document-config-block{backdrop-filter:blur(10px);background:#fffaf1e0;border:1px solid #bea98e6b;border-radius:30px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex;box-shadow:0 24px 60px #271f161f}.print-job-page .document-config-block .price-row{color:#5f6b76;background:#ffffffb8;border:1px solid #bea98e57;border-radius:18px;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 1rem;display:flex}.print-job-page .document-config-block .price-row span:last-child{color:#16313a;white-space:nowrap;font-weight:800}.print-job-page .document-config-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}@media (width<=640px){.print-job-page .document-config-header{flex-direction:column}}.print-job-page .document-config-header h3{color:#16313a;margin-bottom:.25rem;font-size:1.35rem;line-height:1.15}.print-job-page .document-config-header p{color:#5f6b76;font-size:.96rem}@media (width<=768px){.print-job-page{padding:1rem 1rem 2rem}.print-job-page .document-config-block{border-radius:24px;padding:1.5rem}}.status-page{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.status-page .status-card{text-align:center;background:#fffaf1e6;border:1px solid #bea98e80;border-radius:28px;width:100%;max-width:460px;padding:3rem;box-shadow:0 24px 60px #271f161f}.status-page .status-card .status-icon{margin-bottom:1.5rem;font-size:4rem}.status-page .status-card h2{color:#1f2833;margin-bottom:2rem;font-size:1.5rem;font-weight:600}.status-page .status-card .job-details{background:#fff9;border-radius:22px;margin-bottom:2rem;padding:1.5rem}.status-page .status-card .job-details .detail-row{justify-content:space-between;padding:.5rem 0;display:flex}.status-page .status-card .job-details .detail-row:not(:last-child){border-bottom:1px dashed #ddd1bf}.status-page .status-card .job-details .detail-row span:first-child{color:#5f6b76}.status-page .status-card .job-details .detail-row span:last-child{color:#1f2833;font-weight:500}.status-page .status-card a.btn{text-align:center}.status-page .status-card .back-btn{width:100%;margin-top:1em}.status-page .status-card .confirm-btn{width:100%}.status-page .status-card .copy-link-btn{width:100%;margin-top:1rem}