@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Outfit:wght@100..900&family=Lora:ital,wght@0,400..700;1,400..700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap";:root{--color-bg-base: #fdf5f0;--color-bg-surface: #ffffff;--color-text-primary: #5a4b41;--color-text-secondary: #a38f85;--color-accent-warm: #ffcdb2;--color-accent-warm-glow: rgba(255, 205, 178, .4);--color-accent-cold: #e2eafc;--color-accent-cold-glow: rgba(226, 234, 252, .4);--color-sunrise-pink: #ffb7b2;--color-sunrise-gold: #ffdac1;--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(255, 248, 240, .9);--glass-blur: 20px;--shadow-soft: 0 12px 40px rgba(90, 75, 65, .06);--font-serif: "Playfair Display", serif;--font-sans: "Outfit", sans-serif;--font-italic: "Lora", serif;--space-unit: 1rem}body.dark-mode{--color-bg-base: #0f1219;--color-bg-surface: #1e2330;--color-text-primary: #e2e8f0;--color-text-secondary: #94a3b8;--color-accent-warm: #ffcdb2;--color-accent-cold: #334155;--glass-bg: rgba(15, 23, 42, .7);--glass-border: rgba(255, 255, 255, .1);--shadow-soft: 0 12px 40px rgba(0, 0, 0, .4);background:linear-gradient(135deg,#0f1219,#1a1f2e,#2d1b2e)}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:linear-gradient(135deg,#fff5e6,#fdf5f0,#fce4ec);color:var(--color-text-primary);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;letter-spacing:-.02em}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:28px;box-shadow:var(--shadow-soft)}.transition-luxury{transition:all .6s cubic-bezier(.22,1,.36,1)}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:28px;padding:1.5rem;position:relative;overflow:hidden}.glass-card:hover{border-color:#ffffff26;transform:translateY(-4px);box-shadow:0 20px 40px #0006}.habitat-card{min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;transition:transform .4s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.edit-habit-btn{position:absolute;top:1rem;right:1rem;z-index:10;background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--color-text-secondary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(-5px);transition:all .3s ease}.habitat-card:hover .edit-habit-btn{opacity:1;transform:translateY(0)}.edit-habit-btn:hover{background:#fff;color:var(--color-text-primary);transform:scale(1.1)!important}.habitat-card:hover{transform:translateY(-8px)}.habitat-visual-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:.7;background-image:linear-gradient(to top,#0009,#0000 50%),var(--card-bg-image);transition:opacity .5s ease,transform .8s ease;z-index:1}.habitat-card:hover .habitat-visual-bg{opacity:.8;transform:scale(1.05)}.habitat-content{position:relative;z-index:2}.habitat-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.habitat-category{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.15em;color:var(--color-text-secondary);display:block;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.2)}.time-tag{font-size:.75rem;font-weight:700;color:#fff;background:#0006;border:1px solid rgba(255,255,255,.4);padding:3px 10px;border-radius:100px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 5px #0000001a;letter-spacing:.05em}.habitat-title{font-size:1.75rem;margin-bottom:1.5rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.habitat-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.partner-avatars{display:flex;gap:12px;align-items:center}.partner-avatar{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.avatar-circle{width:28px;height:28px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);font-size:.65rem;font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);z-index:2}.glow-ring{position:absolute;inset:-2px;border-radius:50%;border:2px solid #a5d6a7;box-shadow:0 0 10px #a5d6a799;z-index:1;animation:pulse-ring 2s infinite cubic-bezier(.45,0,.55,1)}@keyframes pulse-ring{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:.8}}.status-all-completed{border-color:#a5d6a766;background:linear-gradient(135deg,#fffc,#a5d6a70d)}.atmosphere-glow{position:absolute;top:-50%;right:-50%;width:150%;height:150%;background:radial-gradient(circle at center,var(--glow-color, transparent) 0%,transparent 70%);opacity:.15;pointer-events:none;transition:opacity 1s ease}.status-all-completed .atmosphere-glow{--glow-color: #a5d6a7;opacity:.25}.status-partial .atmosphere-glow{--glow-color: var(--color-accent-warm);opacity:.2}.card-action-element{position:absolute;top:1rem;right:1rem;z-index:10}.join-btn{background:#e6b88a;color:#3d2c1d;border:none;padding:.3rem .8rem;border-radius:100px;font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:0 4px 15px #e6b88a66;transition:all .2s ease;font-family:var(--font-sans)}.join-btn:hover{transform:translateY(-2px);background:#f0cba5;box-shadow:0 6px 20px #e6b88a99}.ritual-container{display:flex;flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:400px}.ritual-button-wrapper{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#ffffff26;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ritual-progress-svg{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.ritual-progress-bg{fill:none;stroke:#ffffff0d;stroke-width:2}.ritual-progress-fill{fill:none;stroke:var(--color-accent-warm);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 8px var(--color-accent-warm));transition:opacity .3s ease}.ritual-label-container{display:flex;flex-direction:column;align-items:center;z-index:10;text-align:center}.ritual-label{font-family:var(--font-serif);font-size:1.1rem;color:#fff;letter-spacing:.05em;transition:all .3s ease}.ritual-timer-hint{font-family:var(--font-italic);font-style:italic;font-size:.8rem;color:#fff;opacity:.8;margin-top:.5rem}.is-pressing .ritual-label{transform:scale(.95);opacity:.8}.ritual-expansion-glow{position:absolute;width:100%;height:100%;background:radial-gradient(circle,var(--color-accent-warm) 0%,transparent 70%);border-radius:50%;z-index:1;pointer-events:none}.note-overlay{width:100%;padding:2.5rem;border-radius:32px;margin-top:1rem}.note-form{display:flex;flex-direction:column;gap:1.5rem}.note-label{font-family:var(--font-italic);font-style:italic;color:var(--color-text-secondary);font-size:.9rem;text-align:center}.note-input{background:transparent;border:none;border-bottom:1px solid var(--glass-border);color:var(--color-text-primary);font-family:var(--font-serif);font-size:1.4rem;padding:.5rem 0;text-align:center;outline:none;transition:border-color .3s ease}.note-input:focus{border-color:var(--color-accent-warm)}.note-actions{display:flex;gap:1rem;justify-content:center}.note-submit-btn,.note-skip-btn{background:transparent;border:1px solid var(--glass-border);color:var(--color-text-primary);padding:.75rem 1.5rem;border-radius:100px;font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:all .3s ease}.note-submit-btn{background:var(--color-accent-warm);border-color:var(--color-accent-warm);color:var(--color-bg-base);font-weight:600}.note-submit-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.note-skip-btn:hover{background:#ffffff0d;border-color:#fff3}.habitat-detail-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;background:var(--color-bg-base);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;overflow:hidden}.detail-visual-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--detail-bg-image);background-size:cover;background-position:center;opacity:.8;z-index:1}.detail-nav{position:absolute;top:3rem;left:3rem;right:3rem;display:flex;justify-content:space-between;align-items:center;z-index:20}.back-btn,.settings-btn{background:transparent;border:none;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3);font-family:var(--font-sans);font-size:.8rem;letter-spacing:.15rem;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.back-btn:hover,.settings-btn:hover{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5);transform:translateY(-1px)}.habitat-detail-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:4rem;width:100%;max-width:600px}.habitat-detail-header{text-align:center}.habitat-theme-label{display:block;font-family:var(--font-sans);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:#ffffffe6;text-shadow:0 1px 3px rgba(0,0,0,.3);margin-bottom:1.5rem}.habitat-detail-title{font-size:4rem;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.3);font-family:var(--font-serif)}.edit-form{width:100%;padding:3rem;display:flex;flex-direction:column;gap:1.5rem;border-radius:32px}.edit-title{font-family:var(--font-serif);font-size:1.75rem;color:var(--color-text-primary);margin-bottom:.5rem;text-align:center}.edit-input{background:#fff;border:1px solid var(--glass-border);border-radius:12px;padding:1rem;color:var(--color-text-primary);font-family:var(--font-sans);font-size:1rem;outline:none;width:100%;box-sizing:border-box}.edit-notice{font-size:.8rem;color:var(--color-text-secondary);font-style:italic;text-align:center}.privacy-toggle-group{display:flex;justify-content:center;background:#fff3;border-radius:99px;padding:4px;width:fit-content;margin:0 auto}.privacy-toggle-btn{padding:.5rem 1.5rem;border-radius:99px;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;font-family:var(--font-sans);font-size:.9rem;transition:all .2s ease}.privacy-toggle-btn.active{background:#fff;color:#000;box-shadow:0 2px 8px #0000001a;font-weight:600}.kin-selection-grid{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.kin-circle{width:42px;height:42px;border-radius:50%;background:#0000004d;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;position:relative;font-family:var(--font-sans)}.kin-circle:hover{transform:scale(1.1);background:#ffffff4d}.kin-circle.selected{background:#e6b88a;color:#3d2c1d;border-color:#e6b88a;box-shadow:0 0 15px #e6b88a99}.save-btn{background:#e6b88a;color:#3d2c1d;border:none;padding:1.1rem;border-radius:100px;font-weight:700;cursor:pointer;opacity:1;box-shadow:0 4px 15px #e6b88a66;transition:all .3s ease;margin-top:.5rem}.save-btn:hover{transform:translateY(-2px)}.delete-btn{background:#ff6b6b;border:none;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem 1rem;border-radius:100px;opacity:.9;transition:all .2s;align-self:center;margin-top:.5rem;box-shadow:0 2px 8px #ff6b6b4d}.delete-btn:hover{opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b66;text-decoration:none}.atmosphere-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.ambient-light{position:absolute;width:100%;height:100%;background:radial-gradient(circle at center,rgba(255,205,178,.05) 0%,transparent 80%)}.drifting-particles{position:absolute;width:100%;height:100%;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:200px 200px;opacity:.05;animation:drift 60s linear infinite}@keyframes drift{0%{background-position:0 0}to{background-position:200px 400px}}@media(max-width:768px){.habitat-detail-title{font-size:2.5rem}.detail-nav{top:2rem;left:1.5rem;right:1.5rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffff566;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal-content{width:100%;max-width:640px;padding:3rem;border-radius:36px;max-height:90vh;overflow-y:auto}.modal-header{margin-bottom:3rem;text-align:center}.modal-title{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(to bottom,var(--color-text-primary),var(--color-text-secondary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-subtitle{font-family:var(--font-italic);font-style:italic;color:var(--color-text-secondary);font-size:1.1rem}.modal-form{display:flex;flex-direction:column;gap:2.5rem}.form-sections{display:flex;flex-direction:column;gap:3rem}.form-section{display:flex;flex-direction:column;gap:1.5rem}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.75rem}.input-group label{font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-secondary);margin-left:.25rem}.modal-input,.modal-textarea{background:#fff;border:1px solid var(--glass-border);border-radius:12px;padding:1rem 1.25rem;color:var(--color-text-primary);font-family:var(--font-serif);font-size:1.1rem;outline:none;transition:all .3s ease;box-shadow:0 2px 8px #00000005}.modal-input:focus,.modal-textarea:focus{border-color:var(--color-accent-warm);box-shadow:0 4px 12px #0000000d}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.theme-option{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border:1px solid var(--glass-border);border-radius:20px;cursor:pointer;text-align:left;transition:all .3s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 10px #00000005}.theme-option.active{border-color:var(--color-accent-warm);border-width:2px;background:#ffcdb20d}.theme-preview{width:40px;height:40px;border-radius:10px;flex-shrink:0}.theme-name{display:block;font-family:var(--font-serif);font-weight:500;font-size:.95rem}.theme-desc{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-secondary)}.custom-prompt-box{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:#ffffff80;border-radius:20px;border:1px dashed var(--color-accent-warm)}.custom-prompt-box label{font-size:.8rem;color:var(--color-text-secondary)}.modal-actions{display:flex;gap:1rem;padding-top:1rem}.btn-cancel,.btn-create{flex:1;padding:1.1rem;border-radius:100px;font-family:var(--font-sans);font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-cancel{background:transparent;border:1px solid var(--glass-border);color:var(--color-text-secondary)}.btn-create{background:var(--color-accent-warm);border:1px solid var(--color-accent-warm);color:var(--color-bg-base);font-weight:600}.calendar-section{margin-top:4rem;padding:2.5rem;border-radius:24px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;flex-wrap:wrap;gap:1.5rem}.calendar-title{font-family:var(--font-serif);font-size:1.75rem;color:var(--color-text-primary);margin:0}.habit-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px}.legend-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 2px 5px #0000001a}.legend-name{font-size:.85rem;color:var(--color-text-secondary);font-family:var(--font-sans)}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:1rem}.calendar-day{display:flex;flex-direction:column;align-items:center;gap:12px;padding:1rem .5rem;background:#ffffff26;border-radius:16px;border:1px solid rgba(255,255,255,.3);transition:transform .3s ease,background .3s ease}.day-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-sans)}.day-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:26px;max-width:40px}.completion-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 2px 4px #0000000d;animation:dot-appear .6s cubic-bezier(.22,1,.36,1) backwards}@keyframes dot-appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.calendar-day .day-label{opacity:.5}.calendar-day:hover{transform:translateY(-4px);background:#fff6}.calendar-day:hover .day-label{opacity:.9}.calendar-day.is-today{background:#ffffffe6;border-width:2px;border-color:var(--color-accent-warm);box-shadow:0 4px 15px #e6b88a40;opacity:1;transform:scale(1.05)}.calendar-day.is-today .day-label{opacity:1;color:#5a4b41}.calendar-day.perfect-day{border-color:#a5d6a7;box-shadow:0 0 15px #a5d6a766;animation:perfect-glow 3s infinite ease-in-out}.calendar-day.is-today.perfect-day{background:#fffffff2;opacity:1}@keyframes perfect-glow{0%{box-shadow:0 0 10px #a5d6a74d;border-color:#a5d6a799}50%{box-shadow:0 0 20px #a5d6a799;border-color:#a5d6a7}to{box-shadow:0 0 10px #a5d6a74d;border-color:#a5d6a799}}.calendar-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center}.calendar-day-modal{width:90%;max-width:400px;background:var(--color-bg-surface);border-radius:24px;padding:2rem;box-shadow:0 10px 40px #0003;border:1px solid var(--glass-border);position:relative;max-height:80vh;display:flex;flex-direction:column}.day-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.day-modal-date{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-text-primary);margin:0}.close-modal-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:50%;transition:background .2s;display:flex;align-items:center;justify-content:center}.close-modal-btn:hover{background:#0000000d;color:var(--color-text-primary)}.day-habits-list{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:4px}.day-habit-item{background:#ffffff0d;border-radius:16px;padding:1rem;border:1px solid rgba(255,255,255,.1)}.day-habit-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.day-habit-dot{width:12px;height:12px;border-radius:50%}.day-habit-title{font-family:var(--font-sans);font-weight:600;color:var(--color-text-primary);font-size:1rem}.day-habit-note{font-family:var(--font-italic);font-style:italic;color:var(--color-text-secondary);font-size:.9rem;margin:.5rem 0 0 .5rem;border-left:2px solid rgba(255,255,255,.2);padding-left:.75rem;line-height:1.4}.day-habit-note-empty{color:var(--color-text-secondary);font-size:.8rem;opacity:.5;margin-left:.5rem;margin-top:.25rem;font-style:italic}.no-activity-msg{text-align:center;color:var(--color-text-secondary);font-style:italic;margin-top:2rem}.add-kin-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center}.add-kin-modal{width:90%;max-width:420px;background:var(--color-bg-surface);border-radius:32px;padding:2.5rem;box-shadow:0 20px 60px #00000026;border:1px solid var(--glass-border);position:relative}.add-kin-close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);padding:.5rem;border-radius:50%;transition:background .2s;display:flex;align-items:center;justify-content:center}.add-kin-close:hover{background:#0000000d}.add-kin-header{text-align:center;margin-bottom:2rem}.add-kin-title{font-family:var(--font-serif);font-size:1.75rem;color:var(--color-text-primary);margin-bottom:.5rem}.add-kin-subtitle{font-family:var(--font-italic);font-style:italic;color:var(--color-text-secondary);font-size:.95rem}.add-kin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-btn{flex:1;background:transparent;border:1px solid var(--glass-border);padding:.75rem;border-radius:12px;font-family:var(--font-sans);font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.tab-btn.active{background:var(--color-accent-warm);border-color:var(--color-accent-warm);color:var(--color-bg-base);font-weight:600}.add-kin-form{display:flex;flex-direction:column;gap:1.5rem}.add-kin-input{background:#fff6;border:1px solid rgba(163,143,133,.4);padding:1rem 1.25rem;border-radius:16px;font-family:var(--font-sans);font-size:1rem;color:var(--color-text-primary);transition:all .3s ease;outline:none;width:100%}.add-kin-input:focus{background:#fffc;border-color:var(--color-accent-warm);box-shadow:0 0 0 3px var(--color-accent-warm-glow)}.add-kin-submit{background:var(--color-text-primary);color:var(--color-bg-base);border:none;padding:1rem;border-radius:16px;font-family:var(--font-sans);font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.add-kin-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.add-kin-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.add-kin-error{color:#e57373;font-size:.9rem;text-align:center;background:#e573731a;padding:.75rem;border-radius:12px}.add-kin-success{color:#4ade80;font-size:.9rem;text-align:center;background:#4ade801a;padding:.75rem;border-radius:12px}.pending-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}.pending-title{font-family:var(--font-sans);font-weight:600;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:1rem}.pending-list{display:flex;flex-direction:column;gap:.75rem}.pending-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#ffffff4d;border-radius:12px}.pending-info{display:flex;align-items:center;gap:.75rem}.pending-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-accent-warm);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:var(--color-bg-base)}.pending-name{font-family:var(--font-sans);font-weight:500;color:var(--color-text-primary);font-size:.9rem}.pending-actions{display:flex;gap:.5rem}.pending-accept,.pending-decline{padding:.4rem .75rem;border-radius:8px;font-size:.8rem;font-family:var(--font-sans);cursor:pointer;transition:all .2s}.pending-accept{background:#4ade80;border:none;color:#fff;font-weight:600}.pending-accept:hover{background:#22c55e}.pending-decline{background:transparent;border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.pending-decline:hover{background:#0000000d}.outgoing-badge{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.kin-section{margin-top:2rem}.kin-empty-state{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;text-align:center}.kin-empty-text{font-family:var(--font-italic);font-style:italic;color:var(--color-text-secondary);font-size:1rem}.add-kin-btn{background:var(--color-accent-warm);color:var(--color-bg-base);border:none;padding:.75rem 1.5rem;border-radius:100px;font-family:var(--font-sans);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.add-kin-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffcdb266}.kin-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1);min-width:80px}.kin-avatar-large{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-family:var(--font-serif);color:var(--color-text-primary);background:#ffffff80;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 12px #0000000d;position:relative;overflow:hidden}.kin-avatar-large img{width:100%;height:100%;object-fit:cover}.kin-status-indicator{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;border:2px solid white}.kin-name{font-family:var(--font-sans);font-weight:500;color:var(--color-text-secondary);font-size:.85rem;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-badge{position:absolute;top:-4px;right:-4px;background:#ff6b6b;color:#fff;font-size:.7rem;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.studio-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;min-height:100vh;display:flex;flex-direction:column;position:relative}.header-actions{position:absolute;top:2rem;right:2rem;display:flex;gap:1rem;z-index:100}.icon-btn{width:44px;height:44px;border-radius:50%;background:#fff6;border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);cursor:pointer;transition:all .3s ease}.icon-btn:hover{background:#fffc;transform:rotate(15deg)}body.dark-mode .icon-btn{background:#ffffff1a;border-color:#fff3}body.dark-mode .theme-toggle{color:gold}body.dark-mode .logout-btn{color:var(--color-text-primary)}body.dark-mode .icon-btn:hover{background:#fff3}.studio-header{margin-bottom:4rem;text-align:left}.brand-header{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-bottom:2rem;position:relative;z-index:10;text-align:center}.app-header{text-align:center;margin-bottom:2rem;padding-top:1rem}.app-title{font-family:Cormorant Garamond,serif;font-size:5.5rem;color:var(--color-text-primary);font-weight:600;font-style:italic;line-height:1;margin-bottom:.2rem;letter-spacing:-.03em;display:flex;align-items:center;justify-content:center;gap:0}.title-emoji{font-style:normal;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:.5em;margin-top:.1em;margin-left:.1rem;filter:sepia(.3) hue-rotate(10deg)}.app-subtitle{font-family:var(--font-serif);font-size:1.25rem;color:var(--color-text-secondary);font-style:italic;font-weight:400;letter-spacing:.05em;opacity:.8;margin-top:-.5rem}.studio-logo{width:360px;height:auto;object-fit:contain;filter:drop-shadow(0 15px 40px rgba(255,183,178,.2));transition:transform .8s cubic-bezier(.22,1,.36,1);margin-bottom:-1.5rem}.studio-logo:hover{transform:scale(1.02)}.greeting{font-family:var(--font-italic);font-style:italic;color:var(--color-text-secondary);font-size:1.25rem;letter-spacing:.05em;opacity:.8}.studio-title{font-size:1.5rem;color:var(--color-text-secondary);letter-spacing:.2em;text-transform:uppercase;font-family:var(--font-sans);opacity:.6;margin-top:-1rem}.habitat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;flex:1}.add-habitat-btn{border:2px dashed var(--color-accent-cold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-text-secondary);cursor:pointer;min-height:240px;background:#ffffff4d;font-family:var(--font-sans);font-size:1rem;letter-spacing:.05em;border-radius:28px}.add-habitat-btn:hover{background:var(--color-bg-surface);border-style:solid;color:var(--color-text-primary);transform:translateY(-4px);box-shadow:var(--shadow-soft)}.kin-grid{display:flex;gap:2rem;padding:1rem 1rem 2rem;overflow-x:auto}.kin-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.kin-item:hover{transform:translateY(-5px) scale(1.05)}.kin-avatar-large{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-family:var(--font-serif);color:var(--color-text-primary);background:#ffffff80;border:1px solid rgba(255,255,255,.8);box-shadow:0 4px 12px #0000000d;position:relative}.kin-status-indicator{position:absolute;bottom:0;right:0;width:14px;height:14px;border-radius:50%;border:2px solid white}.kin-name{font-family:var(--font-sans);font-weight:500;color:var(--color-text-secondary);font-size:.9rem}.plus{font-size:2rem;font-weight:300}@media(max-width:768px){.studio-title{font-size:2.5rem}}.app-root{min-height:100vh;width:100%;position:relative}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity 1s ease-in}.auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.auth-card{width:100%;max-width:420px;padding:3rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:2rem}.auth-header{text-align:center;margin-bottom:1rem}.auth-title{font-family:Cormorant Garamond,serif;font-size:4rem;color:var(--color-text-primary);font-weight:600;font-style:italic;line-height:1;letter-spacing:-.03em;display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:.5rem}.auth-title .title-emoji{font-style:normal;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:.5em;margin-top:.1em;margin-left:.1rem;filter:sepia(.3) hue-rotate(10deg)}.auth-subtitle{font-family:var(--font-serif);font-size:1.1rem;color:var(--color-text-secondary);font-style:italic;opacity:.8;margin-top:-.5rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem;width:100%}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-label{font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--color-text-secondary);margin-left:.5rem}.auth-input{background:#fff6;border:1px solid rgba(163,143,133,.4);padding:1rem 1.25rem;border-radius:16px;font-family:var(--font-sans);font-size:1rem;color:var(--color-text-primary);transition:all .3s ease;outline:none}.auth-input:focus{background:#fffc;border-color:var(--color-accent-warm);box-shadow:0 0 0 3px var(--color-accent-warm-glow)}.auth-actions{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.primary-btn{background:var(--color-text-primary);color:var(--color-bg-base);border:none;padding:1rem;border-radius:16px;font-family:var(--font-sans);font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.primary-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.primary-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.secondary-btn{background:transparent;border:1px solid var(--color-text-secondary);color:var(--color-text-primary);padding:1rem;border-radius:16px;font-family:var(--font-sans);font-weight:500;font-size:1rem;cursor:pointer;transition:all .3s ease}.secondary-btn:hover{background:#ffffff4d}.error-message{color:#e57373;font-size:.9rem;text-align:center;background:#e573731a;padding:.75rem;border-radius:12px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center}.signup-modal{width:90%;max-width:400px;background:var(--color-bg-surface);border-radius:32px;padding:2.5rem;box-shadow:0 20px 60px #00000026;border:1px solid var(--glass-border);position:relative}.close-btn{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);padding:.5rem;border-radius:50%;transition:background .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#0000000d}
