@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";:root{--bg-top:#fcf8d4;--bg-bottom:#d2f8ff;--panel:#fff8e6;--ink:#1b1c29;--primary:#ff6f3c;--primary-strong:#e54d1f;--cyan:#37b7c3;--lime:#b9e769;--border:#1b1c29;--error:#d64045;--shadow:6px 6px 0 0 #1b1c29}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:linear-gradient(135deg, var(--bg-top), var(--bg-bottom)), repeating-linear-gradient(0deg, #1b1c290f 0, #1b1c290f 1px, transparent 1px, transparent 6px);margin:0;font-family:VT323,monospace}.page-wrap{min-height:100vh;padding:28px}.console-shell{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;display:flex}.navbar{border:4px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(120deg,#ffe66d,#ffb347);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.navbar-brand{flex:520px;align-items:flex-start;gap:12px;min-width:0;display:flex}.brand-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.navbar-controls{flex-direction:column;flex:0 auto;align-items:flex-end;gap:8px;display:flex}.user-badge{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-badge span{font-size:20px}.locale-switch{white-space:nowrap;flex-direction:row;align-items:center;gap:8px;display:flex}.locale-switch span{font-size:20px}.locale-switch select{min-width:150px;padding:6px 10px;font-size:20px}h1,h2{letter-spacing:.5px;margin:0;font-family:"Press Start 2P",cursive}h1{margin:0;font-size:clamp(18px,2.4vw,30px);line-height:1.2}h2{margin-bottom:14px;font-size:18px}.navbar-subtitle{margin:0;font-size:22px;line-height:1.1}.panel{background:var(--panel);border:4px solid var(--border);box-shadow:var(--shadow);padding:22px}.language-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;display:grid}label{flex-direction:column;gap:8px;display:flex}label span{font-size:28px}select,input,.btn{border:3px solid var(--border);color:var(--ink);background:#fff;padding:10px 12px;font-family:VT323,monospace;font-size:24px}select:focus,input:focus,.btn:focus,.upload-box:focus-within{outline:3px solid var(--cyan);outline-offset:2px}.auth-form{gap:12px;display:grid}.login-layout{grid-template-columns:minmax(340px,1.1fr) minmax(360px,.9fr);align-items:stretch;gap:20px;display:grid}.login-info-panel{background:linear-gradient(145deg,#fff8d8,#ffe8c2);flex-direction:column;gap:12px;display:flex}.login-info-title{margin:0;font-size:clamp(18px,2.2vw,30px);line-height:1.2}.login-info-desc{margin:0;font-size:24px;line-height:1.15}.auth-panel{flex-direction:column;display:flex}.inline-input-row{grid-template-columns:1fr auto;gap:10px;display:grid}.auth-login-state{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.upload-box{border:3px dashed var(--border);cursor:pointer;background:repeating-linear-gradient(-45deg,#ffffffb3 0 10px,#b9e76980 10px 20px);flex-direction:column;gap:6px;margin-top:16px;padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 #0000}.upload-box:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff8c 50%,#0000 65%);position:absolute;inset:-20% -45%;transform:translate(-125%)}.upload-box:hover:not(.is-dragging),.upload-box:focus-within:not(.is-dragging){border-color:var(--cyan);animation:.8s steps(2,end) infinite alternate pixel-hover-bob;transform:translateY(-2px);box-shadow:0 0 0 4px #37b7c342}.upload-box:hover:not(.is-dragging):after,.upload-box:focus-within:not(.is-dragging):after{opacity:1;animation:1.25s linear infinite pixel-hover-scan}.upload-box input{display:none}.upload-box strong{font-size:28px;line-height:1.2}.upload-box small{font-size:22px}.upload-box.is-dragging{border-color:var(--primary);background:repeating-linear-gradient(-45deg,#fffc 0 8px,#37b7c373 8px 16px);animation:.75s steps(2,end) infinite pixel-drag-pulse;transform:translateY(-3px);box-shadow:0 0 0 4px #ff6f3c47}@keyframes pixel-drag-pulse{0%{box-shadow:0 0 0 3px #ff6f3c33}50%{box-shadow:0 0 0 6px #37b7c347}to{box-shadow:0 0 0 3px #ff6f3c33}}@keyframes pixel-hover-bob{0%{transform:translateY(-2px)}to{transform:translateY(-4px)}}@keyframes pixel-hover-scan{0%{transform:translate(-125%)}to{transform:translate(125%)}}.action-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.btn{cursor:pointer;box-shadow:4px 4px 0 0 var(--border);transition:transform .12s,box-shadow .12s}.btn:hover:enabled{box-shadow:5px 5px 0 0 var(--border);transform:translate(-1px,-1px)}.btn:active:enabled{box-shadow:2px 2px 0 0 var(--border);transform:translate(2px,2px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover:enabled{background:var(--primary-strong)}.btn.ghost{background:var(--cyan);color:#fff}.tip{margin:0;font-size:24px}.arrow{padding:0 6px}.error-message{border:3px solid var(--error);color:#8b0000;background:#ffd6d6;margin:16px 0 0;padding:8px 10px;font-size:24px}.result-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.result-panel .result-head>div:first-child{flex:520px;min-width:260px}.task-meta{word-break:break-all;margin:0;font-size:24px}.progress-wrap{border:3px solid var(--border);box-sizing:border-box;background:#fff;width:100%;margin-top:10px;padding:8px}.progress-head{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:20px;display:flex}.progress-track{border:2px solid var(--border);box-sizing:border-box;background:repeating-linear-gradient(90deg,#1b1c291a 0 8px,#1b1c2933 8px 16px);width:100%;height:16px;margin-top:6px}.progress-fill{background:linear-gradient(90deg, var(--cyan), var(--primary));width:0;height:100%;transition:width .35s;box-shadow:inset 0 0 0 2px #ffffff59}.status{border:2px solid var(--border);background:#fff;padding:2px 8px;display:inline-block}.status.success{background:#d6ffd6}.status.failed{background:#ffd6d6}.status.processing{background:#d8f5ff}.download-actions{grid-template-columns:1fr;gap:10px;width:100%;margin-top:10px;display:grid}.export-format-row{flex-wrap:nowrap;align-items:center;gap:8px;width:100%;display:flex;overflow-x:auto}.export-format-title{white-space:nowrap;font-size:22px}.format-option{border:2px solid var(--border);min-width:92px;min-height:44px;box-shadow:3px 3px 0 0 var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;justify-content:center;align-items:center;padding:6px 12px;display:inline-flex;position:relative}.format-option input{opacity:0;pointer-events:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute}.format-option span{font-size:20px;line-height:1}.format-option.active{background:var(--cyan);color:#fff}.export-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;display:grid}.mode-option{background:#fff}.export-mode-switch .mode-option{text-align:center;justify-content:center;align-items:center;width:100%;min-height:52px;display:inline-flex}.export-mode-switch .download-btn{background:#d8f7ff;min-height:44px;padding:6px 10px;font-size:20px}.export-mode-switch .download-btn:hover:enabled{background:#bdefff}.mode-option.active{background:var(--primary);color:#fff}.preview-table{border:3px solid var(--border);background:#fff;margin-top:14px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}th,td{border:2px solid var(--border);vertical-align:top;padding:8px;font-size:22px}th{background:#ffe4c7;font-family:"Press Start 2P",cursive;font-size:12px;line-height:1.5}.text-cell{white-space:pre-wrap;line-height:1.1}.note{color:#3a3a3a;margin:12px 0 0;font-size:22px}.note-warning{border:2px solid var(--border);color:#5b3a00;background:#fff6d8;margin-top:-2px;padding:8px 10px}.login-benefits{border:3px solid var(--border);background:#fff;margin-top:12px;padding:10px 12px}.login-benefits h3{margin:0;font-size:24px}.login-benefits ul{margin:8px 0 0;padding-left:18px}.login-benefits li{font-size:22px;line-height:1.2}@media (width<=960px){.page-wrap{padding:12px}.panel,.navbar{padding:14px}.language-row,.login-layout{grid-template-columns:1fr}.swap-btn{width:fit-content}.navbar-brand{flex-basis:100%}.navbar-subtitle{font-size:20px}.navbar-controls{align-items:flex-start;width:100%}.user-badge{justify-content:flex-start}.locale-switch span,.locale-switch select{font-size:18px}.login-info-desc{font-size:21px}.export-format-row{gap:6px}.export-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}select,input,.btn,.tip,label span,.upload-box strong,.upload-box small,.task-meta,.progress-head,.error-message,th,td,.note,.login-benefits h3,.login-benefits li{font-size:20px}th{font-size:11px}table{min-width:640px}}
