@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Montserrat:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Cinzel:wght@500;600;700&family=UnifrakturCook:wght@700&family=Rajdhani:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&family=Nunito:wght@400;500;600;700;800&family=Baloo+2:wght@500;600;700&family=Orbitron:wght@500;600;700&family=Share+Tech+Mono&family=Caveat:wght@500;600;700&display=swap";:root{--bg:#141113;--card:#1e191c;--raised:#282126;--line:#33292f;--text:#f3ecee;--muted:#a1949a;--accent:#9a405b;--accent-hover:#b04c6a;--gold:#d3b47b;--ok:#8cc7a1;--danger:#e08793;--radius:16px;--gap:20px;font-family:DM Sans,system-ui,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);font-size:16px;line-height:1.5}h1,h2,h3,p{margin:0}h1,h2{font-family:Playfair Display,serif;font-weight:500;letter-spacing:-.02em}h1{font-size:1.9rem;line-height:1.2}h2{font-size:1.4rem}h3{font-size:1rem;font-weight:600}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}code{overflow-wrap:anywhere}ul{list-style:none;margin:0;padding:0}.muted{color:var(--muted)}.center{text-align:center}.small-text{font-size:.85rem}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:var(--gap)}.shell.wide{position:relative;justify-content:flex-start;padding:0 16px 24px}.topbar{width:100%;max-width:640px;display:flex;align-items:center;justify-content:space-between;padding:20px 0}.topbar-right{display:flex;align-items:center;gap:10px}.page{width:100%;max-width:640px;display:flex;flex-direction:column;gap:var(--gap)}.footnote{max-width:640px;display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.8rem;line-height:1.45;margin-top:auto;padding-top:8px}.footnote svg{flex-shrink:0;margin-top:2px}.shell.wide .footnote{margin-top:var(--gap)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px 11px 11px 3px;background:#2b1d24;border:1px solid #6e4a5a;color:#e6c9d3;font:italic 600 1.3rem Playfair Display,serif}.brand strong{font:600 1.4rem Playfair Display,serif;letter-spacing:-.03em}.role-chip{font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--gold);border:1px solid #5a4a33;border-radius:99px;padding:5px 11px}.card{width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:16px}.auth-card{max-width:420px;padding:32px 28px;gap:20px}.auth-card .brand{margin-bottom:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:12px;font-weight:600;font-size:.95rem;white-space:nowrap;transition:background .15s,border-color .15s}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.secondary{background:var(--raised);border-color:#4d3a44}.btn.secondary:hover:not(:disabled){background:#33292f}.btn.ghost{background:transparent;color:var(--muted);border-color:var(--line)}.btn.ghost:hover:not(:disabled){color:var(--text);border-color:#4d3f46}.btn.small{min-height:36px;padding:0 12px;font-size:.85rem}.btn.full{width:100%}.link-button{align-self:flex-start;background:none;border:0;padding:4px 0;color:#d9a9bb;font-size:.9rem;font-weight:500}.link-button:hover{color:#f3d6e0}.auth-card>.link-button{align-self:center}.icon-button{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:0;border-radius:10px;background:transparent;color:var(--muted)}.icon-button:hover:not(:disabled){background:var(--raised);color:var(--text)}.stack{display:flex;flex-direction:column;gap:16px}.stack.tight{gap:12px}.row{display:flex;gap:10px}.row>input{flex:1}.field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:500;color:#d7cbd0}input[type=text],input[type=email],input[type=password],input[type=datetime-local],input:not([type]),textarea,select{width:100%;min-width:0;min-height:46px;padding:0 14px;background:var(--bg);border:1px solid #473a41;border-radius:12px}textarea{padding:12px 14px;resize:vertical}input::placeholder,textarea::placeholder{color:#76686e}input:focus,textarea:focus,select:focus{border-color:var(--gold);outline:none}.checkline{display:flex;gap:10px;align-items:center;font-size:.9rem;color:#d7cbd0}.checkline input,.role-option input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.role-choice{border:0;padding:0;margin:0;min-width:0}.role-choice .role-option{display:flex;width:calc(50% - 5px);float:left;margin-right:10px}.role-choice .role-option:last-of-type{margin-right:0}.role-choice:after{content:"";display:block;clear:both}.role-choice legend{padding:0;margin-bottom:8px;font-size:.88rem;font-weight:500;color:#d7cbd0}.role-option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #473a41;border-radius:12px;cursor:pointer;margin:0}.role-option:has(input:checked){border-color:var(--accent-hover);background:#2a1d24}.role-option span{display:flex;flex-direction:column}.role-option small{color:var(--muted);font-size:.78rem}.message{width:100%;padding:12px 14px;border-radius:12px;font-size:.9rem;border:1px solid}.message.error{color:var(--danger);border-color:#6b3a43;background:#2a1a1e}.message.success{color:var(--ok);border-color:#34573f;background:#18241d}.pair{display:flex;justify-content:center;align-items:flex-start;gap:28px;padding:8px 0}.person{display:flex;flex-direction:column;align-items:center;gap:2px;width:110px}.avatar{position:relative;width:76px;height:76px;margin-bottom:8px;border-radius:50%;display:grid;place-items:center;color:#c99aab;background:#2a2026;border:1px solid #6a4757}.avatar>img{width:100%;height:100%;object-fit:cover;border-radius:50%}.person strong{font-size:.78rem;letter-spacing:.14em}.person small{font-size:.82rem;color:var(--muted);text-align:center;overflow-wrap:anywhere}.person.self strong{color:var(--gold)}.avatar-badge{position:absolute;right:-4px;bottom:-2px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent);border:2px solid var(--bg);color:#fff;padding:0;cursor:pointer}.avatar-badge input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer;padding:0;border:0}.heart{align-self:flex-start;margin-top:27px;color:#5d4550}.heart.on{color:#e8a6bc}.option{display:flex;flex-direction:column;gap:12px;align-items:flex-start}form.option{align-items:stretch}.invite-box{width:100%;display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:16px;background:var(--bg);border:1px dashed #6a4757;border-radius:12px}.invite-box code{font-size:1.15rem;color:var(--gold);letter-spacing:.04em}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.deadline-idle{display:flex;align-items:center;justify-content:space-between;gap:16px}.deadline-idle .muted{font-size:.88rem;margin-top:2px}.deadline.active{border-color:#6b4a3a;background:linear-gradient(160deg,#2a2024,#1e191c)}.deadline-head{display:flex;justify-content:space-between;align-items:center}.countdown{font-size:clamp(2.2rem,9vw,3rem);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--gold);line-height:1.1}.tasks-head{display:flex;justify-content:space-between;align-items:center}.tasks-head-right{display:flex;align-items:center;gap:4px}.progress{height:6px;border-radius:99px;background:#3a2f35;overflow:hidden;margin-top:-4px}.progress>div{height:100%;background:linear-gradient(90deg,#8a3a54,var(--gold));border-radius:99px;transition:width .3s}.add-task{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--line)}.task-list{display:flex;flex-direction:column}.task{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.check{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border:2px solid #5d4852;border-radius:50%;background:transparent;color:transparent;padding:0;transition:all .15s}.check:hover{border-color:var(--gold)}.task.done .check{background:var(--accent);border-color:var(--accent);color:#fff}.task-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.task-title{font-weight:500;overflow-wrap:anywhere}.task-note{color:var(--muted);font-size:.88rem;overflow-wrap:anywhere}.task-due{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.8rem;margin-top:2px}.task.done .task-title{color:var(--muted);text-decoration:line-through;text-decoration-color:#5d4f56}.list-label{margin-top:12px;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.empty{text-align:center;color:var(--muted);padding:24px 0 8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:16px;background:#08060a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{width:min(100%,420px);padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--card);border:1px solid #4a3a43;border-radius:20px;box-shadow:0 24px 80px #00000080}.modal-top{display:flex;justify-content:space-between;align-items:center}.clock{display:flex;justify-content:center;align-items:center;gap:6px;padding:16px;background:var(--bg);border-radius:14px;font-variant-numeric:tabular-nums}.clock span{font-size:2.6rem;font-weight:600;min-width:2ch;text-align:center}.clock b{font-size:2rem;color:#8d6a77;font-weight:400}.time-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-selects label{display:flex;flex-direction:column;gap:6px;text-align:center;font-size:.82rem;color:var(--muted)}.time-selects select{text-align:center;text-align-last:center;padding:0 6px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:480px){.card{padding:20px}.auth-card{padding:26px 20px}.role-choice .role-option{width:100%;float:none;margin:0 0 10px}.pair{gap:16px}.deadline-idle{flex-direction:column;align-items:stretch}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.page-title{display:flex;align-items:center;gap:8px}.warning{display:flex;gap:12px;padding:14px 16px;border:1px solid #6b5230;background:#2a2217;border-radius:12px;color:#ecd3a0;font-size:.88rem;line-height:1.45}.warning svg{flex-shrink:0;margin-top:2px;color:var(--gold)}.warning strong{color:#f5e2b8}.setup-hint{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.type-row{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:0;padding:0;text-align:left;color:inherit}.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.type-button{min-height:56px;padding:0 16px;border:1px solid #4d3a44;border-radius:12px;background:var(--raised);font-weight:600}.type-button:hover{border-color:var(--gold)}.roulette{align-items:center}.wheel-wrap{position:relative;width:min(100%,300px);margin:8px auto}.wheel{width:100%;display:block}.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translate(-50%);z-index:2;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:20px solid var(--gold)}.roulette-result{display:flex;flex-direction:column;gap:8px;text-align:center;padding:8px 0}.result-title{font:500 1.6rem Playfair Display,serif;color:var(--gold);overflow-wrap:anywhere}@media(max-width:480px){.setup-hint{flex-direction:column;align-items:stretch}}body{background:radial-gradient(900px 420px at 50% -120px,rgba(211,180,123,.16),transparent 70%),radial-gradient(700px 500px at 100% 100%,rgba(154,64,91,.14),transparent 70%),radial-gradient(600px 400px at 0% 60%,rgba(154,64,91,.08),transparent 70%),var(--bg);background-attachment:fixed}.topbar{position:relative}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(211,180,123,.45),transparent)}.brand-mark{border-color:#d3b47b99;color:var(--gold);box-shadow:0 0 18px #d3b47b26}.card{background:linear-gradient(180deg,#241d21,#1c171a);border-color:#3a2f35;box-shadow:inset 0 1px #d3b47b47,0 10px 30px #00000047}.card h2,.page-title h2{color:#f1dfb8}.card h3{color:#efe6e9}.deadline.active{border-color:#d3b47b66;box-shadow:inset 0 1px #d3b47b80,0 0 40px #d3b47b14,0 10px 30px #0000004d}.countdown{text-shadow:0 0 28px rgba(211,180,123,.3)}.avatar{border:2px solid rgba(211,180,123,.55);background:radial-gradient(circle at 30% 20%,#4a3340,#241b20 72%);box-shadow:0 0 0 5px #d3b47b12,0 8px 24px #0006}.avatar>img{border-radius:50%}.heart.on{color:#f0b3c6;filter:drop-shadow(0 0 10px rgba(232,130,160,.55))}.btn.primary{background:linear-gradient(180deg,#a9496a,#8a3652);box-shadow:inset 0 0 0 1px #d3b47b59,0 4px 14px #9a405b4d}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#bb5879,#9a405b)}.btn.secondary{border-color:#d3b47b4d}.btn.secondary:hover:not(:disabled){border-color:#d3b47b99}.check{border-color:#d3b47b80}.task.done .check{background:linear-gradient(180deg,#c9a468,#a8854a);border-color:var(--gold);color:#2a1d12}.list-label,.link-button{color:var(--gold)}.link-button:hover{color:#f0d9a8}.progress>div{background:linear-gradient(90deg,#9a405b,var(--gold))}.type-button{border-color:#d3b47b4d}.role-option:has(input:checked){border-color:var(--gold);background:#2a2119}.role-option input,.checkline input{accent-color:#c9a468}.footnote svg{color:var(--gold)}.result-title{text-shadow:0 0 24px rgba(211,180,123,.3)}.wheel{filter:drop-shadow(0 0 22px rgba(211,180,123,.25))}.punishment-shortcut{gap:10px;padding:18px 22px}.punishment-shortcut-copy{display:flex;flex-direction:column;gap:3px}.punishment-shortcut .btn{align-self:flex-start}.theme-modal{width:min(100%,460px)}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.theme-choice{display:flex;flex-direction:column;align-items:center;gap:8px;padding:5px 3px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text)}.theme-choice:hover{background:var(--raised)}.theme-choice.selected{border-color:var(--gold);background:var(--raised)}.theme-swatch{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.35);box-shadow:0 5px 18px #00000047;transition:transform .15s,border-color .15s;overflow:hidden}.theme-choice:hover .theme-swatch{transform:scale(1.06)}.theme-name{font-size:.82rem;font-weight:600;text-align:center}.theme-check{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0000009e;color:#fff;font-weight:700;text-shadow:0 1px 3px #000}.swatch-velvet{background:radial-gradient(circle at 30% 25%,#684052,#171316 72%),repeating-linear-gradient(135deg,transparent 0 8px,rgba(211,180,123,.12) 9px 10px);border-color:#c6a36e}.swatch-little{background-color:#fff8fb;background-image:radial-gradient(circle at 25% 25%,#f5bfd1 0 2px,transparent 3px),radial-gradient(circle at 75% 75%,#f5bfd1 0 2px,transparent 3px),repeating-linear-gradient(45deg,transparent 0 9px,rgba(238,157,188,.28) 10px 11px);background-size:22px 22px;border-color:#e99ab8}.swatch-midnight{background-color:#09162d;background-image:radial-gradient(circle,#d8e8ff 1px,transparent 2px),linear-gradient(135deg,transparent 45%,rgba(100,157,226,.4) 46% 47%,transparent 48%);background-size:17px 17px,100% 100%;border-color:#8baed6}.swatch-bdsm{background-color:#160d12;background-image:repeating-linear-gradient(135deg,transparent 0 8px,rgba(177,70,103,.42) 9px 11px,transparent 12px 20px),radial-gradient(circle at 50% 50%,#5a1c34,#10090e 75%);border-color:#a34b62}.swatch-gothic{background-color:#050505;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18),transparent 55%),repeating-linear-gradient(45deg,transparent 0 12px,rgba(255,255,255,.15) 13px 14px);border-color:#fff}.swatch-dangerous-red{background-color:#170609;background-image:repeating-linear-gradient(135deg,transparent 0 8px,rgba(255,40,62,.3) 9px 10px,transparent 11px 20px),radial-gradient(circle at 50% 50%,#9c1428,#100509 75%);border-color:#e14b55}:root[data-theme=velvet]{--bg:#141113;--card:#1e191c;--raised:#282126;--line:#33292f;--text:#f3ecee;--muted:#a1949a;--accent:#9a405b;--accent-hover:#b04c6a;--gold:#d3b47b;--ok:#8cc7a1;--danger:#e08793}:root[data-theme=little]{--bg:#fff8fb;--card:#fffafd;--raised:#ffeef5;--line:#f0c7d8;--text:#59404c;--muted:#987b89;--accent:#e99ab8;--accent-hover:#d97fa4;--gold:#bd7894;--ok:#75aa91;--danger:#d96c87;font-family:Nunito,system-ui,sans-serif}:root[data-theme=midnight]{--bg:#081326;--card:#101f38;--raised:#1a2c49;--line:#30496c;--text:#eaf1ff;--muted:#9eacc3;--accent:#547fb8;--accent-hover:#6b98d1;--gold:#9bbce8;--ok:#85c8b4;--danger:#e18c9d}:root[data-theme=bdsm]{--bg:#10090e;--card:#21121b;--raised:#321b29;--line:#633447;--text:#f7eaf0;--muted:#c0a1af;--accent:#9e244f;--accent-hover:#c33364;--gold:#d49b79;--ok:#86b99a;--danger:#e18491}:root[data-theme=gothic]{--bg:#050505;--card:#111;--raised:#1c1c1c;--line:#444;--text:#f5f5f5;--muted:#aaa;--accent:#e5e5e5;--accent-hover:#fff;--gold:#fff;--ok:#bdbdbd;--danger:#ddd;font-family:Share Tech Mono,monospace}:root[data-theme=dangerous-red]{--bg:#100508;--card:#210b11;--raised:#351019;--line:#64202d;--text:#ffecef;--muted:#c69da5;--accent:#b40f2c;--accent-hover:#e01b3d;--gold:#ff596d;--ok:#8fc09b;--danger:#ff737d}:root[data-theme=little] body{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='176' height='150' viewBox='0 0 176 150'%3E%3Cg fill='none' stroke='%23e9a8c1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' opacity='.34'%3E%3Cg transform='translate(18 20)'%3E%3Ccircle cx='25' cy='26' r='19' fill='%23ffe9f1'/%3E%3Ccircle cx='11' cy='10' r='8' fill='%23ffe9f1'/%3E%3Ccircle cx='39' cy='10' r='8' fill='%23ffe9f1'/%3E%3Ccircle cx='19' cy='25' r='1' fill='%23a66b85'/%3E%3Ccircle cx='31' cy='25' r='1' fill='%23a66b85'/%3E%3Cpath d='M22 32q3 4 6 0M25 28v3' stroke='%23a66b85'/%3E%3C/g%3E%3Cg transform='translate(105 77)'%3E%3Cellipse cx='25' cy='28' rx='18' ry='20' fill='%23fff0f5'/%3E%3Cellipse cx='13' cy='7' rx='6' ry='15' transform='rotate(-15 13 7)' fill='%23fff0f5'/%3E%3Cellipse cx='37' cy='7' rx='6' ry='15' transform='rotate(15 37 7)' fill='%23fff0f5'/%3E%3Ccircle cx='19' cy='27' r='1' fill='%23a66b85'/%3E%3Ccircle cx='31' cy='27' r='1' fill='%23a66b85'/%3E%3Cpath d='M22 33q3 3 6 0' stroke='%23a66b85'/%3E%3C/g%3E%3Cpath d='M82 25l3 6 6 1-5 4 1 6-5-3-5 3 1-6-5-4 6-1zM31 112q4-7 8 0q4-7 8 0q0 7-8 12q-8-5-8-12z'/%3E%3C/g%3E%3C/svg%3E"),repeating-linear-gradient(to bottom,transparent 0 31px,rgba(231,153,184,.18) 32px 33px);background-size:176px 150px,100% 33px;background-attachment:fixed}:root[data-theme=little] h1,:root[data-theme=little] h2,:root[data-theme=little] h3{font-family:"Baloo 2",Nunito,sans-serif}:root[data-theme=little] .card{box-shadow:0 8px 24px #d38ba91a}:root[data-theme=midnight] body{background-color:var(--bg);background-image:radial-gradient(circle at 18% 22%,rgba(191,218,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 72% 68%,rgba(191,218,255,.5) 0 1px,transparent 2px),radial-gradient(circle at 82% 16%,rgba(110,160,230,.55) 0 1px,transparent 2px),repeating-linear-gradient(135deg,transparent 0 95px,rgba(104,151,214,.07) 96px 97px,transparent 98px 190px),radial-gradient(900px 500px at 50% -120px,rgba(76,125,190,.25),transparent 70%);background-size:137px 131px,181px 173px,223px 197px,100% 100%,100% 100%;background-attachment:fixed}:root[data-theme=bdsm] body{background-color:var(--bg);background-image:repeating-linear-gradient(135deg,transparent 0 28px,rgba(185,64,103,.075) 29px 30px,transparent 31px 58px),repeating-linear-gradient(45deg,transparent 0 28px,rgba(185,64,103,.055) 29px 30px,transparent 31px 58px),radial-gradient(850px 480px at 50% -120px,rgba(139,25,60,.26),transparent 70%);background-attachment:fixed}:root[data-theme=gothic] body{background-color:#050505;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='132' viewBox='0 0 132 132'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.2' opacity='.16'%3E%3Cpath d='M66 13l7 20 20-7-7 20 20 7-20 7 7 20-20-7-7 20-7-20-20 7 7-20-20-7 20-7-7-20 20 7z'/%3E%3Ccircle cx='66' cy='66' r='19'/%3E%3Cpath d='M66 43v46M43 66h46M50 50l32 32M82 50L50 82M66 4v12M66 116v12M4 66h12M116 66h12'/%3E%3Cpath d='M24 24l8 8m68 68l8 8m0-84l-8 8m-68 68l-8 8'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(circle at 50% 0%,#222,transparent 60%);background-size:132px 132px,100% 100%;background-attachment:fixed}:root[data-theme=gothic] h1,:root[data-theme=gothic] h2,:root[data-theme=gothic] h3,:root[data-theme=gothic] .brand strong{font-family:Orbitron,Share Tech Mono,monospace;letter-spacing:.04em}:root[data-theme=gothic] .brand-mark,:root[data-theme=gothic] .role-chip,:root[data-theme=gothic] .btn,:root[data-theme=gothic] input,:root[data-theme=gothic] textarea{border-radius:3px}:root[data-theme=gothic] .card{border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff09,0 0 22px #ffffff09}:root[data-theme=dangerous-red] body{background-color:var(--bg);background-image:repeating-linear-gradient(135deg,transparent 0 42px,rgba(255,37,62,.08) 43px 44px,transparent 45px 86px),radial-gradient(ellipse at 50% 0%,rgba(176,16,38,.32),transparent 66%),radial-gradient(circle at 10% 80%,rgba(100,0,20,.18),transparent 35%);background-attachment:fixed}:root[data-theme=dangerous-red] .card{box-shadow:inset 0 0 0 1px #ff28410b,0 8px 26px #0000002e}@media(max-width:480px){.theme-grid{gap:12px 6px}.theme-swatch{width:66px;height:66px}.punishment-shortcut .btn{width:100%}}:root[data-theme] .card{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 92%,white 8%),var(--card));border-color:var(--line)}:root[data-theme] .btn.primary{background:linear-gradient(180deg,var(--accent-hover),var(--accent));box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent)}:root[data-theme] .btn.primary:hover:not(:disabled){background:var(--accent-hover)}:root[data-theme] .brand-mark{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 65%,transparent)}:root[data-theme] .topbar:after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 45%,transparent),transparent)}:root[data-theme] .progress>div{background:linear-gradient(90deg,var(--accent),var(--gold))}:root[data-theme] .check{border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}:root[data-theme] .list-label,:root[data-theme] .link-button{color:var(--gold)}:root[data-theme] .role-chip{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}.sticky-section{gap:14px}.sticky-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sticky-heading>div{display:flex;flex-direction:column;gap:3px}.sticky-board{position:relative;min-height:420px;width:100%;overflow:hidden;border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--raised) 54%,transparent);background-image:radial-gradient(color-mix(in srgb,var(--gold) 20%,transparent) 1px,transparent 1px);background-size:18px 18px;touch-action:pan-y}.sticky-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:.88rem;text-align:center;padding:20px}.sticky-note-card{position:absolute;width:clamp(132px,25%,168px);min-height:150px;aspect-ratio:1/1;display:flex;flex-direction:column;padding:10px 10px 8px;border-radius:3px 3px 9px;box-shadow:0 8px 18px #00000038,inset 0 0 0 1px #50323c14;color:#473843}.sticky-note-card:after{content:"";position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 14px 14px;border-color:transparent transparent rgba(0,0,0,.1) transparent;pointer-events:none}.note-rose{background:#f7d8e4}.note-butter{background:#f8edb9}.note-lavender{background:#e7def8}.note-mint{background:#d8efdf}.note-sky{background:#d8eaf7}.sticky-drag-handle{align-self:flex-end;width:27px;height:24px;border:0;border-radius:5px;background:#50323c17;color:#604d57;font-size:1.15rem;line-height:1;cursor:grab;touch-action:none;padding:0}.sticky-drag-handle:active{cursor:grabbing}.sticky-note-open{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;color:#473843;text-align:left;padding:3px 2px 1px;min-height:0}.sticky-note-content{font:600 1.22rem/1.2 Caveat,cursive;overflow-wrap:anywhere;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.sticky-note-footer{display:flex;align-items:center;justify-content:space-between;gap:4px}.author-badge{font:700 .62rem/1 DM Sans,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:4px 6px;border-radius:99px;background:#412c3921;color:#624957}.author-badge.mine{background:#412c3933}.sticky-edit-hint{font:500 .68rem DM Sans,sans-serif;color:#473843b3}.sticky-editor{width:min(100%,480px)}.sticky-paper-preview{min-height:250px;padding:18px;border-radius:4px 4px 12px;box-shadow:0 8px 20px #0003;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(90,65,80,.12) 32px 33px)}.sticky-paper-preview textarea{width:100%;height:215px;resize:vertical;border:0;outline:0;background:transparent;color:#473843;font:600 1.65rem/1.3 Caveat,cursive;padding:0;box-shadow:none}.sticky-paper-preview textarea::placeholder{color:#47384380}.sticky-color-picker{display:flex;justify-content:center;gap:14px}.sticky-color-dot{width:31px;height:31px;border-radius:50%;border:2px solid rgba(0,0,0,.12);box-shadow:0 2px 6px #00000026}.sticky-color-dot.active{outline:2px solid var(--gold);outline-offset:3px}.sticky-editor-actions{align-items:center}.sticky-editor-actions .btn:first-child{margin-right:auto}@media(max-width:480px){.sticky-board{min-height:460px}.sticky-note-card{width:42%;min-height:145px}.sticky-heading{align-items:flex-start}.sticky-heading .btn{padding:0 10px}.sticky-editor-actions{flex-wrap:wrap}}.notes-launcher{position:fixed;left:max(14px,calc((100vw - 1120px)/2 - 4px));top:112px;z-index:35}.notes-launch-button{border:1px solid var(--line);border-radius:12px;min-width:104px;justify-content:center;box-shadow:0 5px 18px #0000001f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.notes-menu{position:absolute;top:calc(100% + 9px);left:0;width:220px;padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 14px 40px #0000003d;display:grid;gap:4px}.notes-menu button{display:flex;align-items:center;gap:10px;text-align:left;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--text);cursor:pointer}.notes-menu button:hover{background:var(--raised)}.notes-menu button span{display:grid;gap:2px}.notes-menu small{font-size:.72rem;color:var(--muted)}.sticky-floating-layer{position:fixed;top:102px;right:0;bottom:24px;left:0;z-index:24;pointer-events:none;overflow:hidden}.sticky-floating-note{position:absolute;width:clamp(132px,18vw,176px);min-height:150px;aspect-ratio:1/1;display:flex;flex-direction:column;padding:9px 10px 8px;border-radius:3px 3px 10px;box-shadow:0 9px 24px #0000003d,inset 0 0 0 1px #50323c17;color:#473843;pointer-events:auto}.sticky-floating-note:before{content:"";position:absolute;top:0;left:0;width:29px;height:29px;background:linear-gradient(135deg,#fff 0%,#fff 46%,#d8cbd0 48%,#f5edf0 54%,transparent 56%);filter:drop-shadow(1px 2px 1px rgba(0,0,0,.18));clip-path:polygon(0 0,100% 0,0 100%);z-index:2;pointer-events:none}.sticky-floating-note:after{content:"";position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 14px 14px;border-color:transparent transparent rgba(0,0,0,.1) transparent;pointer-events:none}.sticky-floating-note .sticky-note-open{min-height:0;cursor:pointer;flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px 8px 28px;overflow:hidden}.sticky-floating-note .sticky-note-content{font-family:Caveat,cursive;font-weight:600;line-height:1.12;white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;display:block;max-width:100%;max-height:100%;overflow:hidden}.sticky-drag-handle{position:absolute;right:7px;top:7px;z-index:5;align-self:auto;width:26px;height:24px;border-radius:6px;background:#3c1e281a;color:#5c4550}.sticky-delete-float{position:absolute;right:7px;bottom:7px;z-index:5;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:#3c1e281a;color:#5c4550;cursor:pointer;opacity:.72}.sticky-delete-float:hover{opacity:1;background:#a01e3c2e}.sticky-note-author{position:absolute;left:8px;bottom:9px;z-index:5;pointer-events:none}.doodle-paper{background:#fff!important;color:#24212a!important}.doodle-thumb{width:100%;height:112px;object-fit:contain;background:#fff}.doodle-canvas{display:block;width:100%;height:auto;max-height:55vh;aspect-ratio:640/440;border:1px solid #ddd;border-radius:5px;background:#fff;touch-action:none;cursor:crosshair}.doodle-tools{display:flex;gap:7px;margin-bottom:9px;flex-wrap:wrap}.doodle-tools button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);padding:7px 10px;cursor:pointer}.doodle-tools button.active{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 20%,transparent)}.doodle-color-picker{display:flex;align-items:center;gap:10px;padding:12px 3px 2px}.doodle-color-picker button{width:25px;height:25px;border-radius:50%;border:2px solid rgba(120,110,120,.28);background:var(--swatch);cursor:pointer;box-shadow:inset 0 0 0 1px #00000014}.doodle-color-picker button.active{outline:2px solid var(--gold);outline-offset:3px}.doodle-color-picker button[style*="255, 255, 255"]{box-shadow:inset 0 0 0 1px #aaa}.notes-editor-backdrop{z-index:80}@media(max-width:700px){.notes-launcher{left:12px;top:105px}.sticky-floating-layer{top:145px;right:0;bottom:18px;left:0}.sticky-floating-note{width:42vw;min-height:140px}.notes-menu{width:205px}.sticky-floating-note .sticky-note-content{font-size:1.1rem}}.mood-panel{position:fixed;right:max(14px,calc((100vw - 1120px)/2 - 4px));top:112px;width:218px;z-index:34;padding:13px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 34px #00000029;color:var(--text)}.mood-panel-heading{display:flex;align-items:center;justify-content:space-between;color:var(--gold);margin-bottom:11px}.mood-panel-heading h3{margin:1px 0 0;color:var(--text);font-size:1.08rem}.mood-eyebrow{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.mood-person-card,.mood-partner-card{padding:10px;border-radius:12px;background:color-mix(in srgb,var(--raised) 76%,transparent);border:1px solid var(--line)}.mood-person-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.mood-person-top{display:grid;gap:5px}.mood-current{display:flex;align-items:center;gap:7px;width:100%;border:0;background:transparent;color:var(--text);font:600 .83rem inherit;padding:2px 0;cursor:pointer}.mood-current svg{margin-left:auto;color:var(--muted)}.mood-statue{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:27px;background:radial-gradient(circle at 32% 25%,#fff,color-mix(in srgb,var(--accent) 35%,white) 18%,color-mix(in srgb,var(--accent) 72%,#33202b) 70%,#251721);box-shadow:inset -4px -6px 9px #00000047,inset 3px 3px 7px #ffffffb8,0 5px 9px #00000038;filter:saturate(.9)}.mood-statue.small{width:37px;height:37px;font-size:23px}.mood-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.mood-choice{display:grid;justify-items:center;gap:3px;padding:6px 2px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);cursor:pointer}.mood-choice small{font-size:.62rem;color:var(--muted)}.mood-choice.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.mood-note-row{display:flex;gap:5px;margin-top:9px;padding:5px 6px;border-radius:8px;background:var(--card);border:1px solid var(--line)}.mood-note-row input{min-width:0;width:100%;border:0!important;outline:0;background:transparent!important;color:var(--text);font:italic .75rem inherit;box-shadow:none!important;padding:3px!important}.mood-note-row input::placeholder{color:var(--muted)}.mood-note-row button{border:0;background:transparent;color:var(--gold);cursor:pointer;padding:2px}.mood-partner-card{margin-top:8px}.mood-partner-main{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:.83rem}.mood-partner-note{margin:7px 0 0;padding:7px 9px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--card));font-size:.76rem;font-style:italic;line-height:1.35;overflow-wrap:anywhere}.mood-empty{font-size:.74rem;color:var(--muted);margin:7px 0 0}.mood-error{display:block;color:#d65b73;font-size:.65rem;margin-top:5px}@media(max-width:700px){.mood-panel{position:relative;right:auto;top:auto;width:100%;max-width:420px;margin:12px auto 18px;z-index:23}.mood-picker{grid-template-columns:repeat(5,1fr)}}.mood-mini{position:relative;display:flex;align-items:flex-start;justify-content:center;width:62px;flex:0 0 62px;padding-top:2px;z-index:36}.mood-mini-trigger{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;min-width:0}.mood-mini-trigger:disabled{cursor:default;opacity:1}.mood-mini-title{font-size:.57rem;line-height:1;text-transform:lowercase;letter-spacing:.08em;color:var(--muted)}.mood-mini .mood-statue{width:36px;height:36px;font-size:22px}.mood-mini-label{font-size:.65rem;line-height:1.1;color:var(--muted);max-width:62px;overflow-wrap:anywhere;text-align:center}.mood-mini-picker{position:absolute;top:68px;left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(3,48px);gap:4px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 10px 28px #00000040;max-height:230px;overflow:auto;z-index:60}.mood-mini-picker button{display:grid;justify-items:center;gap:2px;padding:5px 2px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.mood-mini-picker button span{font-size:22px}.mood-mini-picker button small{font-size:.58rem;color:var(--muted)}.mood-mini-picker button.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent)}@media(max-width:520px){.pair{gap:7px}.mood-mini{width:48px;flex-basis:48px}.mood-mini .mood-statue{width:32px;height:32px;font-size:20px}.mood-mini-picker{grid-template-columns:repeat(3,44px)}}.rating-widget{position:absolute;right:max(2px,calc((100vw - 1120px)/2 - 180px));top:72px;z-index:8;width:clamp(245px,31vw,350px);padding:0;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:var(--text)}.rating-labels{display:flex;justify-content:space-between;align-items:center;margin:0 1px 7px;font-size:.78rem;font-weight:750;letter-spacing:.04em;text-transform:lowercase}.rating-labels span:first-child{color:var(--muted)}.rating-labels span:last-child{color:#d8ad4c}.rating-track{height:13px;margin:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 22%,transparent);overflow:hidden;box-shadow:inset 0 2px 4px #0003}.rating-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a66a37,#d6a64d 48%,#f1d98a);transition:width .65s cubic-bezier(.18,.85,.25,1);box-shadow:0 0 10px #e0b55759}.rating-caption{margin-top:4px;text-align:center;font-size:.66rem;color:var(--muted);line-height:1}.rating-controls{display:flex;align-items:center;justify-content:center;gap:27px;margin-top:9px;height:38px}.rating-controls button{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text);cursor:pointer;padding:0;transition:transform .15s ease,opacity .15s ease}.rating-controls button:hover:not(:disabled){transform:scale(1.2)}.rating-controls button:disabled{opacity:.28;cursor:default}.rating-star{position:relative;display:grid;place-items:center;color:#e0b64f;filter:drop-shadow(0 2px 3px rgba(150,100,10,.4));transform-origin:center}.rating-star.gain{animation:ratingGain .58s cubic-bezier(.18,.9,.25,1)}.rating-star.loss{animation:ratingLoss .58s ease-out}.rating-pop{position:absolute;left:50%;top:-24px;transform:translate(-50%);font-size:.82rem;font-weight:850;white-space:nowrap;color:#e2b64e;text-shadow:0 1px 4px rgba(0,0,0,.3);pointer-events:none;animation:ratingPop .85s ease-out}.rating-pop.loss{color:#c97979}@keyframes ratingPop{0%{opacity:0;transform:translate(-50%,8px) scale(.7)}25%{opacity:1;transform:translate(-50%,-2px) scale(1.2)}to{opacity:0;transform:translate(-50%,-25px) scale(1)}}@keyframes ratingGain{0%{transform:scale(.6) rotate(-18deg)}55%{transform:scale(1.5) rotate(12deg)}to{transform:scale(1) rotate(0)}}@keyframes ratingLoss{0%{transform:scale(1.35) rotate(12deg)}55%{transform:scale(.75) rotate(-10deg);opacity:.6}to{transform:scale(1) rotate(0);opacity:1}}@media(max-width:700px){.rating-widget{right:5px;top:82px;width:clamp(175px,47vw,235px)}.rating-labels{font-size:.68rem}.rating-track{height:11px}.rating-controls{gap:20px;margin-top:7px}}.calendar-launcher{position:fixed;left:max(14px,calc((100vw - 1120px)/2 - 4px));top:160px;z-index:35}.calendar-backdrop{z-index:82}.calendar-modal{width:min(100%,560px);max-height:min(90vh,820px);overflow:auto}.calendar-month{display:flex;align-items:center;justify-content:space-between;margin:12px 0 14px}.calendar-month h3{margin:0;font-size:1.02rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.calendar-weekday{padding:5px 0;color:var(--muted);font-size:.7rem;font-weight:700}.calendar-day{position:relative;min-height:42px;border:1px solid transparent;border-radius:11px;background:var(--raised);color:var(--text);font:600 .88rem inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .2s ease}.calendar-day:hover{transform:translateY(-1px);border-color:var(--gold)}.calendar-day.today{outline:1px solid var(--gold);outline-offset:1px}.calendar-day.selected{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 22%,transparent)}.calendar-day.dombusy{background:color-mix(in srgb,#d65b86 26%,var(--raised));border-color:color-mix(in srgb,#d65b86 45%,transparent)}.calendar-day.subbusy{background:color-mix(in srgb,#6695d5 27%,var(--raised));border-color:color-mix(in srgb,#6695d5 48%,transparent)}.calendar-day.both{background:linear-gradient(135deg,color-mix(in srgb,#d65b86 45%,var(--raised)) 0,color-mix(in srgb,#d65b86 45%,var(--raised)) 50%,color-mix(in srgb,#6695d5 45%,var(--raised)) 50%);border-color:var(--line)}.calendar-day.pending{background:color-mix(in srgb,#b9a1d8 26%,var(--raised));border:1px dashed #b9a1d8}.calendar-day.gold{background:linear-gradient(135deg,#8c6427,#f6d77e 45%,#c28c32 75%,#f8e6a7);color:#38250c;border-color:#f2d47c;box-shadow:0 0 13px #e6b94c73,inset 0 1px 4px #ffffffa6}.calendar-legend{display:flex;flex-wrap:wrap;gap:9px 15px;margin:13px 0;color:var(--muted);font-size:.68rem}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.legend-dom{background:#d65b86}.legend-sub{background:#6695d5}.legend-gold{background:#e6bd61}.legend-pending{background:#b9a1d8}.calendar-day-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.calendar-day-detail h3{margin:0 0 10px;font-size:.94rem}.calendar-event{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 11px;margin:7px 0;border-radius:10px;background:var(--raised);border-left:3px solid var(--line);font-size:.8rem}.calendar-event.busy{border-left-color:#d65b86}.calendar-event.reservation.pending{border-left-color:#b9a1d8}.calendar-event.reservation.accepted{border-left-color:#e6bd61;background:color-mix(in srgb,#e6bd61 12%,var(--raised))}.calendar-event p{margin:4px 0 0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.calendar-response{display:flex;gap:5px;flex-wrap:wrap}.calendar-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.calendar-create{margin-top:10px}.calendar-create textarea{width:100%;resize:vertical}@media(max-width:700px){.calendar-launcher{left:12px;top:153px}.calendar-modal{padding:16px}.calendar-grid{gap:4px}.calendar-day{min-height:39px}.calendar-choices>*{flex:1}.calendar-event{flex-direction:column}}.terms-head{display:flex;align-items:center;gap:10px;color:var(--gold)}.terms-head h1{font-size:1.6rem;color:#f1dfb8}.terms-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:.9rem;color:#d7cbd0;line-height:1.5}.terms-list strong{color:var(--text)}.terms-check{align-items:flex-start;font-size:.88rem;line-height:1.45;padding:12px;border:1px solid rgba(211,180,123,.35);border-radius:12px;background:#221b17}.terms-check input{margin-top:2px}.center-link{align-self:center}.intro{display:flex;flex-direction:column;gap:10px}.intro h1{color:#f1dfb8}.intro p{color:#cfc3c8;font-size:.95rem;line-height:1.55}.btn.big{min-height:60px;width:100%;font-size:1.05rem;border-radius:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:38px;padding:0 14px;border:1px solid rgba(211,180,123,.4);border-radius:99px;background:var(--raised);font-size:.9rem;font-weight:500}.chip:hover{border-color:var(--gold);background:#33292f}.chip.ghost{background:transparent;border-style:dashed;color:#d9cdb2;font-size:.85rem}.modal.tall{max-height:calc(100vh - 32px);overflow-y:auto;width:min(100%,460px)}.draft-list{display:flex;flex-direction:column;gap:6px}.draft-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 14px;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:.92rem}.draft-list .icon-button{width:30px;height:30px}.add-punishments{align-self:flex-start;min-height:40px;font-size:.9rem}.modal-actions .btn.primary{min-width:130px}.mood-statue{background:none!important;box-shadow:none!important;border:0!important;overflow:visible}.mood-mini .mood-statue{width:44px;height:44px}.emoji-3d{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.4));animation:emoji-float 3.6s ease-in-out infinite;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.emoji-fallback{font-size:26px;line-height:1}.mood-mini-trigger:not(:disabled):hover .emoji-3d{transform:scale(1.12) rotate(-4deg)}.mood-mini-picker button span{display:block;width:30px;height:30px}.mood-mini-picker button .emoji-3d{animation:none;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35));transition:transform .15s}.mood-mini-picker button:hover .emoji-3d{transform:scale(1.18)}@keyframes emoji-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}@media(max-width:520px){.mood-mini .mood-statue{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.emoji-3d{animation:none}}.games-launcher{position:fixed;left:max(14px,calc((100vw - 1120px)/2 - 4px));top:208px;z-index:35}.games-backdrop{z-index:82}.games-modal{width:min(100%,520px);max-height:min(90vh,820px);overflow:auto}.games-title-row{display:flex;align-items:center;gap:6px}.game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.game-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 14px;text-align:center;border:1px solid var(--line);border-radius:16px;background:var(--raised);color:var(--text);transition:transform .15s,border-color .15s}.game-card:hover{transform:translateY(-3px);border-color:var(--gold)}.game-card strong{font-size:.95rem;margin-top:4px}.game-card small{color:var(--muted);font-size:.78rem;line-height:1.3}.game-live{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:99px;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--gold)}.game-pic{display:block;filter:drop-shadow(0 5px 5px rgba(0,0,0,.35));-webkit-user-select:none;user-select:none}.center-stack{align-items:stretch;text-align:center}.game-result{font:600 1.5rem Playfair Display,serif;text-align:center;color:var(--gold);min-height:1.8em}.scoreboard{display:flex;align-items:center;justify-content:center;gap:22px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--raised)}.scoreboard div{display:flex;flex-direction:column;align-items:center;min-width:70px}.scoreboard strong{font-size:1.7rem;line-height:1.1;color:var(--gold)}.scoreboard small{color:var(--muted);font-size:.75rem}.scoreboard span{color:var(--muted);font-size:.8rem}.rps-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rps-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--text);text-transform:capitalize;font-size:.85rem;transition:transform .15s}.rps-btn:hover:not(:disabled){transform:translateY(-3px);border-color:var(--gold)}.rps-btn.picked{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,var(--raised))}.rps-btn:disabled:not(.picked){opacity:.45}.rps-reveal{display:flex;justify-content:center;align-items:flex-start;gap:30px}.rps-reveal>div{display:flex;flex-direction:column;align-items:center;gap:6px;animation:reveal .5s cubic-bezier(.2,1.4,.4,1)}.rps-reveal small{color:var(--muted)}@keyframes reveal{0%{transform:scale(.3) rotate(-20deg);opacity:0}}.wheel-block{display:flex;flex-direction:column;gap:12px}.option-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 6px 0 12px;font-size:.88rem}.option-chip button{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0}.option-chip button:hover{background:var(--line);color:var(--text)}.coin-stage{perspective:700px;display:grid;place-items:center;height:150px}.coin{position:relative;width:110px;height:110px;transform-style:preserve-3d}.coin .face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:50%;font:700 2.6rem Playfair Display,serif;backface-visibility:hidden;color:#5a4116;background:radial-gradient(circle at 32% 28%,#fff3c4,#e2b94f 55%,#a67a1f);border:5px solid #c79a2c;box-shadow:inset 0 0 0 4px #ffffff40,0 8px 18px #0006}.coin .back{transform:rotateY(180deg)}.dice-row{display:flex;justify-content:center;gap:20px;padding:8px 0}.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6px;width:84px;height:84px;padding:12px;border-radius:18px;background:linear-gradient(145deg,#fff,#d9d4dc);box-shadow:inset -3px -4px 8px #0000002e,0 8px 16px #00000059}.die i{border-radius:50%}.die i.on{background:radial-gradient(circle at 35% 30%,#555,#111)}.die.rolling{animation:shake .18s linear infinite}@keyframes shake{25%{transform:rotate(-9deg) translateY(-3px)}75%{transform:rotate(9deg) translateY(2px)}}.seg{display:inline-flex;align-self:center;border:1px solid var(--line);border-radius:99px;padding:3px;background:var(--raised)}.seg button{min-height:34px;padding:0 16px;border:0;border-radius:99px;background:transparent;color:var(--muted);font-weight:600}.seg button.on{background:var(--accent);color:#fff}.play-card{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;border:1px dashed var(--line);border-radius:18px;background:var(--raised);animation:reveal .4s cubic-bezier(.2,1.4,.4,1)}.play-card small{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:700}.play-card p{font-size:1.1rem;line-height:1.4}.play-card.truth{border-style:solid;border-color:color-mix(in srgb,var(--gold) 60%,var(--line))}.play-card.dare{border-style:solid;border-color:color-mix(in srgb,var(--accent) 80%,var(--line))}.row.three>*{flex:1}.rather-options{display:flex;flex-direction:column;gap:10px}.rather{min-height:64px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--text);font-size:1rem;font-weight:600;line-height:1.3}.rather:hover{border-color:var(--gold)}.rather.picked{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,var(--raised))}@media(max-width:700px){.games-launcher{left:12px;top:201px}}@media(max-width:380px){.game-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.die.rolling,.rps-reveal>div,.play-card{animation:none}}.game-card{padding-top:28px}@media(max-width:700px){.notes-launcher,.calendar-launcher,.games-launcher{top:92px}.notes-launcher{left:12px}.calendar-launcher{left:122px}.games-launcher{left:232px}.notes-launch-button{min-width:96px}.shell.wide .pair{margin-top:46px}.rating-widget{position:relative;right:auto;top:auto;width:calc(100% - 8px);max-width:420px;margin:10px auto 0}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}*{-webkit-tap-highlight-color:transparent}::selection{background:color-mix(in srgb,var(--accent) 55%,transparent);color:#fff}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent}.btn:not(:disabled):active,.game-card:active,.rps-btn:not(:disabled):active,.type-button:active,.chip:active{transform:scale(.97)}.btn,.card,.game-card,.chip,.type-button,.icon-button{transition:transform .15s,background .15s,border-color .15s,box-shadow .2s}.card{scroll-margin-top:90px}.modal-backdrop{animation:fade-in .18s ease-out}.modal{animation:pop-in .22s cubic-bezier(.2,1.2,.4,1)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.modal-backdrop .modal{max-height:calc(100dvh - 32px);overflow-y:auto}.task-list .task:hover{background:color-mix(in srgb,var(--raised) 35%,transparent)}.task-title,.task-note{overflow-wrap:anywhere}input,textarea,select{font-size:16px}.message{animation:fade-in .25s ease-out}.footnote{padding:12px 4px 4px;opacity:.85}.shell.wide{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.topbar{padding-top:calc(20px + env(safe-area-inset-top))}@media(max-width:480px){.btn{min-height:48px}.modal{padding:20px}.page{gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.modal,.modal-backdrop,.message{animation:none}}.challenge-toast{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;z-index:130;width:min(340px,calc(100vw - 28px));padding:14px;display:flex;flex-direction:column;gap:10px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));border-radius:16px;background:var(--card);color:var(--text);box-shadow:0 18px 50px #00000080,0 0 28px color-mix(in srgb,var(--gold) 18%,transparent);animation:toast-in .35s cubic-bezier(.2,1.3,.4,1)}.challenge-toast.note{padding:12px 16px;font-size:.92rem;text-align:center;animation:toast-in .3s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(40px) scale(.96)}}.toast-head{display:flex;align-items:center;gap:12px}.toast-head>div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.toast-head strong{font-size:.95rem}.toast-head span{color:var(--gold);font-size:.85rem;font-weight:600}.toast-count{font-variant-numeric:tabular-nums;font-size:1.05rem;color:var(--gold)}.toast-bar{height:5px;border-radius:99px;background:color-mix(in srgb,var(--muted) 25%,transparent);overflow:hidden}.toast-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .6s linear}.toast-bar.wide{width:100%;height:7px}.toast-actions{display:flex;gap:10px}.toast-actions .btn{flex:1}.invite-screen{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:10px 0 4px}.invite-screen h3{font-size:1.2rem}.rather-who{display:block;margin-top:4px;color:var(--gold);font-size:.78rem;font-weight:600}@media(max-width:480px){.challenge-toast{right:50%;transform:translate(50%)}@keyframes toast-in{0%{opacity:0;transform:translate(50%) translateY(-20px)}}}@media(prefers-reduced-motion:reduce){.challenge-toast{animation:none}}.notes-launcher{z-index:42}.calendar-launcher,.games-launcher{z-index:35}.notes-menu{background:var(--card)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.doodle-size-control{display:flex;align-items:center;gap:12px;padding:10px 3px 2px;font-size:.82rem;color:var(--muted)}.doodle-size-control input{flex:1;min-width:90px;accent-color:var(--gold);cursor:pointer}.doodle-size-control span{min-width:38px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.watch-launcher{position:fixed;left:max(14px,calc((100vw - 1120px)/2 - 4px));top:256px;z-index:35}.watch-launcher .wl-short{display:none}.watch-modal{width:min(100%,760px)}.watch-form{display:flex;flex-direction:column;gap:14px}.watch-input{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--muted)}.watch-input input{flex:1;border:0;background:transparent;box-shadow:none;padding:14px 0;color:var(--text);min-width:0}.watch-stage{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;border:1px solid var(--line)}.watch-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.watch-frame iframe{width:100%;height:100%}.watch-note{font-size:.88rem;text-align:center;margin:0}.watch-toast{top:calc(max(14px,env(safe-area-inset-top)) + 96px)}.watch-toast.note{top:max(14px,env(safe-area-inset-top))}@media(max-width:700px){.watch-launcher{top:92px;left:264px}.notes-launcher{left:12px}.calendar-launcher{left:96px}.games-launcher{left:180px}.notes-launch-button{min-width:0;padding-left:10px;padding-right:10px}.watch-launcher .wl-long{display:none}.watch-launcher .wl-short{display:inline}.shell.wide .pair{margin-top:50px}}@media(max-width:480px){.notes-launch-button,.notes-launch-button span{font-size:0!important;gap:0!important;padding-left:14px!important;padding-right:14px!important;min-width:0!important}.watch-launcher .wl-short{display:none!important}.notes-launcher{left:12px}.calendar-launcher{left:66px}.games-launcher{left:120px}.watch-launcher{left:174px}}#root{position:relative;z-index:1}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.scene *{pointer-events:none}body{transition:background-color .4s}:root[data-theme=midnight]{font-family:DM Sans,system-ui,sans-serif}:root[data-theme=midnight] body{background:linear-gradient(180deg,#040a18,#081326 45%,#0d2038);background-attachment:fixed}:root[data-theme=midnight] h1,:root[data-theme=midnight] h2,:root[data-theme=midnight] .brand strong{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;letter-spacing:0}:root[data-theme=midnight] h2{font-size:1.7rem}.scene-midnight .star{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#dce9ff;box-shadow:0 0 6px 1px #aacdffb3;animation:twinkle var(--t) ease-in-out var(--d) infinite}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}.scene-midnight .shoot{position:absolute;top:-5%;left:80%;width:130px;height:2px;border-radius:2px;background:linear-gradient(90deg,#fff,#a0c8ff00);transform:rotate(-35deg);opacity:0;animation:shoot 14s linear infinite}.scene-midnight .shoot.s2{left:55%;top:5%;animation-delay:5s;animation-duration:19s}.scene-midnight .shoot.s3{left:95%;top:25%;animation-delay:10s;animation-duration:23s}@keyframes shoot{0%{opacity:0;transform:translate(0) rotate(-35deg)}2%{opacity:1}9%{opacity:0;transform:translate(-520px,360px) rotate(-35deg)}to{opacity:0}}.scene-midnight .moon{position:absolute;top:70px;right:max(26px,7vw);width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fffdf0,#e8e4c8 55%,#b9b79d);box-shadow:0 0 40px 10px #dce6ff59,0 0 140px 50px #6ea0e633;animation:bob 9s ease-in-out infinite}.scene-midnight .moon i{position:absolute;border-radius:50%;background:#96967847}.scene-midnight .moon i:nth-child(1){width:18px;height:18px;left:18px;top:20px}.scene-midnight .moon i:nth-child(2){width:11px;height:11px;left:50px;top:46px}@keyframes bob{50%{transform:translateY(-8px)}}.scene-midnight .aurora{position:absolute;left:-10%;width:120%;height:260px;filter:blur(46px);opacity:.5;mix-blend-mode:screen;animation:drift 22s ease-in-out infinite alternate}.scene-midnight .a1{top:6%;background:linear-gradient(90deg,transparent,rgba(70,160,200,.55),rgba(80,200,170,.4),transparent)}.scene-midnight .a2{top:20%;height:200px;background:linear-gradient(90deg,transparent,rgba(120,100,220,.45),rgba(70,130,220,.4),transparent);animation-duration:30s;animation-direction:alternate-reverse}@keyframes drift{0%{transform:translate(-7%) skewY(-3deg)}to{transform:translate(7%) skewY(3deg)}}.scene-midnight .hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:24vh;min-height:130px}:root[data-theme=midnight] .card,:root[data-theme=midnight] .modal{background:linear-gradient(160deg,#182c4ec7,#0c182ed1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(140,185,240,.22);border-radius:22px;box-shadow:inset 0 1px #c8e1ff2e,0 12px 40px #00000a73,0 0 32px #5082d21a}:root[data-theme=midnight] .avatar{border:2px solid rgba(170,205,255,.6);box-shadow:0 0 22px #78aaf059}:root[data-theme=midnight] .avatar:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;border:1px dashed rgba(170,205,255,.4);animation:spin 26s linear infinite}:root[data-theme=midnight] .avatar:after{content:"";position:absolute;top:-12px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#bcd6ff;box-shadow:0 0 10px 2px #8fb8f5;transform-origin:3.5px 50px;animation:spin 7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root[data-theme=midnight] .heart.on{color:#9fc2f5;filter:drop-shadow(0 0 10px rgba(120,170,240,.8))}:root[data-theme=midnight] .countdown{text-shadow:0 0 30px rgba(140,190,255,.55)}:root[data-theme=midnight] .check{border-color:#aacdff99;box-shadow:0 0 10px #78aaf040}:root[data-theme=midnight] .task.done .check{background:radial-gradient(circle,#cfe2ff,#6f9ad6);color:#0a1830;box-shadow:0 0 14px #96beffb3}:root[data-theme=midnight] .progress>div{background:linear-gradient(90deg,#4a78b8,#cfe2ff);box-shadow:0 0 12px #96beffb3}:root[data-theme=midnight] .btn.primary{border-radius:999px;box-shadow:0 0 20px #6496dc66,inset 0 1px #ffffff40}:root[data-theme=midnight] .topbar:after{background:linear-gradient(90deg,transparent,rgba(170,205,255,.5),transparent)}:root[data-theme=bdsm] body{background:radial-gradient(ellipse at 50% -10%,#3a0f22,#1a0a12 45%,#0b0509);background-attachment:fixed}:root[data-theme=bdsm] h1,:root[data-theme=bdsm] h2,:root[data-theme=bdsm] h3,:root[data-theme=bdsm] .brand strong{font-family:Cinzel,serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase}:root[data-theme=bdsm] h1{font-size:1.5rem}:root[data-theme=bdsm] h2{font-size:1.2rem}:root[data-theme=bdsm] h3{font-size:.95rem}.scene-bdsm .grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.28;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .2 0 0 0 0 .3 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}.scene-bdsm .spot{position:absolute;top:-10%;width:60vw;height:120vh;background:conic-gradient(from 180deg at 50% 0,transparent 160deg,rgba(210,40,90,.2) 180deg,transparent 200deg);filter:blur(16px);transform-origin:50% 0;animation:sweep 11s ease-in-out infinite alternate}.scene-bdsm .sp1{left:-15%}.scene-bdsm .sp2{right:-15%;animation-delay:-5s;animation-direction:alternate-reverse}@keyframes sweep{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.scene-bdsm .ember{position:absolute;bottom:-10px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:#ff4d7d;box-shadow:0 0 8px 2px #ff4678b3;opacity:0;animation:rise var(--t) linear var(--d) infinite}@keyframes rise{0%{opacity:0;transform:translate(0)}10%{opacity:.9}to{opacity:0;transform:translate(var(--dx),-105vh)}}.scene-bdsm .chain{position:absolute;top:0;left:0;filter:drop-shadow(0 3px 4px rgba(0,0,0,.6));opacity:.85;animation:sway 6s ease-in-out infinite alternate;transform-origin:50% 0}@keyframes sway{to{transform:translateY(2px)}}.scene-bdsm .floor-glow{position:absolute;left:0;right:0;bottom:0;height:30vh;background:linear-gradient(0deg,rgba(190,30,80,.28),transparent);animation:breathe 5s ease-in-out infinite}@keyframes breathe{50%{opacity:.45}}:root[data-theme=bdsm] .topbar{padding-top:34px}:root[data-theme=bdsm] .card,:root[data-theme=bdsm] .modal{position:relative;background:linear-gradient(180deg,#2b1520,#1b0d15);border:1px solid #4a2536;border-radius:10px;box-shadow:inset 0 0 0 5px #1b0d15,inset 0 0 0 6px #d49b792e,0 14px 34px #0000008c}:root[data-theme=bdsm] .card:before,:root[data-theme=bdsm] .modal:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1.5px dashed rgba(212,155,121,.38);border-radius:6px;pointer-events:none}:root[data-theme=bdsm] .card:after,:root[data-theme=bdsm] .modal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 14px 14px,#d8d8e0 0 2.5px,#6c6c78 3px 4px,transparent 4.5px),radial-gradient(circle at calc(100% - 14px) 14px,#d8d8e0 0 2.5px,#6c6c78 3px 4px,transparent 4.5px),radial-gradient(circle at 14px calc(100% - 14px),#d8d8e0 0 2.5px,#6c6c78 3px 4px,transparent 4.5px),radial-gradient(circle at calc(100% - 14px) calc(100% - 14px),#d8d8e0 0 2.5px,#6c6c78 3px 4px,transparent 4.5px)}:root[data-theme=bdsm] .card>*,:root[data-theme=bdsm] .modal>*{position:relative;z-index:1}:root[data-theme=bdsm] .btn{border-radius:6px;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}:root[data-theme=bdsm] .btn.primary{background:linear-gradient(180deg,#c42a5c,#8e1c43);outline:1.5px dashed rgba(255,225,235,.45);outline-offset:-5px;box-shadow:0 5px #5a1028,0 10px 20px #0006}:root[data-theme=bdsm] .btn.primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #5a1028}:root[data-theme=bdsm] .btn.secondary,:root[data-theme=bdsm] .btn.ghost{border-radius:6px;border-color:#74747f;color:#e6e6ee}:root[data-theme=bdsm] .avatar{border:3px solid #a9a9b6;box-shadow:0 0 0 4px #2b1520,0 0 0 6px #d49b79,0 0 22px #d2285a59}:root[data-theme=bdsm] .avatar:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;border:3px dotted #c8c8d2;opacity:.8;animation:spin 40s linear infinite}:root[data-theme=bdsm] .heart.on{color:#ff4d7d;animation:beat 1.6s ease-in-out infinite}:root[data-theme=bdsm] .task{border-bottom:1.5px dashed rgba(212,155,121,.3)}:root[data-theme=bdsm] .check{border:3px solid #a9a9b6;border-radius:8px;width:28px;height:28px}:root[data-theme=bdsm] .task.done .check{background:#c42a5c;border-color:#e6e6ee}:root[data-theme=bdsm] .progress{height:10px;border-radius:2px;background:#0e0710;border:1px solid #5a3346}:root[data-theme=bdsm] .progress>div{border-radius:0;background:repeating-linear-gradient(45deg,#c42a5c 0,#c42a5c 8px,#a21f4b 8px,#a21f4b 16px)}:root[data-theme=bdsm] .countdown{font-family:Cinzel,serif;color:#ffd2b3;text-shadow:0 0 24px rgba(255,90,130,.55)}:root[data-theme=bdsm] .role-chip{border-radius:4px;letter-spacing:.2em}:root[data-theme=gothic] body{background:radial-gradient(ellipse at 50% 0%,#262626,#0c0c0c 55%,#030303);background-attachment:fixed}:root[data-theme=gothic] h1,:root[data-theme=gothic] h2,:root[data-theme=gothic] .brand strong{font-family:UnifrakturCook,Cinzel,serif;font-weight:700;letter-spacing:.02em}:root[data-theme=gothic] h3{font-family:Cinzel,serif;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem}:root[data-theme=gothic] h2{font-size:1.7rem}:root[data-theme=gothic] h1{font-size:2.1rem}.scene-gothic .rose{position:absolute;top:-130px;left:50%;width:520px;height:520px;margin-left:-260px;opacity:.1;animation:spin 180s linear infinite}.scene-gothic .arch{position:absolute;bottom:0;height:62vh;min-height:300px;opacity:.12}.scene-gothic .wl{left:max(8px,calc(50% - 560px))}.scene-gothic .wr{right:max(8px,calc(50% - 560px))}.scene-gothic .fog{position:absolute;left:-30%;width:160%;height:240px;border-radius:50%;filter:blur(40px);background:radial-gradient(ellipse,rgba(255,255,255,.16),transparent 70%);animation:fog 30s ease-in-out infinite alternate}.scene-gothic .f1{bottom:-60px}.scene-gothic .f2{bottom:60px;opacity:.6;animation-duration:42s;animation-direction:alternate-reverse}.scene-gothic .f3{top:40%;opacity:.35;animation-duration:55s}@keyframes fog{0%{transform:translate(-9%)}to{transform:translate(9%)}}.scene-gothic .bat{position:absolute;width:34px;opacity:.5;animation:fly 24s linear infinite,flap .5s ease-in-out infinite}.scene-gothic .b1{top:18%;left:-60px}.scene-gothic .b2{top:34%;left:-60px;animation-delay:-9s,0s;width:24px}.scene-gothic .b3{top:10%;left:-60px;animation-delay:-16s,0s;width:28px}@keyframes fly{0%{transform:translate(0)}to{transform:translate(calc(100vw + 120px))}}@keyframes flap{50%{scale:1 .55}}.scene-gothic .candle{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.09),transparent 60%);animation:flicker 3.4s steps(1) infinite}@keyframes flicker{0%,to{opacity:1}12%{opacity:.7}30%{opacity:.95}46%{opacity:.6}70%{opacity:1}86%{opacity:.8}}:root[data-theme=gothic] .card,:root[data-theme=gothic] .modal{position:relative;background:linear-gradient(180deg,#151515,#0b0b0b);border:1px solid #5a5a5a;border-radius:42px 42px 4px 4px;box-shadow:inset 0 0 0 4px #0b0b0b,inset 0 0 0 5px #3d3d3d,0 0 34px #ffffff0f}:root[data-theme=gothic] .card:before,:root[data-theme=gothic] .modal:before{content:"✠";position:absolute;top:-11px;left:50%;transform:translate(-50%);padding:0 10px;background:#0b0b0b;color:#ddd;font-size:.95rem;line-height:1;z-index:2}:root[data-theme=gothic] .card{padding-top:30px}:root[data-theme=gothic] .btn{border-radius:2px;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}:root[data-theme=gothic] .btn.primary{background:#e8e8e8;color:#050505;box-shadow:0 0 0 1px #fff,0 0 0 4px #050505,0 0 0 5px #777}:root[data-theme=gothic] .btn.primary:hover:not(:disabled){background:#fff;box-shadow:0 0 0 1px #fff,0 0 0 4px #050505,0 0 0 5px #fff,0 0 22px #ffffff80}:root[data-theme=gothic] .avatar{border-radius:50% 50% 6px 6px/62% 62% 6px 6px;border:2px solid #cfcfcf;background:#141414;box-shadow:0 0 0 4px #050505,0 0 0 5px #666,0 0 24px #ffffff1f}:root[data-theme=gothic] .avatar>img{border-radius:50% 50% 4px 4px/62% 62% 4px 4px}:root[data-theme=gothic] .heart.on{color:#fff;filter:drop-shadow(0 0 10px #fff);animation:flicker 4s steps(1) infinite}:root[data-theme=gothic] .task{border-bottom:1px solid #2e2e2e}:root[data-theme=gothic] .check{border:1.5px solid #bbb;border-radius:3px;transform:rotate(45deg);width:24px;height:24px;margin:3px}:root[data-theme=gothic] .check svg{transform:rotate(-45deg)}:root[data-theme=gothic] .task.done .check{background:#eee;color:#000;border-color:#fff;box-shadow:0 0 12px #ffffff8c}:root[data-theme=gothic] .progress{height:4px;border-radius:0;background:#222}:root[data-theme=gothic] .progress>div{border-radius:0;background:#fff;box-shadow:0 0 10px #fff}:root[data-theme=gothic] .countdown{font-family:Cinzel,serif;color:#fff;text-shadow:0 0 28px rgba(255,255,255,.5);letter-spacing:.08em}:root[data-theme=gothic] .topbar:after{background:linear-gradient(90deg,transparent,#fff 50%,transparent);opacity:.4}:root[data-theme=dangerous-red]{font-family:Rajdhani,DM Sans,sans-serif;font-weight:500}:root[data-theme=dangerous-red] body{font-size:17px;background:radial-gradient(ellipse at 50% 0%,#3a0610,#12050a 55%,#080204);background-attachment:fixed}:root[data-theme=dangerous-red] h1,:root[data-theme=dangerous-red] h2,:root[data-theme=dangerous-red] h3,:root[data-theme=dangerous-red] .brand strong{font-family:Rajdhani,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em}:root[data-theme=dangerous-red] h2{font-size:1.5rem}:root[data-theme=dangerous-red] button,:root[data-theme=dangerous-red] input,:root[data-theme=dangerous-red] textarea,:root[data-theme=dangerous-red] select{font-family:Rajdhani,sans-serif;font-weight:600}.scene-red .radar{position:absolute;left:50%;top:38%;width:130vmax;height:130vmax;margin:-65vmax 0 0 -65vmax;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,40,70,.17),transparent 22%);animation:spin 9s linear infinite}.scene-red .pulse{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 140px 20px #dc0a2866;animation:heart 1.4s ease-in-out infinite}@keyframes heart{0%,to{opacity:.35}12%{opacity:1}24%{opacity:.4}38%{opacity:.85}60%{opacity:.35}}.scene-red .scan{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 4px);opacity:.55}.scene-red .glitch{position:absolute;left:0;right:0;height:3px;background:#ff50648c;box-shadow:0 0 14px 4px #ff284673;animation:glitch 7s linear infinite}@keyframes glitch{0%{top:-5%;opacity:0}4%{opacity:.9}30%{top:105%;opacity:.9}31%,to{top:105%;opacity:0}}.scene-red .tape{position:absolute;left:-5%;width:110%;height:14px;background:repeating-linear-gradient(-45deg,#e0102c 0,#e0102c 18px,#14070a 18px,#14070a 36px);background-size:51px 14px;animation:tape 2.4s linear infinite;box-shadow:0 0 18px #ff1e3c8c}.scene-red .top{top:0}.scene-red .bottom{bottom:0;animation-direction:reverse}@keyframes tape{to{background-position:51px 0}}:root[data-theme=dangerous-red] .topbar{padding-top:34px}:root[data-theme=dangerous-red] .card,:root[data-theme=dangerous-red] .modal{position:relative;background:linear-gradient(180deg,#2c0a12f0,#16060af5);border:1px solid #6b1424;border-radius:3px;box-shadow:0 0 0 1px #ff284614,0 0 30px #dc0f2d2e,0 12px 30px #00000080}:root[data-theme=dangerous-red] .card:before,:root[data-theme=dangerous-red] .modal:before,:root[data-theme=dangerous-red] .card:after,:root[data-theme=dangerous-red] .modal:after{content:"";position:absolute;width:20px;height:20px;pointer-events:none;border:0 solid #ff3b57;filter:drop-shadow(0 0 5px #ff3b57)}:root[data-theme=dangerous-red] .card:before,:root[data-theme=dangerous-red] .modal:before{top:-2px;left:-2px;border-top-width:3px;border-left-width:3px}:root[data-theme=dangerous-red] .card:after,:root[data-theme=dangerous-red] .modal:after{right:-2px;bottom:-2px;border-bottom-width:3px;border-right-width:3px}:root[data-theme=dangerous-red] .btn{border-radius:0;text-transform:uppercase;letter-spacing:.14em;font-size:.9rem;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);padding:0 26px}:root[data-theme=dangerous-red] .btn.primary{background:linear-gradient(180deg,#ff2a47,#b00c27);animation:alarm 2.4s ease-in-out infinite}@keyframes alarm{50%{filter:brightness(1.3) drop-shadow(0 0 8px #ff2a47)}}:root[data-theme=dangerous-red] .btn.secondary,:root[data-theme=dangerous-red] .btn.ghost{background:#ff284614;color:#ffb3bd;border-color:transparent}:root[data-theme=dangerous-red] .avatar{border:2px solid #ff3b57;box-shadow:0 0 24px #ff284680}:root[data-theme=dangerous-red] .avatar:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;border:2px dashed rgba(255,59,87,.7);animation:spin 12s linear infinite reverse}:root[data-theme=dangerous-red] .heart.on{color:#ff2a47;filter:drop-shadow(0 0 10px #ff2a47);animation:beat 1.2s ease-in-out infinite}:root[data-theme=dangerous-red] .check{border:2px solid #ff3b57;border-radius:2px}:root[data-theme=dangerous-red] .task.done .check{background:#ff2a47;color:#fff;box-shadow:0 0 14px #ff2a47}:root[data-theme=dangerous-red] .task{border-bottom:1px solid #4a1019}:root[data-theme=dangerous-red] .progress{height:10px;border-radius:0;background:#1e0a10;border:1px solid #6b1424}:root[data-theme=dangerous-red] .progress>div{border-radius:0;background:repeating-linear-gradient(-45deg,#ff2a47 0,#ff2a47 8px,#8d0b20 8px,#8d0b20 16px);animation:tape2 1s linear infinite;background-size:22.6px 22.6px}@keyframes tape2{to{background-position:22.6px 0}}:root[data-theme=dangerous-red] .countdown{font-family:Orbitron,Rajdhani,sans-serif;color:#ff4d63;text-shadow:0 0 22px rgba(255,40,70,.8);animation:alarm 1.2s steps(2) infinite}:root[data-theme=dangerous-red] .role-chip{border-radius:0;border-color:#ff3b57;color:#ff6b7d}:root[data-theme=dangerous-red] .role-chip:before{content:"● ";animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}:root[data-theme=little] body{background:linear-gradient(180deg,#d9ecff,#ffeef6 38%,#fff8fb);background-attachment:fixed}:root[data-theme=little] h1,:root[data-theme=little] h2,:root[data-theme=little] h3,:root[data-theme=little] .brand strong{font-family:"Baloo 2",Nunito,sans-serif;font-weight:700}:root[data-theme=little] h2{font-size:1.6rem}.scene-little .rainbow{position:absolute;left:50%;bottom:-48vmin;width:150vmin;height:150vmin;margin-left:-75vmin;border-radius:50%;border:28px solid transparent;box-shadow:0 0 0 14px #ffaabe47,0 0 0 28px #ffd6aa47,0 0 0 42px #fff6aa47,0 0 0 56px #b9ebc847,0 0 0 70px #b4d7ff47;opacity:.8}.scene-little .cloud{position:absolute;width:150px;opacity:.9;filter:drop-shadow(0 6px 10px rgba(130,170,220,.25));animation:cloud 60s linear infinite}.scene-little .c1{top:9%;left:-200px}.scene-little .c2{top:26%;left:-200px;width:100px;animation-duration:80s;animation-delay:-30s;opacity:.75}.scene-little .c3{top:58%;left:-200px;width:180px;animation-duration:95s;animation-delay:-55s;opacity:.7}.scene-little .c4{top:80%;left:-200px;width:120px;animation-duration:70s;animation-delay:-12s;opacity:.65}@keyframes cloud{to{transform:translate(calc(100vw + 400px))}}.scene-little .float{position:absolute;bottom:-40px;left:var(--x);font-size:var(--s);opacity:0;animation:float var(--t) linear var(--d) infinite}.scene-little .g0{color:#f6a9c5}.scene-little .g1{color:#ffd27a}.scene-little .g2{color:#a9cdf6}@keyframes float{0%{opacity:0;transform:translate(0) rotate(0)}10%{opacity:.8}90%{opacity:.7}to{opacity:0;transform:translate(var(--dx),-108vh) rotate(25deg)}}:root[data-theme=little] .card,:root[data-theme=little] .modal{position:relative;background:#ffffffe0;border:3px solid #fff;border-radius:30px;box-shadow:0 0 0 2px #f6c3d6,0 12px 30px #d782aa38}:root[data-theme=little] .card:before,:root[data-theme=little] .modal:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:2px dashed #f6c3d6;border-radius:24px;pointer-events:none}:root[data-theme=little] .card>*,:root[data-theme=little] .modal>*{position:relative;z-index:1}:root[data-theme=little] .btn{border-radius:999px;font-weight:800;border:0}:root[data-theme=little] .btn.primary{background:linear-gradient(180deg,#f9b4cd,#ee8db1);color:#fff;text-shadow:0 1px 0 rgba(160,60,100,.35);box-shadow:0 5px #d56a96,0 10px 16px #d56a964d;transition:transform .1s,box-shadow .1s}:root[data-theme=little] .btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#fbc0d5,#f198ba);transform:translateY(-1px)}:root[data-theme=little] .btn.primary:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #d56a96}:root[data-theme=little] .btn.secondary{background:#e9f3ff;color:#4a6f9c;box-shadow:0 4px #bcd5f0}:root[data-theme=little] .btn.ghost{background:#fff;color:#8a6a79;border:2px dashed #f2c6d8}:root[data-theme=little] input,:root[data-theme=little] textarea,:root[data-theme=little] select{background:#fff;border:2px solid #f2c6d8;border-radius:16px;color:#59404c}:root[data-theme=little] .avatar{border:5px solid #fff;background:#ffe4ee;color:#e58bb0;box-shadow:0 0 0 3px #f6b3cb,0 10px 20px #d56a964d;animation:wobble 5s ease-in-out infinite}:root[data-theme=little] .avatar:before{content:"🎀";position:absolute;top:-17px;left:50%;transform:translate(-50%) rotate(-8deg);font-size:24px;filter:drop-shadow(0 2px 2px rgba(150,60,100,.25))}@keyframes wobble{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}:root[data-theme=little] .heart.on{color:#f48fb1;animation:beat 1.8s ease-in-out infinite}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}}:root[data-theme=little] .task{border-bottom:2px dotted #f5cfdd}:root[data-theme=little] .check{border:3px solid #f6a9c5;background:#fff;width:32px;height:32px}:root[data-theme=little] .task.done .check{background:#f9b4cd;border-color:#ee8db1;color:#fff;animation:pop .35s}@keyframes pop{50%{transform:scale(1.35) rotate(8deg)}}:root[data-theme=little] .progress{height:14px;border-radius:99px;background:#ffe4ee;border:2px solid #fff;box-shadow:inset 0 2px 4px #d56a9633}:root[data-theme=little] .progress>div{background:repeating-linear-gradient(45deg,#f9b4cd 0,#f9b4cd 10px,#fcd0e0 10px,#fcd0e0 20px);background-size:28.3px 28.3px;animation:tape2 1.4s linear infinite;border-radius:99px;box-shadow:none}:root[data-theme=little] .countdown{font-family:"Baloo 2",sans-serif;color:#e0709a;text-shadow:0 3px 0 #fff,0 6px 14px rgba(224,112,154,.3)}:root[data-theme=little] .role-chip{background:#fff;border-radius:99px;color:#d86d95;border:2px solid #f6c3d6}:root[data-theme=little] .footnote,:root[data-theme=little] .muted{color:#987b89}:root[data-theme=little] .topbar:after{background:repeating-linear-gradient(90deg,#f6c3d6 0 8px,transparent 8px 16px);height:3px;border-radius:3px;opacity:.8}@media(max-width:600px){.scene-midnight .moon{width:56px;height:56px;top:78px}.scene-gothic .arch{display:none}.scene-gothic .rose{width:340px;height:340px;margin-left:-170px}:root[data-theme=gothic] .card{border-radius:30px 30px 4px 4px}}@media(prefers-reduced-motion:reduce){.scene *,.scene,:root[data-theme] .avatar,:root[data-theme] .avatar:before,:root[data-theme] .avatar:after,:root[data-theme] .heart,:root[data-theme] .btn,:root[data-theme] .countdown,:root[data-theme] .progress>div,:root[data-theme] .check{animation:none!important}}:root[data-theme=midnight] .card h2,:root[data-theme=midnight] .page-title h2,:root[data-theme=midnight] .modal h2,:root[data-theme=midnight] .intro h1{color:#dbe8ff}:root[data-theme=midnight] .card h3{color:#bcd2f2}:root[data-theme=bdsm] .card h2,:root[data-theme=bdsm] .page-title h2,:root[data-theme=bdsm] .modal h2,:root[data-theme=bdsm] .intro h1{color:#f3d3bf}:root[data-theme=bdsm] .card h3{color:#e8c3d0}:root[data-theme=gothic] .card h2,:root[data-theme=gothic] .page-title h2,:root[data-theme=gothic] .modal h2,:root[data-theme=gothic] .intro h1,:root[data-theme=gothic] .card h3,:root[data-theme=gothic] .terms-head h1{color:#fff}:root[data-theme=dangerous-red] .card h2,:root[data-theme=dangerous-red] .page-title h2,:root[data-theme=dangerous-red] .modal h2,:root[data-theme=dangerous-red] .intro h1{color:#ffe1e5}:root[data-theme=dangerous-red] .card h3{color:#ff9aa8}:root[data-theme=little] .card h2,:root[data-theme=little] .page-title h2,:root[data-theme=little] .modal h2,:root[data-theme=little] .intro h1,:root[data-theme=little] .terms-head h1{color:#c9608c}:root[data-theme=little] .card h3{color:#8a5570}:root[data-theme=little] .task-title,:root[data-theme=little] .field,:root[data-theme=little] .checkline,:root[data-theme=little] .terms-list,:root[data-theme=little] .intro p{color:#59404c}:root[data-theme=little] .terms-list strong{color:#3f2a35}:root[data-theme=little] .btn.primary:disabled{opacity:.55}.scene-midnight .moon{top:auto;bottom:20vh;right:max(24px,5vw);width:70px;height:70px}:root[data-theme=gothic] .avatar-badge{background:#f2f2f2;color:#050505;border-color:#050505}:root[data-theme=midnight] .avatar-badge{background:#6f9ad6;color:#06101f}@media(max-width:600px){.scene-midnight .moon{top:46vh;right:12px;width:54px;height:54px}}.mood-mini-picker{background:var(--card)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}:root[data-theme=midnight]{font-family:Manrope,system-ui,sans-serif}:root[data-theme=bdsm]{font-family:Montserrat,system-ui,sans-serif}:root[data-theme=midnight] .countdown{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:.02em}:root[data-theme=midnight] .game-result,:root[data-theme=midnight] .result-title{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600}:root[data-theme=bdsm] .game-result,:root[data-theme=bdsm] .result-title{font-family:Cinzel,serif;font-weight:700}:root[data-theme=gothic] .game-result,:root[data-theme=gothic] .result-title{font-family:Cinzel,serif;font-weight:700;letter-spacing:.05em}:root[data-theme=dangerous-red] .game-result,:root[data-theme=dangerous-red] .result-title{font-family:Rajdhani,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em}:root[data-theme=little] .game-result,:root[data-theme=little] .result-title{font-family:"Baloo 2",sans-serif;font-weight:700}:root[data-theme=midnight] .brand-mark,:root[data-theme=bdsm] .brand-mark,:root[data-theme=little] .brand-mark{font-family:inherit}:root[data-theme=gothic] .brand-mark{font-family:UnifrakturCook,serif}:root[data-theme=dangerous-red] .brand-mark{font-family:Rajdhani,sans-serif;font-weight:700}:root[data-theme] .sticky-note-content,:root[data-theme] .sticky-note-content textarea{font-family:Caveat,cursive}.rating-widget{--r-on:linear-gradient(180deg,#f4dc93,#c9962f);--r-off:color-mix(in srgb,var(--muted) 20%,transparent);--r-glow:rgba(224,181,87,.55);--r-star:#f1c94f;--r-radius:6px;--r-gap:4px;--r-h:16px}.rating-track{position:relative;display:flex;gap:var(--r-gap);height:var(--r-h);overflow:visible;background:none;box-shadow:none;border-radius:0;padding:0}.rating-track>i{flex:1;border-radius:var(--r-radius);background:var(--r-off);box-shadow:inset 0 1px 2px #00000040;transition:background .35s,box-shadow .35s,transform .35s}.rating-track>i.on{background:var(--r-on);box-shadow:0 0 10px var(--r-glow),inset 0 1px #fff6;transform:scaleY(1.12)}.rating-knob{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;display:grid;place-items:center;border-radius:50%;background:var(--card);color:var(--r-star);border:2px solid var(--r-star);box-shadow:0 0 14px var(--r-glow),0 4px 8px #00000059;transition:left .6s cubic-bezier(.18,.85,.25,1);z-index:2}.rating-labels{font-size:.8rem;letter-spacing:.08em}.rating-caption{margin-top:12px;font-size:.78rem;letter-spacing:.1em;color:var(--muted)}.rating-caption b{font-size:1.05rem;color:var(--text)}.rating-controls button{border:1px solid color-mix(in srgb,var(--muted) 35%,transparent);background:color-mix(in srgb,var(--card) 70%,transparent)}.rating-star{color:var(--r-star)}.rating-pop{top:6px;z-index:3;font-size:1rem;animation:ratingFly 1.25s cubic-bezier(.3,.9,.3,1) both}@keyframes ratingFly{0%{opacity:0;transform:translate(-50%,10px) scale(.4)}22%{opacity:1;transform:translate(-50%,-46px) scale(1.4)}58%{opacity:1;transform:translate(-50%,-46px) scale(1.4)}to{opacity:0;transform:translate(-50%,16px) scale(.25)}}.rating-star.gain{animation:ratingLand 1.25s ease-out both}.rating-star.loss{animation:ratingLandLoss 1.25s ease-out both}@keyframes ratingLand{0%,58%{transform:scale(1) rotate(0)}74%{transform:scale(1.65) rotate(14deg);filter:drop-shadow(0 0 14px var(--r-star))}to{transform:scale(1) rotate(0)}}@keyframes ratingLandLoss{0%,58%{transform:scale(1)}74%{transform:scale(.7) rotate(-12deg);opacity:.65}to{transform:scale(1);opacity:1}}:root[data-theme=midnight] .rating-widget{--r-on:linear-gradient(180deg,#d7e8ff,#6f9ad6);--r-glow:rgba(130,180,255,.7);--r-star:#bcd6ff;--r-radius:99px;--r-gap:5px;--r-h:12px}:root[data-theme=midnight] .rating-track>i.on{animation:twinkleSeg 3s ease-in-out infinite}@keyframes twinkleSeg{50%{filter:brightness(1.35)}}:root[data-theme=bdsm] .rating-widget{--r-on:linear-gradient(180deg,#e03a6d,#8e1c43);--r-glow:rgba(230,50,100,.6);--r-star:#d8d8e0;--r-radius:2px;--r-gap:3px;--r-h:18px}:root[data-theme=bdsm] .rating-track{padding:4px;background:#120a0f;border:1.5px dashed rgba(212,155,121,.5);border-radius:5px;height:calc(var(--r-h) + 8px);box-sizing:border-box}:root[data-theme=bdsm] .rating-track>i{box-shadow:none}:root[data-theme=bdsm] .rating-knob{border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0f0f6,#7c7c88);color:#3a1020;border-color:#b8b8c4}:root[data-theme=gothic] .rating-widget{--r-on:#fff;--r-off:#262626;--r-glow:rgba(255,255,255,.6);--r-star:#fff;--r-radius:0;--r-gap:6px;--r-h:8px}:root[data-theme=gothic] .rating-track>i{transform:skew(-20deg)}:root[data-theme=gothic] .rating-track>i.on{transform:skew(-20deg) scaleY(1.2)}:root[data-theme=gothic] .rating-knob{border-radius:2px;transform:rotate(45deg);background:#050505}:root[data-theme=gothic] .rating-knob svg{transform:rotate(-45deg)}:root[data-theme=dangerous-red] .rating-widget{--r-on:repeating-linear-gradient(-45deg,#ff2a47 0 5px,#a00d25 5px 10px);--r-off:#2a0e14;--r-glow:rgba(255,40,70,.7);--r-star:#ff5068;--r-radius:0;--r-gap:3px;--r-h:14px}:root[data-theme=dangerous-red] .rating-track>i{clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%);box-shadow:none}:root[data-theme=dangerous-red] .rating-track>i.on{filter:drop-shadow(0 0 5px #ff2a47);transform:none}:root[data-theme=dangerous-red] .rating-knob{border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:0;background:#ff2a47;color:#fff;width:30px;height:30px;margin:-15px 0 0 -15px}:root[data-theme=little] .rating-widget{--r-on:linear-gradient(180deg,#fcc3d8,#ee8db1);--r-off:#ffe3ee;--r-glow:rgba(238,141,177,.45);--r-star:#f3b84b;--r-radius:99px;--r-gap:4px;--r-h:18px}:root[data-theme=little] .rating-track>i{box-shadow:inset 0 2px 3px #d56a9633}:root[data-theme=little] .rating-track>i.on{box-shadow:0 3px #d56a96}:root[data-theme=little] .rating-knob{background:#fff;border-color:#f3b84b;color:#f3b84b;animation:wobble 3s ease-in-out infinite}:root[data-theme=little] .rating-labels span:last-child{color:#e0709a}:root[data-theme=little] .rating-controls button{background:#fff;border:2px solid #f6c3d6;color:#d86d95}@media(prefers-reduced-motion:reduce){.rating-track>i.on,.rating-knob,.rating-pop,.rating-star{animation:none!important}}
