:root{--primary-contrast:#0b151e;--secondary-contrast:#0b151e99;--background-gradient:linear-gradient(90deg,#ffca28,#f57c00);--background:#ffca28;--muted:rgba(194,137,3,.3);--surface:#e99e1d;--border:transparent;--top-gradient:#ffffff33;--bottom-gradient-top:#ffffff75;--bottom-gradient-bottom:transparent;--button:#0b151e}.dark-theme{--primary-contrast:#fff;--secondary-contrast:#ffffff99;--background-gradient:linear-gradient(90deg,#0b151e,#0b151e);--background:#0b151e;--muted:rgba(21,39,60,.6);--surface:#112031;--border:#ffffff20;--top-gradient:#1b72e833;--bottom-gradient-top:#1b72e8;--bottom-gradient-bottom:#1b72e850;--button:linear-gradient(90deg,#ffca28,#f57c00)}*{margin:0;font-family:Google Sans}html{background:var(--background)}body{color:var(--primary-contrast);background:var(--background-gradient);min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center}.dots{pointer-events:none;height:100%;background-image:radial-gradient(circle at center,var(--muted) 2px,transparent 2px);background-size:30px 30px;background-position:12px 12px;-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 50%);mask-image:linear-gradient(180deg,#000 0,transparent 50%)}.dots,.top-gradient{position:absolute;top:0;left:0;width:100%}.top-gradient{height:25vh;background:linear-gradient(180deg,transparent 0,var(--top-gradient) 50%);-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 10vw));clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 10vw))}.bottom-gradient{position:fixed;bottom:0;width:90%;height:900px;margin-bottom:-550px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;--top:var(--bottom-gradient-top);--bottom:var(--bottom-gradient-bottom);--first:conic-gradient(from 90deg at 0% 50%,var(--top),var(--bottom));--second:conic-gradient(from 270deg at 100% 50%,var(--bottom),var(--top));-webkit-mask-image:radial-gradient(closest-side at 50% 50%,var(--background),transparent);mask-image:radial-gradient(closest-side at 50% 50%,var(--background),transparent);background-image:var(--first),var(--second);background-position-x:0,100%;background-position-y:100%,0;background-repeat:no-repeat;opacity:.4;transform:translateY(-200px) rotate(180deg) translateZ(0);transform-origin:center center}.header{position:absolute;top:4vh;display:flex;justify-content:center;align-items:center}.header svg{padding:16px 25px}.heading{font-size:48px;font-weight:500;letter-spacing:-2%;text-align:center}.subtitle{text-align:center;margin-bottom:40px}.subtitle p{font-size:16px;color:var(--secondary-contrast);margin:8px 0}.regenerate-button{color:var(--background);background:var(--button)}.back-button{position:fixed;top:32px;left:32px;color:var(--primary-contrast);background-color:var(--surface);display:flex;align-items:center;gap:6px;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.button{font-size:15px;line-height:1.3;font-weight:500;padding:11px 16px;border-radius:100px;border:none;cursor:pointer;transition:scale .2s,filter .2s}.button:hover{filter:brightness(1.1)}.button:active{scale:.97}.content{margin:120px 12px;justify-content:center;gap:60px;max-width:1200px;width:100%}.content,.content header{display:flex;flex-direction:column;align-items:center}.content header{gap:32px}.content header h2{font-size:20px;font-weight:400}.data-container,.features{display:grid;grid-gap:10px;gap:10px}.features{text-wrap:balance}.data-container,.features{grid-template-columns:repeat(2,1fr)}.data-container{text-wrap:pretty}.card{flex-direction:column;padding:24px;gap:12px;max-width:360px}.card h2{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-2%}.card p{font-size:13px;line-height:1.5;color:var(--secondary-contrast);letter-spacing:-1%}.card p a,.link{color:var(--primary-contrast);text-decoration:underline;text-underline-offset:2px}.links-container{padding-top:24px;gap:24px}.links,.links-container{display:flex;flex-wrap:wrap}.links{gap:10px}.links a{padding:14px 15px;color:var(--primary-contrast);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;justify-content:center;align-items:center;gap:4px}.card,.links a{position:relative;border-radius:24px;background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex}.card:before,.links a:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(var(--border),transparent 30%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card:not(:first-child):after,.links a:not(:first-child):after{content:"";top:0;height:100%;background:var(--surface);position:absolute;pointer-events:none}.card:not(:first-child):after{width:10px;left:-10px;mask:url(/between-cards.svg) no-repeat center/contain;-webkit-mask:url(/between-cards.svg) no-repeat center/contain}.links a:not(:first-child):after{width:30px;left:calc(-20px);mask:url(/between-links.svg) no-repeat center/contain;-webkit-mask:url(/between-links.svg) no-repeat center/contain}.analyzer{width:100%;max-width:800px;gap:40px}.analyzer,.input-section{display:flex;flex-direction:column}.input-section{align-items:center;gap:16px}.user-status{background:var(--surface);border-radius:50px;padding:12px 20px;font-size:14px;font-weight:500;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);margin-bottom:8px}.user-status.logged-in{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border-color:#4caf50}.user-status.guest{background:var(--surface);color:var(--secondary-contrast);border-color:var(--border)}.ai-toggle{justify-content:center;background:var(--surface);border-radius:50px;padding:12px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);margin-bottom:8px}.ai-toggle,.ai-toggle label{display:flex;align-items:center}.ai-toggle label{gap:8px;font-size:14px;font-weight:500;color:var(--primary-contrast);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-toggle input[type=checkbox]{width:18px;height:18px;accent-color:#4caf50;cursor:pointer}.input-group{display:flex;gap:12px;width:100%;max-width:500px}.book-input{flex:1 1;padding:16px 20px;font-size:16px;border:none;border-radius:50px;background:var(--surface);color:var(--primary-contrast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none;transition:all .2s}.book-input::placeholder{color:var(--secondary-contrast)}.book-input:focus{filter:brightness(1.1);transform:scale(1.02)}.analyze-btn{padding:16px 24px;font-size:16px;font-weight:500;border:none;border-radius:50px;background:var(--button);color:var(--background);cursor:pointer;transition:all .2s;white-space:nowrap}.analyze-btn:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.02)}.analyze-btn:active:not(:disabled){scale:.97}.analyze-btn:disabled{opacity:.6;cursor:not-allowed}.suggestion{font-size:14px;color:var(--secondary-contrast);text-align:center}.suggestion-link{color:var(--primary-contrast);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:opacity .2s}.suggestion-link:hover{opacity:.8}.analysis-result{width:100%;display:flex;flex-direction:column;gap:32px;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.analysis-result h2{font-size:32px;font-weight:500;text-align:center;color:var(--primary-contrast);margin-bottom:16px}.duality-concepts{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:24px;gap:24px;align-items:start}.concept-card{background:var(--surface);border-radius:24px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.concept-card:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(var(--border),transparent 30%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.concept1{border-left:4px solid #4caf50}.concept2{border-right:4px solid #ff9800}.concept-card h3{font-size:20px;font-weight:500;margin-bottom:12px;color:var(--primary-contrast)}.concept-desc{font-size:14px;color:var(--secondary-contrast);margin-bottom:16px}.concept-card ul{list-style:none;padding:0;margin:0}.concept-card li{font-size:13px;line-height:1.6;color:var(--primary-contrast);margin-bottom:8px;padding-left:8px;border-left:2px solid var(--muted)}.vs-divider{font-size:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.analysis-section,.interaction-section{background:var(--surface);border-radius:20px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.analysis-section h4,.interaction-section h4{font-size:18px;font-weight:500;margin-bottom:12px;color:var(--primary-contrast)}.analysis-section p,.interaction-section p{font-size:15px;line-height:1.6;color:var(--primary-contrast)}.info{text-align:center;margin-top:40px}.info p{font-size:12px;color:var(--secondary-contrast);margin:4px 0}@media only screen and (max-width:1023px){.heading{font-size:36px}.back-button{top:10px;left:10px}.data-container,.features{grid-template-columns:1fr}.card:after,.links a:after,.top-gradient{display:none}.bottom-gradient{width:150%;height:400px;margin-bottom:-450px}.duality-concepts{grid-template-columns:1fr;gap:16px}.vs-divider{order:1;font-size:24px}.concept1{order:0;border-left:none;border-top:4px solid #4caf50}.concept2{order:2;border-right:none;border-top:4px solid #ff9800}.input-group{flex-direction:column}.analyze-btn,.book-input{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface);border-radius:24px;padding:32px;width:90%;max-width:400px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:24px;font-weight:500;color:var(--primary-contrast);margin:0}.modal-close{background:none;border:none;font-size:24px;color:var(--secondary-contrast);cursor:pointer;padding:4px;border-radius:8px;transition:all .2s}.modal-close:hover{background:var(--muted);color:var(--primary-contrast)}.auth-form{gap:16px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.auth-input{padding:16px 20px;font-size:16px;border:none;border-radius:12px;background:var(--background);color:var(--primary-contrast);outline:none;transition:all .2s;border:1px solid var(--border)}.auth-input:focus{border-color:#4caf50;transform:scale(1.02)}.auth-input::placeholder{color:var(--secondary-contrast)}.auth-button{padding:16px 24px;font-size:16px;font-weight:500;border:none;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.auth-button.primary{background:var(--button);color:var(--background)}.auth-button.google{background:#fff;color:#333;border:1px solid #ddd}.auth-button:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.02)}.auth-button:active:not(:disabled){scale:.97}.auth-button:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;margin:8px 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.divider span{padding:0 16px;font-size:14px;color:var(--secondary-contrast)}.auth-switch{text-align:center;margin-top:8px}.auth-switch span{font-size:14px;color:var(--secondary-contrast);margin-right:8px}.switch-button{background:none;border:none;color:var(--primary-contrast);text-decoration:underline;cursor:pointer;font-size:14px;transition:opacity .2s}.switch-button:hover{opacity:.8}.error-message{background:#ff5252;color:#fff;padding:12px;border-radius:8px;font-size:14px;text-align:center}.auth-header{position:fixed;top:20px;right:20px;gap:12px;z-index:100}.auth-header,.auth-user-info{display:flex;align-items:center}.auth-user-info{gap:8px;background:var(--surface);padding:8px 16px;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border)}.auth-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--button);display:flex;align-items:center;justify-content:center;color:var(--background);font-weight:500;font-size:14px}.auth-user-name{font-size:14px;color:var(--primary-contrast);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-login-button{background:var(--button);color:var(--background);border:none;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.auth-login-button:hover{filter:brightness(1.1);transform:scale(1.02)}.auth-logout-button{background:var(--surface);color:var(--primary-contrast);border:1px solid var(--border);padding:8px 12px;border-radius:50px;font-size:12px;cursor:pointer;transition:all .2s}.auth-logout-button:hover{background:#dc3545}.history-toggle{display:flex;justify-content:center;margin-bottom:20px}.history-button{padding:12px 24px;font-size:16px;font-weight:500;border:none;border-radius:50px;background:var(--button);color:var(--background);cursor:pointer;transition:all .2s;white-space:nowrap}.history-button:hover{filter:brightness(1.1);transform:scale(1.02)}.history-button:active{scale:.97}.save-message{text-align:center;padding:12px 20px;border-radius:50px;margin-bottom:20px;font-weight:500;animation:fadeIn .3s ease-in-out}.save-message.success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.save-message.error{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.analysis-history{width:100%;max-width:800px;gap:24px}.analysis-history,.history-header{display:flex;flex-direction:column}.history-header{gap:16px}.history-header h3{font-size:28px;font-weight:500;text-align:center;color:var(--primary-contrast);margin:0}.stats-summary{display:flex;justify-content:center;gap:24px;padding:20px;background:var(--surface);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-number{font-size:24px;font-weight:600;color:var(--primary-contrast)}.stat-label{font-size:12px;color:var(--secondary-contrast);text-align:center}.search-bar{display:flex;gap:8px;align-items:center}.search-input{flex:1 1;padding:12px 16px;font-size:14px;border:none;border-radius:25px;background:var(--surface);color:var(--primary-contrast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none;transition:all .2s}.search-input::placeholder{color:var(--secondary-contrast)}.search-input:focus{filter:brightness(1.1);transform:scale(1.02)}.search-button{padding:12px 16px;font-size:14px;font-weight:500;border:none;border-radius:25px;background:var(--button);color:var(--background);cursor:pointer;transition:all .2s;white-space:nowrap}.search-button:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.02)}.search-button:disabled{opacity:.6;cursor:not-allowed}.clear-button{padding:12px;font-size:14px;border:none;border-radius:50%;background:var(--surface);color:var(--primary-contrast);cursor:pointer;transition:all .2s;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.clear-button:hover{filter:brightness(1.1);transform:scale(1.05)}.empty-message,.history-message,.loading-message{text-align:center;padding:40px 20px;background:var(--surface);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.empty-message p,.history-message h3,.loading-message p{color:var(--primary-contrast);margin:0}.history-message p{color:var(--secondary-contrast);margin-top:8px}.analyses-list{display:flex;flex-direction:column;gap:12px}.analysis-item{display:flex;background:var(--surface);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s;overflow:hidden}.analysis-item:hover{filter:brightness(1.05);transform:translateY(-2px)}.analysis-main{flex:1 1;padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:8px}.analysis-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.analysis-title h4{font-size:16px;font-weight:500;color:var(--primary-contrast);margin:0;flex:1 1}.analysis-badges{display:flex;gap:8px}.ai-badge{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.analysis-summary{margin:8px 0}.concepts{display:flex;align-items:center;gap:8px;font-size:14px}.concept{color:var(--primary-contrast);font-weight:500}.vs{color:var(--secondary-contrast);font-size:16px}.analysis-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.date{font-size:12px;color:var(--secondary-contrast)}.analysis-actions{display:flex;flex-direction:column;gap:8px;padding:16px 12px;border-left:1px solid var(--border)}.delete-button,.view-button{padding:8px;border:none;border-radius:8px;cursor:pointer;transition:all .2s;font-size:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.view-button{background:var(--surface);color:var(--primary-contrast)}.view-button:hover{background:var(--button);color:var(--background)}.delete-button{background:transparent;color:var(--secondary-contrast)}.delete-button:hover{background:#f44336;color:#fff}.save-section{display:flex;justify-content:center;margin:16px 0}.manual-save-btn{padding:14px 28px;font-size:16px;font-weight:500;border:none;border-radius:50px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px rgba(76,175,80,.3)}.manual-save-btn:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.05);box-shadow:0 6px 20px rgba(76,175,80,.4)}.manual-save-btn:active:not(:disabled){scale:.95}.manual-save-btn:disabled{opacity:.6;cursor:not-allowed;filter:none;transform:none;box-shadow:0 4px 15px rgba(76,175,80,.2)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.back-to-analyzer-btn,.back-to-list-btn{padding:12px 20px;font-size:14px;font-weight:500;border:none;border-radius:50px;background:var(--surface);color:var(--primary-contrast);cursor:pointer;transition:all .2s;border:1px solid var(--border)}.back-to-analyzer-btn:hover,.back-to-list-btn:hover{filter:brightness(1.1);transform:scale(1.02)}.back-to-list-btn{background:var(--button);color:var(--background);border:none}.analysis-detail{width:100%;max-width:800px;display:flex;flex-direction:column;gap:24px}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.analysis-content{width:100%;display:flex;flex-direction:column;gap:32px}.analysis-date{text-align:center;font-size:14px;color:var(--secondary-contrast);margin-bottom:20px}.detail-actions{display:flex;justify-content:center;margin-top:20px}.delete-analysis-btn{padding:12px 24px;font-size:14px;font-weight:500;border:none;border-radius:50px;background:#f44336;color:#fff;cursor:pointer;transition:all .2s}.delete-analysis-btn:hover{background:#d32f2f;transform:scale(1.02)}.analyses-simple-list{display:flex;flex-direction:column;gap:16px}.analyses-simple-list h4{font-size:18px;font-weight:500;color:var(--primary-contrast);text-align:center;margin-bottom:16px}.analyses-simple-list h4,.simple-analysis-item{padding:16px;background:var(--surface);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.simple-analysis-item{display:flex;align-items:center;transition:all .2s;gap:16px}.simple-analysis-item:hover{filter:brightness(1.05);transform:translateY(-2px)}.item-content{flex:1 1;gap:16px;cursor:pointer}.item-content,.item-number{display:flex;align-items:center}.item-number{justify-content:center;width:32px;height:32px;background:var(--button);color:var(--background);border-radius:50%;font-weight:600;font-size:14px;flex-shrink:0}.item-info{flex:1 1;display:flex;flex-direction:column;gap:8px}.item-info h5{font-size:16px;font-weight:500;color:var(--primary-contrast);margin:0}.item-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.item-meta .concepts{font-size:13px;color:var(--primary-contrast);font-weight:400}.item-meta .date{font-size:12px;color:var(--secondary-contrast);white-space:nowrap}.simple-delete-btn{padding:8px;border:none;border-radius:50%;background:transparent;color:var(--secondary-contrast);cursor:pointer;transition:all .2s;font-size:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.simple-delete-btn:hover{background:#f44336;color:#fff;transform:scale(1.1)}@media only screen and (max-width:1023px){.detail-header,.header-top{flex-direction:column;gap:12px}.item-meta{flex-direction:column;align-items:flex-start;gap:4px}.item-number{display:none}.simple-analysis-item{padding:12px}}.book-count-display{max-width:600px;margin:2rem auto;padding:2rem;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(0,0,0,.1);text-align:center}.book-count-display h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.8rem}.count-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:15px;margin-bottom:1.5rem}.count-number{font-size:4rem;font-weight:700;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.count-label{font-size:1.2rem;margin-bottom:1rem;opacity:.9}.count-guest,.count-user{font-size:.9rem;padding:.5rem 1rem;background:hsla(0,0%,100%,.2);border-radius:20px;display:inline-block;margin-top:.5rem}.toggle-view-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;cursor:pointer;transition:all .3s ease}.toggle-view-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(76,175,80,.3)}.save-message.info{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:1rem;border-radius:10px;margin:1rem auto;max-width:600px;text-align:center;font-weight:500}