.QRCodeTool_container__Pmw63{font-family:Inter,monospace;min-height:100vh;overflow:hidden;transition:background .3s,color .3s;display:flex;flex-direction:column}.QRCodeTool_container__Pmw63.QRCodeTool_light__gOG9r{background:#fff;color:#212529}.QRCodeTool_container__Pmw63.QRCodeTool_dark__P7tRl{background:#121212;color:#e0e0e0}.QRCodeTool_searchContainer__ACmSv{margin-top:12px;margin-bottom:12px;display:flex;flex-direction:column;padding:12px;border-radius:8px;flex:1 1}.QRCodeTool_searchContainer2__WBlld{display:flex;flex-direction:row;gap:8px}.QRCodeTool_light__gOG9r .QRCodeTool_searchContainer__ACmSv{background-color:#f8f9fa}.QRCodeTool_dark__P7tRl .QRCodeTool_searchContainer__ACmSv{background-color:#2a2a2a}.QRCodeTool_container__Pmw63.QRCodeTool_fullScreen__e_p1X{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000;display:flex;flex-direction:column}.QRCodeTool_toolbar__q_a_R{display:flex;flex-wrap:wrap;align-items:center;padding:10px 15px;border-bottom:1px solid #ddd;gap:8px;box-shadow:0 2px 4px rgba(0,0,0,.05);position:-webkit-sticky;position:sticky;top:0;z-index:100}.QRCodeTool_light__gOG9r .QRCodeTool_toolbar__q_a_R{background:#fff;border-color:#dee2e6}.QRCodeTool_dark__P7tRl .QRCodeTool_toolbar__q_a_R{background:#1e1e1e;border-color:#495057;box-shadow:0 2px 4px rgba(0,0,0,.2)}.QRCodeTool_mainTitle___AylQ{font-size:1em;font-weight:600;margin:12px;white-space:nowrap}.QRCodeTool_light__gOG9r .QRCodeTool_mainTitle___AylQ{color:#0d6efd}.QRCodeTool_dark__P7tRl .QRCodeTool_mainTitle___AylQ{color:#add8e6}.QRCodeTool_toolbarControls__DZQRj{display:flex;flex-wrap:wrap;gap:8px;flex-grow:1;align-items:center}.QRCodeTool_tabContainer__rI1W5{display:flex;justify-content:flex-start;border-bottom:1px solid #ddd;gap:8px;padding:0;background:#fff}.QRCodeTool_dark__P7tRl .QRCodeTool_tabContainer__rI1W5{background:#1e1e1e;border-color:#495057}.QRCodeTool_tabButton__JnXlj{padding:8px 12px;background:transparent;border:2px solid #d3d3d3;cursor:pointer;font-size:.8em;font-weight:500;transition:border-color .2s,color .2s}.QRCodeTool_light__gOG9r .QRCodeTool_tabButton__JnXlj{color:#495057}.QRCodeTool_dark__P7tRl .QRCodeTool_tabButton__JnXlj{color:#ced4da}.QRCodeTool_tabButton__JnXlj:hover{color:#0d6efd;border:2px solid #0d6efd}.QRCodeTool_dark__P7tRl .QRCodeTool_tabButton__JnXlj:hover{color:#add8e6}.QRCodeTool_tabButton__JnXlj.QRCodeTool_active__PNbqt{border:2px solid #0d6efd;background-color:#0d6efd;color:#fff;font-weight:700}.QRCodeTool_copyButton__2fQcW{margin-left:12px;padding:4px 8px;font-size:.8em;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.QRCodeTool_light__gOG9r .QRCodeTool_copyButton__2fQcW:hover{background:#5a6268}.QRCodeTool_dark__P7tRl .QRCodeTool_copyButton__2fQcW{background:#495057}.QRCodeTool_dark__P7tRl .QRCodeTool_copyButton__2fQcW:hover{background:#343a40}.QRCodeTool_dark__P7tRl .QRCodeTool_tabButton__JnXlj.QRCodeTool_active__PNbqt{border-bottom:2px solid #add8e6}.QRCodeTool_exportLabel__Q5bsH{margin-top:12px;margin-bottom:12px;font-weight:800}.QRCodeTool_panelContainer__O2WHR{display:flex;flex-direction:column;flex-grow:1;padding:15px;gap:15px;overflow:hidden}.QRCodeTool_generatorPanel__EjSTk,.QRCodeTool_scannerPanel__7hccn{flex:1 1;border:1px solid #ddd;border-radius:8px;padding:15px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(0,0,0,.05)}.QRCodeTool_light__gOG9r .QRCodeTool_generatorPanel__EjSTk,.QRCodeTool_light__gOG9r .QRCodeTool_scannerPanel__7hccn{background:#fff;border-color:#dee2e6}.QRCodeTool_dark__P7tRl .QRCodeTool_generatorPanel__EjSTk,.QRCodeTool_dark__P7tRl .QRCodeTool_scannerPanel__7hccn{background:#1e1e1e;border-color:#495057;box-shadow:0 2px 8px rgba(0,0,0,.2)}.QRCodeTool_generatorPanel__EjSTk{min-height:250px;position:relative}.QRCodeTool_inputTextarea__YSu_w{flex:1 1;font-family:monospace;font-size:.95em;border:none;background:transparent;color:inherit;resize:none;outline:none;line-height:1.5;min-height:80px;padding:12px;margin-bottom:12px;background:#e5e5e5;border-radius:8px;height:100%}.QRCodeTool_qrPreview__eyG_x{display:flex;justify-content:center;align-items:center;margin:20px 0;border:1px dashed #ccc;padding:20px;border-radius:8px}.QRCodeTool_light__gOG9r .QRCodeTool_qrPreview__eyG_x{border-color:#ced4da}.QRCodeTool_dark__P7tRl .QRCodeTool_qrPreview__eyG_x{border-color:#495057}.QRCodeTool_optionsSection__mukxk{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:15px;gap:15px;margin-bottom:20px}.QRCodeTool_optionLabel__mybDq{display:flex;flex-direction:column;font-size:.9em}.QRCodeTool_optionInput__H3Mo9{padding:8px;border:1px solid #ccc;border-radius:5px;margin-top:5px}.QRCodeTool_light__gOG9r .QRCodeTool_optionInput__H3Mo9{background:#fff;color:#212529;border-color:#ced4da}.QRCodeTool_dark__P7tRl .QRCodeTool_optionInput__H3Mo9{background:#2a2a2a;color:#e0e0e0;border-color:#495057}.QRCodeTool_scannerVideo__gyZh9{width:100%;max-height:400px;border-radius:8px;margin-bottom:20px}.QRCodeTool_scannedResult__m4z2f{margin-top:12px;padding:15px;border:1px solid #198754;border-radius:8px;background:#d4edda;color:#155724;word-break:break-all}.QRCodeTool_dark__P7tRl .QRCodeTool_scannedResult__m4z2f{background:#2a2a2a;border-color:#198754;color:#90ee90}.QRCodeTool_button__mLpF5{padding:8px 15px;border:none;border-radius:5px;font-size:.9em}.QRCodeTool_button2__tydmT,.QRCodeTool_button__mLpF5{color:#fff;cursor:pointer;transition:background .2s ease,transform .1s ease;white-space:nowrap;font-weight:500}.QRCodeTool_button2__tydmT{padding:4px 8px;border:none;border-radius:3px;font-size:.75em}.QRCodeTool_light__gOG9r .QRCodeTool_button2__tydmT,.QRCodeTool_light__gOG9r .QRCodeTool_button__mLpF5{background:#0d6efd}.QRCodeTool_light__gOG9r .QRCodeTool_button2__tydmT:hover,.QRCodeTool_light__gOG9r .QRCodeTool_button__mLpF5:hover{background:#0b5ed7;transform:translateY(-1px)}.QRCodeTool_dark__P7tRl .QRCodeTool_button2__tydmT,.QRCodeTool_dark__P7tRl .QRCodeTool_button__mLpF5{background:#0d6efd}.QRCodeTool_dark__P7tRl .QRCodeTool_button2__tydmT:hover,.QRCodeTool_dark__P7tRl .QRCodeTool_button__mLpF5:hover{background:#0b5ed7}.QRCodeTool_cameraButton__3WuO5{background:#198754;margin-bottom:10px}.QRCodeTool_light__gOG9r .QRCodeTool_cameraButton__3WuO5:hover{background:#157347}.QRCodeTool_dark__P7tRl .QRCodeTool_cameraButton__3WuO5{background:#198754}.QRCodeTool_dark__P7tRl .QRCodeTool_cameraButton__3WuO5:hover{background:#157347}.QRCodeTool_errorContainer__rlS_a{padding:20px;border:1px solid #dc3545;border-radius:8px}.QRCodeTool_light__gOG9r .QRCodeTool_errorContainer__rlS_a{color:#dc3545;background:#f8d7da}.QRCodeTool_dark__P7tRl .QRCodeTool_errorContainer__rlS_a{color:#f5c2c7;background:#58151c;border-color:#dc3545}.QRCodeTool_messageBox__I1BjZ{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);color:#fff;padding:10px 20px;border-radius:5px;font-size:1.2em;z-index:1001;box-shadow:0 4px 12px rgba(0,0,0,.3);animation:QRCodeTool_fadeInOut__OYex8 3s forwards}.QRCodeTool_light__gOG9r .QRCodeTool_messageBox__I1BjZ{background-color:rgba(33,37,41,.8)}.QRCodeTool_dark__P7tRl .QRCodeTool_messageBox__I1BjZ{background-color:rgba(0,0,0,.8)}@keyframes QRCodeTool_fadeInOut__OYex8{0%{opacity:0;transform:translateX(-50%) translateY(20px)}10%{opacity:1;transform:translateX(-50%) translateY(0)}90%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(20px)}}.QRCodeTool_seoContent__FAeJT{padding:20px 15px;border-top:1px solid #e0e0e0;margin-top:20px;line-height:1.6}.QRCodeTool_light__gOG9r .QRCodeTool_seoContent__FAeJT{background:#f8f9fa;border-color:#dee2e6}.QRCodeTool_dark__P7tRl .QRCodeTool_seoContent__FAeJT{background:#1e1e1e;border-color:#495057}.QRCodeTool_seoContent__FAeJT h2{font-size:1.8em;margin-bottom:15px}.QRCodeTool_light__gOG9r .QRCodeTool_seoContent__FAeJT h2{color:#434343}.QRCodeTool_dark__P7tRl .QRCodeTool_seoContent__FAeJT h2{color:#add8e6}.QRCodeTool_seoContent__FAeJT h3{font-size:1.4em;margin-top:25px;margin-bottom:10px}.QRCodeTool_light__gOG9r .QRCodeTool_seoContent__FAeJT h3{color:#343a40}.QRCodeTool_dark__P7tRl .QRCodeTool_seoContent__FAeJT h3{color:#ced4da}.QRCodeTool_seoContent__FAeJT dd,.QRCodeTool_seoContent__FAeJT li,.QRCodeTool_seoContent__FAeJT p{margin-bottom:10px;font-size:.95em}.QRCodeTool_seoContent__FAeJT ol,.QRCodeTool_seoContent__FAeJT ul{margin-left:20px;margin-bottom:15px}.QRCodeTool_seoContent__FAeJT dl{margin-top:15px}.QRCodeTool_seoContent__FAeJT dt{font-weight:700;margin-top:10px}.QRCodeTool_light__gOG9r .QRCodeTool_seoContent__FAeJT dt{color:#495057}.QRCodeTool_dark__P7tRl .QRCodeTool_seoContent__FAeJT dt{color:#adb5bd}.QRCodeTool_seoContent__FAeJT dd{margin-left:20px;margin-bottom:5px}.QRCodeTool_historyList__j5q9k{list-style:none;padding:0;margin-top:20px}.QRCodeTool_historyItem__YZdIU{display:flex;align-items:center;padding:10px;border-bottom:1px solid #eee}.QRCodeTool_light__gOG9r .QRCodeTool_historyItem__YZdIU{border-color:#e9ecef}.QRCodeTool_dark__P7tRl .QRCodeTool_historyItem__YZdIU{border-color:#495057}.QRCodeTool_historyThumbnail__mNcO5{width:50px;height:50px;margin-right:10px}