:root{--primary-color: #007bff;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--light-color: #f8f9fa;--dark-color: #343a40;--border-color: #dee2e6;--shadow-color: rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--light-color);color:var(--dark-color);line-height:1.6}.container{display:flex;min-height:100vh}.sidebar{width:250px;background:#fff;box-shadow:2px 0 5px var(--shadow-color);padding:20px 0;position:fixed;height:100vh;z-index:100;transition:transform .3s ease}.sidebar.collapsed{transform:translate(-200px)}.sidebar.collapsed~.toggle-sidebar{left:15px;background:var(--primary-color);color:#fff}.toggle-sidebar{position:fixed;top:15px;left:250px;width:36px;height:36px;background:var(--light-color);color:var(--primary-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 4px #0000001a;z-index:1001;transition:left .3s ease,background .3s ease,color .3s ease,transform .3s ease;opacity:.9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toggle-sidebar:hover{background:var(--primary-color);color:#fff;transform:scale(1.05)}.logo{padding:0 20px 20px;font-size:1.5rem;font-weight:700;color:var(--primary-color);border-bottom:1px solid var(--border-color);margin-bottom:20px}.tools-list{list-style:none;padding:0;margin:0}.tools-list li{padding:12px 20px;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none;position:relative}.tools-list li:hover{background:var(--light-color);color:var(--primary-color)}.tools-list li.active{background:var(--primary-color);color:#fff}.content{flex:1;padding:20px;margin-left:250px;min-height:100vh;transition:margin-left .3s ease}.sidebar.collapsed~.content{margin-left:50px}.tool-container{display:none;animation:fadeIn .3s ease}.tool-container.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.container{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;box-shadow:0 2px 5px var(--shadow-color);transform:none}.sidebar.collapsed{transform:none;width:100%}.toggle-sidebar{position:fixed;top:15px;right:15px;left:auto;display:flex;background:var(--primary-color);color:#fff;z-index:1001}.toggle-icon{font-style:normal;transition:transform .3s ease}.sidebar.collapsed .toggle-icon{transform:rotate(180deg)}.sidebar.collapsed~.content .toggle-sidebar{background:var(--light-color);color:var(--primary-color)}.toggle-sidebar .toggle-icon{transition:transform .3s ease,color .3s ease}.tools-list{display:flex;overflow-x:auto;padding:0 10px}.tools-list li{white-space:nowrap}.content{margin-left:0!important}.sidebar.collapsed~.content{margin-left:0!important}}.tool-container{max-width:800px;margin:0 auto;padding:20px}.sidebar{background:#fff;box-shadow:0 2px 5px var(--shadow-color);z-index:1000}.content{padding:20px}.back-to-top{position:fixed;bottom:30px;right:30px;width:40px;height:40px;background:var(--primary-color);color:#fff;border:none;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 5px var(--shadow-color);transition:all .3s;z-index:1000}.back-to-top:hover{background:#0056b3;transform:translateY(-2px)}.back-to-top.visible{display:flex}.calculator{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;width:320px;margin:0 auto}.calculator .display{background:var(--light-color);border:1px solid var(--border-color);border-radius:5px;margin-bottom:20px;padding:15px;text-align:right}.calculator #result{font-size:24px;margin-bottom:5px;min-height:30px;word-break:break-all}.calculator #history{font-size:14px;color:var(--secondary-color);min-height:20px}.calculator .buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.calculator button{background:#fff;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;font-size:18px;padding:15px;transition:all .2s}.calculator button:hover{background:var(--light-color);transform:translateY(-1px)}.calculator button:active{transform:translateY(1px)}.calculator .operator{background:var(--light-color)}.calculator .equals{background:var(--primary-color);color:#fff}.calculator .equals:hover{background:#0056b3}.calculator .clear{background:var(--danger-color);color:#fff}.calculator .clear:hover{background:#c82333}.converter{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px}.converter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.converter-header h2{margin:0;color:var(--primary-color)}.conversion-type{padding:8px;border:1px solid var(--border-color);border-radius:5px;font-size:16px}.converter-body{display:flex;align-items:center;gap:20px}.conversion-input{flex:1;display:flex;gap:10px}.conversion-input input,.conversion-input select{padding:10px;border:1px solid var(--border-color);border-radius:5px;font-size:16px}.conversion-input input{width:150px}.conversion-arrow{font-size:24px;color:var(--primary-color)}.timer{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;text-align:center}.timer-display{margin-bottom:20px}.timer-display .time{font-size:48px;font-weight:700;color:var(--primary-color)}.timer-display .milliseconds{font-size:24px;color:var(--secondary-color)}.timer-controls{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.timer-controls button{padding:10px 20px;border:none;border-radius:5px;font-size:16px;cursor:pointer;transition:all .2s}.timer-controls .start-btn{background:var(--primary-color);color:#fff}.timer-controls .lap-btn{background:var(--success-color);color:#fff}.timer-controls .reset-btn{background:var(--danger-color);color:#fff}.timer-controls button:hover{transform:translateY(-2px);box-shadow:0 2px 5px var(--shadow-color)}.laps-container{max-height:300px;overflow-y:auto;border-top:1px solid var(--border-color);padding-top:20px}.laps-container h3{margin-bottom:10px;color:var(--secondary-color)}.lap-item{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--border-color)}.lap-item:last-child{border-bottom:none}.lap-number{color:var(--secondary-color)}.lap-time{font-family:monospace;font-size:18px}.license-plate-query{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px}.query-header{margin-bottom:20px}.query-header h2{color:var(--primary-color);margin-bottom:15px}.search-box{display:flex;gap:10px}.search-input{flex:1;padding:10px;border:1px solid var(--border-color);border-radius:5px;font-size:16px}.search-btn{padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.search-btn:hover{background:#0056b3}.query-results{border:1px solid var(--border-color);border-radius:5px;padding:15px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.results-header h3{margin:0;color:var(--primary-color)}.export-btn{padding:8px 15px;background:var(--success-color);color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.export-btn:hover{background:#218838}.results-content{min-height:100px}.results-content h4{color:var(--primary-color);margin:0 0 10px}.results-content ul{list-style:none;padding:0;margin:0}.results-content li{padding:5px 0;border-bottom:1px solid var(--border-color)}.results-content li:last-child{border-bottom:none}.no-results{color:var(--secondary-color);text-align:center;padding:20px}.province-nav{margin-bottom:20px;padding:15px;background:var(--light-color);border-radius:5px}.province-nav h3{margin:0 0 10px;color:var(--primary-color)}.province-list{display:flex;flex-wrap:wrap;gap:10px}.province-link{display:inline-block;padding:5px 10px;background:#fff;border:1px solid var(--border-color);border-radius:3px;color:var(--primary-color);text-decoration:none;transition:all .3s}.province-link:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.province-section{margin-bottom:30px;padding:15px;background:var(--light-color);border-radius:5px}.province-section h4{color:var(--primary-color);margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.province-section ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.province-section li{padding:8px;background:#fff;border-radius:3px;border:1px solid var(--border-color)}@media (min-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:200px}.content{margin-left:220px}}@media (max-width: 767px){.sidebar{position:sticky;top:0;width:100%}.tools-list{display:flex;overflow-x:auto;padding:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tools-list::-webkit-scrollbar{display:none}.tools-list li{flex:0 0 auto;padding:8px 15px;margin-right:10px;white-space:nowrap;border-radius:20px;background:var(--light-color)}.tools-list li.active{background:var(--primary-color);color:#fff}.content{margin-left:0}.back-to-top{bottom:20px;right:20px;width:35px;height:35px;font-size:18px}}@media (max-width: 600px){.calculator{width:100%;padding:15px}.calculator button{padding:12px;font-size:16px}.converter-body{flex-direction:column}.conversion-input,.conversion-input input{width:100%}.timer-display .time{font-size:36px}.timer-display .milliseconds{font-size:18px}}@media (max-width: 768px){.search-box{flex-direction:column}.search-btn{width:100%}.results-header{flex-direction:column;gap:10px;text-align:center}.export-btn{width:100%}}.mood-diary-container{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;width:100%;max-width:800px;margin:20px auto}.mood-diary-container h2,.mood-diary-container h3{color:var(--primary-color);margin-bottom:15px;text-align:center}.mood-input-area{display:flex;flex-direction:column;gap:15px;margin-bottom:20px;padding:15px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--light-color)}.mood-input-area label{font-weight:700;color:var(--text-color-dark)}.mood-input-area select,.mood-input-area textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:5px;font-size:1rem;box-sizing:border-box}.mood-input-area textarea{min-height:100px;resize:vertical}#save-mood-btn{padding:10px 15px;background-color:var(--primary-color);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;transition:background-color .3s}#save-mood-btn:hover{background-color:#0056b3}.mood-history-area{margin-bottom:20px}#mood-list{list-style-type:none;padding:0}#mood-list li{background-color:#f9f9f9;border:1px solid var(--border-color);border-radius:5px;padding:15px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}#mood-list li strong{font-size:1.1em;color:var(--primary-color)}#mood-list li p{margin:0;color:var(--text-color);white-space:pre-wrap}.delete-mood-btn{align-self:flex-end;padding:6px 10px;background-color:var(--danger-color, #dc3545);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:background-color .3s}.delete-mood-btn:hover{background-color:#c82333}.mood-chart-area{padding:15px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--light-color);min-height:300px}#mood-chart{width:100%!important;max-height:400px}@media (max-width: 600px){.mood-diary-container{padding:15px}.mood-input-area,.mood-chart-area,#mood-list li{padding:10px}}.signature-tool{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;width:100%;max-width:800px;margin:0 auto}.signature-canvas{width:100%;background:#fff;border:1px solid var(--border-color);border-radius:5px;margin-bottom:20px;cursor:crosshair}.signature-controls{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.signature-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:5px;background:#fff;cursor:pointer;transition:all .3s}.signature-btn:hover{background:var(--light-color)}.signature-btn.primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.signature-btn.primary:hover{background:#0056b3}.pen-settings{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pen-settings input[type=range]{width:100px}.random-generator{background:#fff;border-radius:15px;box-shadow:0 8px 20px var(--shadow-color);padding:25px;max-width:800px;margin:0 auto}.range-inputs{display:flex;align-items:center;gap:15px;margin-bottom:20px}.range-inputs input{flex:1;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;transition:all .3s}.range-inputs input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #007bff1a}.range-inputs span{color:var(--secondary-color);font-weight:700}.generator-options{display:flex;gap:20px;margin-bottom:20px}.generator-options label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--dark-color)}.generator-options input[type=checkbox]{width:18px;height:18px;cursor:pointer}.count-input{margin-bottom:20px}.count-input label{display:block;margin-bottom:8px;color:var(--dark-color)}.count-input input{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;transition:all .3s}.count-input input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #007bff1a}.result-display{background:#fff;border:2px solid var(--border-color);border-radius:8px;padding:15px;min-height:100px;margin-bottom:20px;font-size:18px;line-height:1.6;word-break:break-all}.result-actions{display:flex;gap:15px}.result-actions button{flex:1;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s}.copy-btn{background:var(--success-color);color:#fff}.clear-btn{background:var(--danger-color);color:#fff}.clear-btn:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354533}.result-actions button:active{transform:translateY(0)}@media (max-width: 768px){.generator-body{grid-template-columns:1fr}.generator-header h2{font-size:24px}.range-inputs{flex-direction:column;align-items:stretch}.generator-options{flex-direction:column;gap:15px}.result-actions{flex-direction:column}}.password-generator{background:#fff;border-radius:15px;box-shadow:0 8px 20px var(--shadow-color);padding:25px;max-width:800px;margin:0 auto}.generator-header{text-align:center;margin-bottom:30px}.generator-header h2{color:var(--primary-color);font-size:28px;margin:0;position:relative;display:inline-block}.generator-header h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:3px;background:var(--primary-color);border-radius:2px}.generator-body{display:grid;grid-template-columns:1fr 1fr;gap:30px}.generator-section{background:var(--light-color);border-radius:12px;padding:20px;box-shadow:0 4px 10px var(--shadow-color)}.generator-section h3{color:var(--primary-color);margin-bottom:20px;font-size:20px}.length-input{margin-bottom:20px}.length-input label{display:block;margin-bottom:10px;color:var(--dark-color)}.length-slider{width:100%;margin-bottom:10px;-webkit-appearance:none;height:6px;background:var(--border-color);border-radius:3px;outline:none}.length-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer;transition:all .3s}.length-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.length-value{display:inline-block;padding:4px 12px;background:var(--primary-color);color:#fff;border-radius:15px;font-size:14px;font-weight:700}.generator-options{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.generator-options label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--dark-color);transition:all .3s}.generator-options label:hover{color:var(--primary-color)}.generator-options input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.generate-btn{width:100%;padding:14px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s}.generate-btn:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff33}.generate-btn:active{transform:translateY(0)}.result-section{background:var(--light-color);border-radius:12px;padding:20px;box-shadow:0 4px 10px var(--shadow-color)}.result-section h3{color:var(--primary-color);margin-bottom:20px;font-size:20px}.password-display{display:flex;gap:10px;margin-bottom:20px}.password-output{flex:1;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;font-family:monospace;background:#fff;color:var(--dark-color)}.copy-btn{padding:0 15px;background:var(--success-color);color:#fff;border:none;border-radius:8px;font-size:18px;cursor:pointer;transition:all .3s}.copy-btn:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a74533}.strength-meter{margin-bottom:20px}.strength-label{margin-bottom:10px;color:var(--dark-color)}.strength-bar{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;margin-bottom:5px}.strength-progress{height:100%;width:0;transition:all .3s}.strength-text{font-size:14px;color:var(--secondary-color)}.password-history{margin-top:30px}.password-history h4{color:var(--primary-color);margin-bottom:15px}.history-list{max-height:200px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background:#fff}.history-item{display:flex;align-items:center;padding:10px;border-bottom:1px solid var(--border-color);transition:all .3s}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--light-color)}.history-number{width:30px;color:var(--secondary-color);font-size:14px}.history-password{flex:1;font-family:monospace;font-size:14px;color:var(--dark-color);word-break:break-all}.history-copy{padding:5px 10px;background:var(--success-color);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.history-copy:hover{background:#218838;transform:translateY(-2px)}.personalized-font-generator-grid{display:grid;grid-template-areas:"header header" "controls drawing-area" "controls preview-area" "management management";grid-template-columns:300px 1fr;grid-template-rows:auto 1fr auto auto;gap:20px;background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;max-width:900px;margin:20px auto}.pfg-header{grid-area:header;text-align:center;margin-bottom:10px}.pfg-header h2{color:var(--primary-color);margin:0}.pfg-controls{grid-area:controls;background-color:var(--light-color);padding:15px;border-radius:8px;box-shadow:inset 0 1px 3px #0000001a}.pfg-controls h4{color:var(--primary-color);margin-top:0;margin-bottom:15px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.pfg-control-group{margin-bottom:15px}.pfg-control-group label{display:block;margin-bottom:5px;font-weight:700;color:var(--text-color-secondary)}.pfg-input,.pfg-textarea,.pfg-char-input{width:calc(100% - 20px);padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;box-sizing:border-box}.pfg-textarea{resize:vertical;min-height:80px}.char-navigation{display:flex;align-items:center}.pfg-char-input{flex-grow:1;text-align:center;font-size:16px;margin:0 5px;max-width:50px}.pfg-btn{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s,transform .1s;background-color:var(--primary-color);color:#fff}.pfg-btn:hover{opacity:.9;transform:translateY(-1px)}.pfg-btn:active{transform:translateY(0)}.pfg-btn-icon{padding:8px 10px;font-size:16px;line-height:1}.pfg-btn-primary{background-color:var(--success-color);color:#fff}.pfg-btn-secondary{background-color:var(--warning-color);color:#fff}.pfg-color-input{width:100%;height:35px;border:1px solid var(--border-color);border-radius:4px;padding:2px;box-sizing:border-box}.pfg-range-input{width:calc(100% - 50px);margin-right:10px;vertical-align:middle}#stroke-width-value{font-size:14px;color:var(--text-color-secondary);vertical-align:middle}.pfg-button-group{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.pfg-button-group .pfg-btn{flex-grow:1}.pfg-drawing-area{grid-area:drawing-area;display:flex;justify-content:center;align-items:center;background-color:#f9f9f9;border-radius:8px;border:1px dashed var(--border-color)}#font-canvas{border:1px solid var(--border-color);background-color:#fff;cursor:crosshair;touch-action:none}.pfg-preview-area{grid-area:preview-area;background-color:var(--light-color);padding:15px;border-radius:8px;box-shadow:inset 0 1px 3px #0000001a}.pfg-preview-area h4{color:var(--primary-color);margin-top:0;margin-bottom:10px}.pfg-preview-output{min-height:100px;padding:10px;border:1px solid var(--border-color);border-radius:4px;background-color:#fff;font-size:28px;line-height:1.5;overflow-wrap:break-word;word-break:break-all}.pfg-preview-output img{height:1.2em;vertical-align:middle;margin:0 .05em}.pfg-management{grid-area:management;background-color:var(--light-color);padding:15px;border-radius:8px;margin-top:10px;box-shadow:inset 0 1px 3px #0000001a}.pfg-management h4{color:var(--primary-color);margin-top:0;margin-bottom:15px}.pfg-file-input{display:none}.pfg-btn-file-label{display:inline-block;text-align:center}@media (max-width: 768px){.personalized-font-generator-grid{grid-template-areas:"header" "controls" "drawing-area" "preview-area" "management";grid-template-columns:1fr;grid-template-rows:auto}.pfg-range-input{width:calc(100% - 60px)}}.creative-prompter{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;text-align:center}.prompter-header h2{color:var(--primary-color);margin-bottom:20px}.prompter-body p{margin-bottom:15px;font-size:16px;color:var(--text-color-secondary)}.generate-prompt-btn{padding:12px 25px;background:var(--primary-color);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s,transform .2s;margin-bottom:20px}.generate-prompt-btn:hover{background:#0056b3;transform:translateY(-2px)}.prompt-display-container{margin-top:20px;padding:15px;background:var(--light-color);border:1px solid var(--border-color);border-radius:5px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center}.prompt-display-container h3{margin:0 0 10px;color:var(--primary-color);font-size:18px}.prompt-display{font-size:16px;color:var(--text-color);line-height:1.6}.dream-diary-tool{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;width:100%;max-width:800px;margin:0 auto}.dream-diary-tool h2{color:var(--primary-color);margin-bottom:15px;text-align:center}.dream-diary-tool p{margin-bottom:20px;color:var(--text-color-light);text-align:center}.dream-controls{margin-bottom:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dream-controls button,.dream-controls select{padding:10px 15px;border:1px solid var(--border-color);border-radius:5px;background:var(--primary-color);color:#fff;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.dream-controls button:hover,.dream-controls select:hover{background:var(--accent-color);transform:translateY(-1px)}#dreamEditor{display:flex;flex-direction:column;gap:15px}#dreamEditor input[type=text],#dreamEditor input[type=date],#dreamEditor textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:5px;font-size:1rem;box-sizing:border-box}#dreamEditor textarea{min-height:150px;resize:vertical}#dreamEditor button{padding:12px 20px;background-color:var(--accent-color);color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease;align-self:flex-start}#dreamEditor button:hover{background-color:var(--primary-color)}#dreamDisplay{margin-top:20px;padding:20px;background:var(--light-color);border:1px solid var(--border-color);border-radius:8px}#dreamDisplay h3{color:var(--primary-color);margin-top:0;margin-bottom:10px}#dreamDisplay p{color:var(--text-color);margin-bottom:8px;text-align:left}#dreamDisplay div{margin-bottom:10px;line-height:1.6}#displayDreamContent strong,#displayDreamTags strong,#displayDreamReflection strong{color:var(--accent-color)}.dream-tag{display:inline-block;background-color:var(--primary-color-light);color:var(--primary-color);padding:3px 8px;border-radius:15px;margin-right:5px;margin-bottom:5px;font-size:.9em}.personal-story-weaver{background:#fff;border-radius:10px;box-shadow:0 5px 15px var(--shadow-color);padding:20px;width:100%;max-width:800px;margin:0 auto}.personal-story-weaver h2{color:var(--primary-color);margin-bottom:15px;text-align:center}.personal-story-weaver p{margin-bottom:20px;color:var(--text-color-light);text-align:center}.story-controls{margin-bottom:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.story-controls button,.story-controls select{padding:10px 15px;border:1px solid var(--border-color);border-radius:5px;background:var(--primary-color);color:#fff;cursor:pointer;transition:background .3s}.story-controls button:hover,.story-controls select:hover{background:#0056b3}.story-controls select{flex-grow:1;background:#fff;color:var(--text-color)}#storyEditor input[type=text],#storyEditor textarea{width:100%;padding:10px;margin-bottom:15px;border:1px solid var(--border-color);border-radius:5px;font-size:16px;box-sizing:border-box}#storyEditor textarea{min-height:200px;resize:vertical}.story-prompts{margin-bottom:15px;padding:10px;background:var(--light-color);border:1px solid var(--border-color-light);border-radius:5px}.story-prompts h4{margin-top:0;margin-bottom:10px;color:var(--primary-color)}.story-prompts ul{list-style:none;padding:0;margin:0}.story-prompts li{padding:8px;cursor:pointer;border-radius:3px;transition:background-color .2s;color:var(--text-color)}.story-prompts li:hover{background-color:var(--border-color-light)}#saveStoryBtn{display:block;width:100%;padding:12px;background:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:16px;transition:background .3s}#saveStoryBtn:hover{background:#218838}#storyDisplay{margin-top:20px;padding:15px;background:var(--light-color);border:1px solid var(--border-color);border-radius:5px}#storyDisplay h3{margin-top:0;color:var(--primary-color)}#storyDisplay p{line-height:1.6;color:var(--text-color);text-align:left;white-space:pre-wrap}@media (max-width: 768px){.generator-body{grid-template-columns:1fr}.generator-header h2{font-size:24px}.password-display{flex-direction:column}.copy-btn{width:100%;padding:10px}.history-item{flex-direction:column;align-items:flex-start;gap:5px}.history-number{width:auto}.history-copy{width:100%}}.color-picker{background:var(--bg-color);border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px;max-width:800px;margin:0 auto}.picker-header{text-align:center;margin-bottom:20px}.picker-header h2{color:var(--text-color);font-size:24px;margin:0;position:relative;display:inline-block}.picker-header h2:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:50px;height:3px;background:var(--primary-color);border-radius:2px}.picker-body{display:grid;grid-template-columns:1fr 1fr;gap:20px}.picker-section{background:var(--bg-color-secondary);border-radius:8px;padding:20px}.picker-section h3{color:var(--text-color);margin:0 0 15px;font-size:18px}.color-inputs{display:flex;flex-direction:column;gap:15px}.color-preview{display:flex;align-items:center;gap:15px}.color-input{width:60px;height:60px;padding:0;border:none;border-radius:8px;cursor:pointer}.preview-box{flex:1;height:60px;border-radius:8px;border:2px solid var(--border-color);transition:background-color .3s ease}.color-formats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.format-group{display:flex;flex-direction:column;gap:5px}.format-group label{color:var(--text-color-secondary);font-size:14px}.format-group input{padding:8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);font-family:monospace}.color-actions{display:flex;gap:10px;margin-top:15px}.color-actions button{flex:1;padding:10px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.copy-btn{background:var(--primary-color);color:#fff}.copy-btn:hover{background:var(--primary-color-dark)}.save-btn{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color)!important}.save-btn:hover{background:var(--bg-color-secondary)}.result-section{background:var(--bg-color-secondary);border-radius:8px;padding:20px}.result-section h3{color:var(--text-color);margin:0 0 15px;font-size:18px}.color-analysis{display:flex;flex-direction:column;gap:20px}.contrast-check,.color-blindness{background:var(--bg-color);border-radius:8px;padding:15px}.contrast-check h4,.color-blindness h4{color:var(--text-color);margin:0 0 10px;font-size:16px}.contrast-preview{display:flex;gap:10px;margin-bottom:10px}.text-preview{flex:1;padding:10px;border-radius:4px;text-align:center;font-weight:500}.text-preview.light{background:#fff;color:var(--text-color)}.text-preview.dark{background:var(--text-color);color:#fff}.contrast-ratio,.contrast-status{color:var(--text-color-secondary);font-size:14px;margin-top:5px}.blindness-preview{display:flex;flex-direction:column;gap:10px}.preview-item{display:flex;align-items:center;gap:10px}.preview-item span{width:80px;color:var(--text-color-secondary);font-size:14px}.color-box{width:40px;height:40px;border-radius:4px;border:1px solid var(--border-color)}.color-palette{margin-top:20px}.color-palette h4{color:var(--text-color);margin:0 0 10px;font-size:16px}.palette-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.palette-item{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--bg-color);padding:10px;border-radius:6px}.palette-item span{color:var(--text-color-secondary);font-size:14px}.palette-item .color-box{width:100%;height:60px}.color-value{font-family:monospace;font-size:12px;color:var(--text-color)}.color-history{margin-top:20px}.color-history h4{color:var(--text-color);margin:0 0 10px;font-size:16px}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{display:flex;align-items:center;gap:10px;background:var(--bg-color);padding:10px;border-radius:6px}.history-number{width:20px;color:var(--text-color-secondary);font-size:14px}.history-item .color-box{width:30px;height:30px}.history-copy{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;padding:5px;font-size:16px;transition:color .3s ease}.history-copy:hover{color:var(--primary-color)}@media (max-width: 768px){.picker-body,.color-formats{grid-template-columns:1fr}.palette-list{grid-template-columns:repeat(2,1fr)}}.image-editor{background:var(--bg-color);border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px;max-width:1000px;margin:0 auto}.editor-header{text-align:center;margin-bottom:20px}.editor-header h2{color:var(--text-color);font-size:24px;margin:0;position:relative;display:inline-block}.editor-header h2:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:50px;height:3px;background:var(--primary-color);border-radius:2px}.editor-body{display:grid;grid-template-columns:1fr 1fr;gap:20px}.editor-section{background:var(--bg-color-secondary);border-radius:8px;padding:20px}.editor-section h3{color:var(--text-color);margin:0 0 15px;font-size:18px}.upload-area{position:relative;margin-bottom:20px}.file-input{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer;z-index:2}.upload-box{border:2px dashed var(--border-color);border-radius:8px;padding:30px;text-align:center;transition:all .3s ease}.upload-box.dragover{border-color:var(--primary-color);background:#007bff1a}.upload-icon{font-size:48px;margin-bottom:10px;color:var(--text-color-secondary)}.upload-box p{margin:5px 0;color:var(--text-color)}.upload-hint{font-size:14px;color:var(--text-color-secondary)}.image-preview{margin-top:20px;text-align:center;position:relative}#preview-canvas{max-width:100%;border-radius:8px;box-shadow:0 2px 8px #0000001a}.crop-overlay{position:absolute;border:2px solid var(--primary-color);background:#007bff1a;cursor:move}.crop-handle{position:absolute;width:12px;height:12px;background:var(--primary-color);border:2px solid white;border-radius:50%}.crop-handle.top-left{top:-6px;left:-6px;cursor:nw-resize}.crop-handle.top-right{top:-6px;right:-6px;cursor:ne-resize}.crop-handle.bottom-left{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle.bottom-right{bottom:-6px;right:-6px;cursor:se-resize}.image-info{margin-top:15px;padding:10px;background:var(--bg-color);border-radius:6px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.info-item{text-align:center}.info-label{color:var(--text-color-secondary);font-size:14px;margin-right:5px}.info-value{color:var(--text-color);font-weight:500}.tool-tabs{display:flex;gap:10px;margin-bottom:15px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.tab-btn{padding:8px 15px;border:none;background:none;color:var(--text-color-secondary);cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;position:relative}.tab-btn:hover,.tab-btn.active{color:var(--primary-color)}.tab-btn.active:after{content:"";position:absolute;bottom:-11px;left:0;width:100%;height:2px;background:var(--primary-color);border-radius:2px}.tab-panel{display:none}.tab-panel.active{display:block}.edit-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{color:var(--text-color);font-size:14px}.rotation-controls,.scale-controls,.crop-controls{display:flex;align-items:center;gap:10px}.rotation-controls button,.scale-controls button,.crop-controls button{width:36px;height:36px;border:none;border-radius:4px;background:var(--bg-color);color:var(--text-color);font-size:18px;cursor:pointer;transition:all .3s ease}.rotation-controls button:hover,.scale-controls button:hover,.crop-controls button:hover{background:var(--primary-color);color:#fff}.scale-value{min-width:60px;text-align:center;color:var(--text-color)}.history-controls{display:flex;gap:10px;margin-bottom:20px}.history-controls button{flex:1;padding:8px;border:none;border-radius:4px;background:var(--bg-color);color:var(--text-color);font-size:18px;cursor:pointer;transition:all .3s ease}.history-controls button:hover:not(:disabled){background:var(--primary-color);color:#fff}.history-controls button:disabled{opacity:.5;cursor:not-allowed}.filter-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.filter-preset{padding:8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);font-size:14px;cursor:pointer;transition:all .3s ease;position:relative}.filter-preset:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filter-preset.active{background:var(--primary-color)!important;color:#fff!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 2px #007bff4d;font-weight:700}.filter-preset.active:after{content:"✓";position:absolute;right:8px;top:50%;transform:translateY(-50%)}.filter-sliders,.adjust-sliders{display:flex;flex-direction:column;gap:15px}.slider-group{display:flex;align-items:center;gap:10px}.slider-group label{width:60px;color:var(--text-color);font-size:14px}.slider-group input[type=range]{flex:1;height:6px;-webkit-appearance:none;background:var(--border-color);border-radius:3px;outline:none}.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--primary-color);border-radius:50%;cursor:pointer;transition:all .3s ease}.slider-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider-value{width:40px;text-align:right;color:var(--text-color);font-size:14px}.format-controls{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.format-controls h4{color:var(--text-color);margin:0 0 15px;font-size:16px}.format-options{display:flex;flex-direction:column;gap:15px}.format-select{padding:8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);font-size:14px}.quality-control{display:flex;align-items:center;gap:10px}.quality-control label{width:40px;color:var(--text-color);font-size:14px}.quality-control input[type=range]{flex:1;height:6px;-webkit-appearance:none;background:var(--border-color);border-radius:3px;outline:none}.quality-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--primary-color);border-radius:50%;cursor:pointer;transition:all .3s ease}.quality-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.quality-value{width:50px;text-align:right;color:var(--text-color);font-size:14px}.action-buttons{display:flex;gap:10px;margin-top:20px}.action-buttons button{flex:1;padding:10px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.reset-btn{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color)!important}.reset-btn:hover{background:var(--bg-color-secondary)}.download-btn{background:var(--primary-color);color:#fff}.download-btn:hover{background:var(--primary-color-dark)}@media (max-width: 768px){.editor-body,.edit-controls{grid-template-columns:1fr}.filter-presets{grid-template-columns:repeat(2,1fr)}.image-info{grid-template-columns:1fr}.upload-box{padding:20px}.upload-icon{font-size:36px}}.batch-image-cropper{display:flex;flex-direction:column;gap:20px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a}.batch-image-cropper h2{text-align:center;color:var(--primary-color);margin-bottom:15px;font-size:1.8em}.batch-image-cropper .crop-controls,.batch-image-cropper .export-controls{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 5px #0000000d}.batch-image-cropper .control-group{margin-bottom:20px}.batch-image-cropper .control-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95em}.batch-image-cropper input[type=file]{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;transition:border-color .3s ease}.batch-image-cropper input[type=file]:hover{border-color:var(--primary-color)}.batch-image-cropper .main-cropper-container{margin-top:20px;padding:15px;border:2px dashed var(--primary-color);border-radius:6px;background-color:#fff}.batch-image-cropper .main-cropper-container p{font-size:.9em;color:#555;margin-bottom:12px;text-align:center}.batch-image-cropper .cropper-image-wrapper{width:100%;max-height:450px;margin-bottom:15px;overflow:hidden;background-color:#f0f0f0;border-radius:4px}.batch-image-cropper #main-cropper-image{max-width:100%;display:block}.batch-image-cropper .image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px;padding:15px;border:1px solid #e0e0e0;border-radius:6px;min-height:120px;background-color:#fdfdfd;max-height:500px;overflow-y:auto}.batch-image-cropper .image-preview-item{border:1px solid var(--border-color);border-radius:6px;overflow:hidden;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0;transition:transform .2s ease,box-shadow .2s ease}.batch-image-cropper .image-preview-item:hover{transform:scale(1.05);box-shadow:0 2px 6px #0000001a}.batch-image-cropper .image-preview-item img{max-width:100%;max-height:100%;object-fit:contain}.batch-image-cropper .btn{background-color:var(--primary-color);color:#fff;padding:12px 20px;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;font-size:1em;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.batch-image-cropper .btn:hover{background-color:#0056b3;transform:translateY(-1px)}.batch-image-cropper .btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.batch-image-cropper .export-controls{text-align:center;margin-top:10px}.batch-image-cropper #apply-crop-to-all{margin-top:10px;width:100%}.cropper-container{margin:0 auto}.cropper-view-box,.cropper-face{border-radius:4px;box-shadow:0 0 0 1px #fff,0 0 0 2px var(--primary-color)}.cropper-line,.cropper-point{background-color:var(--primary-color)}@media (max-width: 768px){.batch-image-cropper{padding:15px}.batch-image-cropper .image-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.batch-image-cropper .main-cropper-container{max-height:350px}.batch-image-cropper .btn{padding:10px 15px;font-size:.95em}}@media (max-width: 480px){.batch-image-cropper h2{font-size:1.5em}.batch-image-cropper .image-gallery{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.batch-image-cropper .btn{width:100%;margin-top:10px}.batch-image-cropper .crop-controls #apply-crop-to-all{width:100%;margin-top:15px}.batch-image-cropper .export-controls .btn{margin-top:0}}
