:root{--dark-bg:#1a1a1a;--medium-dark-gray:#2c2c2c;--light-text:#e0e0e0;--light-text-secondary:#b0b0b0;--pastel-purple:#c3aed6;--darker-purple:#a98bc6;--red-accent:#e07b8a;--red-accent-hover:#d16a7a;--green-accent:#8ddb8d;--green-accent-hover:#78c778;--input-border:#444;--disabled-bg:#404040;--disabled-text:#777}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:sans-serif;line-height:1.6;color:var(--light-text)}body{display:flex;flex-direction:column;background-image:linear-gradient(rgba(0,0,0,.8),rgba(0,0,0,.8)),url('background.png');background-repeat:no-repeat;background-size:cover;background-position:center center;background-attachment:fixed;background-color:var(--dark-bg);color:var(--light-text)}#main-header{position:fixed;top:0;left:0;width:100%;background:var(--medium-dark-gray);color:var(--light-text);padding:10px 20px;display:flex;justify-content:space-between;align-items:center;z-index:1000;height:60px;border-bottom:1px solid var(--input-border)}.header-title h1{font-size:1.5em;margin:0;color:var(--light-text)}.header-title #version-display{font-size:.7em;font-weight:400;margin-left:5px;opacity:.8;color:var(--light-text-secondary)}.header-button{background-color:transparent;color:var(--pastel-purple);border:1px solid var(--pastel-purple);padding:8px 15px;border-radius:4px;cursor:pointer;text-decoration:none;font-size:.9em;display:inline-flex;align-items:center;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.header-button:hover{background-color:var(--pastel-purple);color:var(--dark-bg);border-color:var(--pastel-purple)}.header-button .icon{margin-right:8px;font-size:1.2em;line-height:1}main{flex-grow:1;padding-top:80px;padding-bottom:70px;padding-left:20px;padding-right:20px;display:flex;flex-direction:column;align-items:center;text-align:center;overflow-y:auto}.description{font-size:1.1em;margin-bottom:25px;color:var(--light-text-secondary);max-width:600px}.controls{background-color:var(--medium-dark-gray);padding:25px;border-radius:8px;border:1px solid var(--input-border);margin-bottom:30px;display:flex;flex-direction:column;gap:18px;align-items:center;width:100%;max-width:450px;box-shadow:0 4px 10px rgba(0,0,0,.3)}.control-group{display:flex;align-items:center;justify-content:center;width:100%;gap:10px;flex-wrap:wrap}.interval-group{flex-direction:column;gap:8px;border-top:1px solid var(--input-border);padding-top:15px;width:90%;margin-top:10px}.interval-input-wrapper{display:flex;align-items:center;gap:8px;margin-top:5px}.controls label{font-weight:400;margin-right:5px;color:var(--light-text-secondary)}.interval-group>label[for=enableIntervalCheckbox]{font-weight:700;color:var(--light-text);cursor:pointer}.controls input[type=checkbox],.controls input[type=number]{background-color:var(--dark-bg);color:var(--light-text);border:1px solid var(--input-border);border-radius:4px;font-size:1em;padding:8px}.controls input[type=number]{width:70px;text-align:center}.controls input[type=checkbox]{margin-right:8px;accent-color:var(--pastel-purple);cursor:pointer;width:16px;height:16px}.controls input:disabled{background-color:var(--disabled-bg);border-color:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.controls input[type=checkbox]:disabled+label{color:var(--disabled-text);cursor:not-allowed}.controls input[type=number]:disabled+label{color:var(--disabled-text)}.controls .interval-input-wrapper label[for=intervalInput]{color:var(--light-text-secondary)}.controls input[type=number]#intervalInput:disabled~label[for=intervalInput]{color:var(--disabled-text)}#startStopButton{background-color:var(--green-accent);color:var(--dark-bg);padding:12px 25px;border:none;border-radius:5px;font-size:1.2em;font-weight:700;cursor:pointer;transition:background-color .3s ease,color .3s ease;margin-top:15px;width:50%;min-width:150px}#startStopButton:hover{background-color:var(--green-accent-hover)}#startStopButton.running{background-color:var(--red-accent);color:var(--dark-bg)}#startStopButton.running:hover{background-color:var(--red-accent-hover)}#timerDisplay{font-size:4.5em;font-weight:700;color:var(--pastel-purple);margin-bottom:35px;font-family:'Courier New',Courier,monospace;text-shadow:1px 1px 3px rgba(195,174,214,.2)}.image-container{width:300px;height:300px;overflow:hidden;margin:0 auto 30px auto;border:3px solid var(--pastel-purple);box-shadow:0 6px 12px rgba(0,0,0,.3);background-color:var(--medium-dark-gray);position:relative;clip-path:url(#heart-clip);-webkit-clip-path:url(#heart-clip)}#meditationImage{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .3s;opacity:.85;transform:rotateY(0)}@keyframes full-tilt{0%,100%,50%{transform:rotateY(0)}25%{transform:rotateY(-22.5deg)}75%{transform:rotateY(22.5deg)}}#meditationImage.tilting-active{animation:full-tilt 2s ease-in-out infinite}#meditationImage.spin{transform:rotateY(360deg);transition:transform .8s ease-in-out}#main-footer{position:fixed;bottom:0;left:0;width:100%;background:var(--medium-dark-gray);color:var(--light-text-secondary);text-align:center;padding:10px 20px;font-size:.9em;border-top:1px solid var(--input-border);z-index:1000;height:50px;display:flex;justify-content:center;align-items:center;gap:20px}#main-footer a{color:var(--pastel-purple);text-decoration:none;transition:color .2s}#main-footer a:hover{color:var(--darker-purple);text-decoration:underline}.footer-link{background:0 0;border:none;color:var(--pastel-purple);cursor:pointer;text-decoration:underline;font-size:inherit;font-family:inherit;padding:0;transition:color .2s}.footer-link:hover{color:var(--darker-purple)}dialog{border:1px solid var(--input-border);border-radius:8px;padding:25px;box-shadow:0 8px 25px rgba(0,0,0,.5);width:90%;max-width:450px;margin:auto;background-color:var(--medium-dark-gray);color:var(--light-text)}dialog::backdrop{background-color:rgba(100,80,130,.6);backdrop-filter:blur(3px)}dialog h3{margin-top:0;margin-bottom:15px;color:var(--pastel-purple);border-bottom:1px solid var(--input-border);padding-bottom:10px;font-size:1.3em}dialog p{margin-bottom:20px;color:var(--light-text);line-height:1.7}dialog button{padding:10px 20px;border:1px solid var(--pastel-purple);border-radius:4px;cursor:pointer;background-color:var(--pastel-purple);color:var(--dark-bg);font-weight:700;transition:background-color .2s,color .2s,border-color .2s}dialog button:hover{background-color:var(--darker-purple);border-color:var(--darker-purple);color:var(--light-text)}dialog button#closeDialogButton,dialog button#closeDisclaimerButton{display:block;margin-left:auto;margin-right:0;margin-top:10px}#disclaimerDialog #disclaimerContent{max-height:300px;overflow-y:auto;margin-bottom:20px;text-align:left;border:1px solid var(--input-border);background-color:var(--dark-bg);border-radius:4px;padding:15px;color:var(--light-text-secondary)}@media (max-width:600px){.header-title h1{font-size:1.2em}.header-button{font-size:.8em;padding:6px 10px}.header-button .icon{margin-right:5px}main{padding-top:70px;padding-bottom:80px}#timerDisplay{font-size:3.5em}.image-container{width:220px;height:220px;margin-bottom:20px;border:2px solid var(--pastel-purple);box-shadow:0 4px 8px rgba(0,0,0,.3);background-color:var(--medium-dark-gray);clip-path:url(#heart-clip);-webkit-clip-path:url(#heart-clip)}.controls{padding:20px;max-width:90%;gap:15px}#startStopButton{width:70%;padding:10px 20px;font-size:1.1em}#main-footer{flex-direction:column;height:auto;padding:10px;gap:5px}dialog{padding:20px}dialog h3{font-size:1.2em}}