@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Nunito:wght@300;400;500;600;700&display=swap";#player-app{background:var(--color-bg);width:100%;height:100vh;position:relative;overflow:hidden}.site-intro{z-index:10000;isolation:isolate;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(at 50% 38%,#fbf8ee 0%,#f3eddc 58%,#e7dfcd 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.site-intro.active{opacity:1;visibility:visible;pointer-events:auto;animation:2.8s cubic-bezier(.22,1,.36,1) both siteIntroExit}.site-intro:before,.site-intro:after{content:"";pointer-events:none;position:absolute;inset:0}.site-intro:before{z-index:-1;background:radial-gradient(#0000 52%,#5b533a1a 100%),repeating-linear-gradient(101deg,#0000 0 13%,#5e594306 13.1%,#0000 13.3% 29%)}.site-intro:after{z-index:2;opacity:.12;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.48'/%3E%3C/svg%3E")}.site-intro-grain{opacity:.38;background:repeating-linear-gradient(0deg,#0000 0 5px,#6d634906 5px 6px);position:absolute;inset:0}.site-intro-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:18px;padding:32px;animation:2.8s cubic-bezier(.16,1,.3,1) both introTitleReveal;display:flex;position:relative}.site-intro-mark{color:#5c7a5e;font-family:var(--font-display);letter-spacing:2px;border:1px solid #5c7a5e6b;padding:7px 12px;font-size:11px;transform:rotate(-1.5deg)}.site-intro-content h1{color:#344333;font-family:var(--font-display);text-shadow:0 3px 18px #4d553e1f;margin:0;font-size:88px;font-weight:400;line-height:1}.site-intro-rule{transform-origin:50%;background:#8b9a70;width:84px;height:2px;animation:.7s cubic-bezier(.16,1,.3,1) .45s both introRuleDraw;box-shadow:0 0 16px #5c7a5e2e}.site-intro-content p{color:#66725b;max-width:460px;font-family:var(--carnet-font-body,"Nunito", sans-serif);margin:0;font-size:16px;line-height:1.6}@media (width<=480px){.site-intro-content h1{font-size:52px}.site-intro-content p{font-size:14px}}@keyframes introTitleReveal{0%,12%{opacity:0;filter:blur(6px);transform:translateY(16px)scale(.98)}32%,76%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(3px);transform:translateY(-6px)}}@keyframes introRuleDraw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes siteIntroExit{0%,76%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.site-intro.active,.site-intro-content,.site-intro-rule{animation-duration:.01ms}}@media (width<=480px){.site-intro-content p{max-width:300px}}.screen{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--transition-slow);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.screen.active{opacity:1;pointer-events:all}#screen-hand{background:var(--color-bg)}.bg-image{background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;transition:opacity 1.2s;position:absolute;top:0;left:0}.bg-normal{background-image:url(/assets/bg-normal.jpg)}.bg-fire{cursor:pointer;background-image:url(/assets/bg-fire.jpg)}.hand-fire:active{transform:scale(.98)}.hand-transition-overlay{background:var(--color-bg);opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .6s;position:absolute;top:0;left:0}.hand-transition-overlay.active{opacity:1}.status-dot{background:var(--color-text-muted);width:6px;height:6px;transition:background var(--transition-medium), box-shadow var(--transition-medium);border-radius:50%;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.status-dot.active{background:#842;animation:3s ease-in-out infinite pulse;box-shadow:0 0 8px #88442280}#screen-enigma{background:var(--color-bg);padding:40px;overflow-y:auto}.enigma-wrapper{flex-direction:column;gap:32px;width:100%;max-width:800px;animation:.8s .3s both fadeInUp;display:flex}.enigma-content{align-items:flex-start;gap:32px;display:flex}.enigma-text-section{flex:1;min-width:0}.enigma-title{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--color-text-muted);opacity:0;margin-bottom:24px;font-size:14px;animation:.6s .6s forwards fadeIn}.enigma-body{font-family:var(--font-body);color:var(--color-white);white-space:pre-wrap;opacity:0;font-size:18px;font-weight:300;line-height:1.8;animation:.6s .9s forwards fadeIn}.enigma-image-section{opacity:0;flex-shrink:0;width:100%;max-width:500px;animation:.8s 1.1s forwards fadeIn}.enigma-image{object-fit:contain;filter:grayscale(.1)brightness(.9);width:100%;height:auto;max-height:60vh;transition:filter var(--transition-medium);border-radius:2px}.enigma-image:hover{filter:grayscale(0)brightness()}.enigma-answer-form{border-top:1px solid var(--color-border);opacity:0;align-items:center;gap:12px;padding-top:20px;animation:.6s 1.3s forwards fadeInUp;display:flex}.enigma-input{background:var(--color-bg-input);border:1px solid var(--color-border);color:var(--color-white);font-family:var(--font-body);transition:border-color var(--transition-fast);letter-spacing:1px;border-radius:2px;flex:1;padding:14px 18px;font-size:16px;font-weight:300}.enigma-input::placeholder{color:var(--color-text-muted);font-style:italic}.enigma-input:focus{border-color:var(--color-text-dim);outline:none}.enigma-submit{border:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border-radius:2px;padding:15px 28px;font-size:12px}.enigma-submit:hover{border-color:var(--color-text);color:var(--color-white)}.enigma-submit:active{transform:scale(.97)}.enigma-submit:disabled{opacity:.3;cursor:not-allowed}.back-button{color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;letter-spacing:2px;text-transform:uppercase;transition:color var(--transition-fast);opacity:0;background:0 0;border:none;padding:8px 12px;font-size:13px;animation:.4s .5s forwards fadeIn;position:absolute;top:20px;left:20px}.back-button:hover{color:var(--color-text)}#screen-lockout{background:var(--color-bg);flex-direction:column;gap:16px}.lockout-container{text-align:center;animation:.6s both fadeIn}.lockout-icon{border:2px solid var(--color-error);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 24px;animation:3s ease-in-out infinite pulse;display:flex}.lockout-icon svg{width:28px;height:28px;stroke:var(--color-error);fill:none;stroke-width:2px}.lockout-title{font-family:var(--font-display);letter-spacing:6px;text-transform:uppercase;color:var(--color-error);margin-bottom:12px;font-size:16px}.lockout-message{color:var(--color-text-dim);margin-bottom:32px;font-size:14px;font-weight:300}.lockout-timer{font-family:var(--font-display);color:var(--color-error);letter-spacing:8px;font-size:48px;animation:4s ease-in-out infinite countdownPulse}.lockout-label{letter-spacing:4px;text-transform:uppercase;color:var(--color-text-muted);margin-top:12px;font-size:11px}#screen-success{background:var(--color-bg);flex-direction:column;gap:24px}.success-container{text-align:center;max-width:600px;padding:40px;animation:1s both fadeInUp}.success-message{font-family:var(--font-display);color:var(--color-white);opacity:0;margin-bottom:48px;font-size:22px;line-height:1.8;animation:1.2s .5s forwards fadeIn}.success-continue{border:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);opacity:0;background:0 0;border-radius:2px;padding:14px 36px;font-size:11px;animation:.6s 2s forwards fadeIn}.success-continue:hover{border-color:var(--color-text);color:var(--color-white)}.connection-status{background:var(--color-success);opacity:.4;width:8px;height:8px;transition:all var(--transition-medium);z-index:100;border-radius:50%;position:fixed;bottom:12px;right:12px}.connection-status.disconnected{background:var(--color-error);opacity:.8;animation:1.5s ease-in-out infinite pulse}.player-id-indicator{letter-spacing:2px;color:var(--color-text-muted);opacity:.3;font-family:monospace;font-size:9px;position:fixed;bottom:12px;left:12px}@media (width<=768px){#screen-enigma{padding:24px}.enigma-content{flex-direction:column}.enigma-image-section{width:100%;max-width:300px}.enigma-body{font-size:16px}.enigma-answer-form{flex-direction:column}.enigma-submit{width:100%}.lockout-timer{font-size:36px}}@media (width<=480px){.enigma-body{font-size:15px}.success-message{font-size:18px}}@media (height<=500px){#screen-enigma{padding:16px 32px}.enigma-wrapper{gap:16px}.enigma-content{flex-direction:row}.enigma-image-section{width:200px}.lockout-timer{font-size:32px}}.chat-bubble{cursor:pointer;z-index:1000;background:#222;border:1px solid #333;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #00000080}.chat-bubble:hover{background:#2c2c2c;border-color:#444;transform:scale(1.08)}.chat-bubble:active{transform:scale(.95)}.chat-bubble.hidden{opacity:0;pointer-events:none;transform:scale(0)}.chat-bubble svg{color:#aaa;width:22px;height:22px}.chat-badge{color:#fff;min-width:20px;height:20px;font-size:11px;font-weight:600;font-family:var(--font-body);background:#c22;border-radius:10px;justify-content:center;align-items:center;padding:0 5px;animation:2s ease-in-out infinite pulse;display:flex;position:absolute;top:-4px;right:-4px}.chat-panel{z-index:1001;transform-origin:100% 100%;opacity:0;pointer-events:none;background:#111;border:1px solid #222;border-radius:12px;flex-direction:column;width:340px;height:460px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s;display:flex;position:fixed;bottom:24px;right:24px;transform:scale(0)translateY(20px);box-shadow:0 8px 40px #0009}.chat-panel.open{opacity:1;pointer-events:all;transform:scale(1)translateY(0)}.chat-panel-header{border-bottom:1px solid #222;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.chat-panel-title{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:#aaa;font-size:13px}.chat-panel-close{color:#666;cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;line-height:1;transition:color .2s}.chat-panel-close:hover{color:#e0e0e0}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:#444;margin:auto 0;font-size:13px;font-style:italic}.chat-msg{flex-direction:column;gap:3px;max-width:80%;display:flex}.chat-msg-player{align-self:flex-end}.chat-msg-admin{align-self:flex-start}.chat-msg-header{color:#888;margin-bottom:-2px;padding:0 4px;font-size:10px}.chat-msg-player .chat-msg-header{text-align:right}.chat-msg-content{word-wrap:break-word;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:400;line-height:1.5}.chat-msg-player .chat-msg-content{color:#e0e0e0;background:#222;border-bottom-right-radius:4px}.chat-msg-admin .chat-msg-content{color:#fff;background:#842;border-bottom-left-radius:4px}.chat-msg-time{color:#444;padding:0 4px;font-size:10px}.chat-msg-player .chat-msg-time{text-align:right}.chat-input-area{border-top:1px solid #222;flex-shrink:0;gap:8px;padding:12px 14px;display:flex}.chat-input{color:#e0e0e0;font-family:var(--font-body);background:#1a1a1a;border:1px solid #222;border-radius:8px;flex:1;padding:10px 14px;font-size:14px;transition:border-color .2s}.chat-input::placeholder{color:#444}.chat-input:focus{border-color:#444;outline:none}.chat-send-btn{cursor:pointer;background:#842;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.chat-send-btn:hover{background:#aa552a}.chat-send-btn:active{transform:scale(.92)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn svg{color:#fff;width:16px;height:16px}@media (width<=480px){.chat-panel{width:calc(100% - 32px);height:400px;bottom:16px;right:16px}.chat-bubble{width:46px;height:46px;bottom:16px;right:16px}}:root{--carnet-bg:#e6dec8;--carnet-bg-warm:#d8ceb3;--carnet-bg-card:#eee6d3;--carnet-bg-card-hover:#f5eedf;--carnet-text:#2c2c2c;--carnet-text-secondary:#6b6358;--carnet-text-muted:#9b9384;--carnet-accent:#5c7a5e;--carnet-accent-light:#7d9e7f;--carnet-accent-bg:#e8f0e8;--carnet-accent-hover:#4a6a4c;--carnet-border:#ddd5c8;--carnet-border-light:#e8e2d6;--carnet-shadow:#2d231414;--carnet-shadow-hover:#2d231426;--carnet-error:#c75050;--carnet-warning:#c49c4b;--carnet-info:#5a7fa5;--carnet-radius:16px;--carnet-radius-sm:10px;--carnet-radius-xs:6px;--carnet-font-display:"Playfair Display", Georgia, serif;--carnet-font-body:"Nunito", -apple-system, sans-serif}#carnet-app{background:var(--carnet-bg);width:100%;height:100dvh;min-height:100vh;font-family:var(--carnet-font-body);color:var(--carnet-text);display:none;position:relative;overflow:hidden auto}#carnet-app.active{display:block}#carnet-app ::-webkit-scrollbar{width:6px}#carnet-app ::-webkit-scrollbar-track{background:0 0}#carnet-app ::-webkit-scrollbar-thumb{background:var(--carnet-border);border-radius:3px}#carnet-app ::-webkit-scrollbar-thumb:hover{background:var(--carnet-text-muted)}.carnet-bg-decor{pointer-events:none;z-index:0;opacity:.35;background:radial-gradient(at 80% 20%,#5c7a5e26 0%,#0000 60%),radial-gradient(at 60% 10%,#c49c4b14 0%,#0000 50%);width:400px;height:300px;position:fixed;top:0;right:0}.carnet-leaf-1,.carnet-leaf-2,.carnet-leaf-3{pointer-events:none;z-index:0;opacity:.12;position:fixed}.carnet-leaf-1{background:linear-gradient(135deg,#7d9e7f 0%,#0000 70%);border-radius:0 50% 50% 0;width:120px;height:60px;top:20px;right:80px;transform:rotate(-25deg)}.carnet-leaf-2{background:linear-gradient(135deg,#8aab8c 0%,#0000 70%);border-radius:0 50% 50% 0;width:80px;height:40px;top:60px;right:40px;transform:rotate(-40deg)}.carnet-leaf-3{background:linear-gradient(45deg,#7d9e7f 0%,#0000 70%);border-radius:50% 0 0 50%;width:60px;height:30px;top:10px;left:20px;transform:rotate(20deg)}.carnet-header{z-index:1;padding:32px 40px 0;position:relative}.carnet-header-content{align-items:flex-start;display:flex}.carnet-title{font-family:var(--carnet-font-display);color:var(--carnet-text);letter-spacing:-.5px;font-size:2rem;font-weight:700;line-height:1.1}.carnet-subtitle{color:var(--carnet-text-muted);margin-top:4px;font-size:.95rem;font-weight:400}.carnet-tabs{z-index:1;flex-wrap:wrap;gap:4px;padding:20px 40px 0;display:flex;position:relative}.carnet-tab{color:var(--carnet-text-secondary);font-family:var(--carnet-font-body);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:24px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .25s;display:inline-flex}.carnet-tab:hover{background:var(--carnet-bg-warm);color:var(--carnet-text)}.carnet-tab.active{background:var(--carnet-accent);color:#fff;border-color:var(--carnet-accent);box-shadow:0 2px 8px #5c7a5e40}.carnet-content{z-index:1;padding:24px 40px 60px;position:relative}.carnet-tab-panel{animation:.35s carnetFadeIn;display:none}.carnet-tab-panel.active{display:block}.carnet-drawing-panel{max-width:1200px;margin:0 auto}.carnet-drawing-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.carnet-drawing-status{color:var(--carnet-accent-hover);text-align:right;font-size:.82rem}.carnet-drawing-toolbar{border-top:1px solid var(--carnet-border);border-bottom:1px solid var(--carnet-border);flex-wrap:wrap;align-items:center;gap:14px 22px;padding:14px 0;display:flex}.carnet-drawing-colors,.carnet-drawing-actions{align-items:center;gap:8px;display:flex}.carnet-drawing-text-menu{position:relative}.carnet-drawing-text-menu-panel{z-index:5;border:1px solid var(--carnet-border);border-radius:var(--carnet-radius-xs);background:#fff;flex-direction:column;min-width:220px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px #2d231429}.carnet-drawing-text-menu-panel[hidden]{display:none}.carnet-drawing-text-menu-item{min-height:38px;color:var(--carnet-text-secondary);font-family:var(--carnet-font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:8px 10px;font-size:.84rem}.carnet-drawing-text-menu-item:hover:not(:disabled){background:var(--carnet-accent-bg);color:var(--carnet-accent-hover)}.carnet-drawing-text-menu-item:disabled{color:var(--carnet-text-muted);cursor:default}.carnet-drawing-swatch{background:var(--swatch-color);width:30px;height:30px;box-shadow:0 0 0 1px var(--carnet-border);cursor:pointer;border:3px solid #fff;border-radius:50%;flex:none}.carnet-drawing-swatch.selected{box-shadow:0 0 0 2px var(--carnet-accent)}.carnet-drawing-size{color:var(--carnet-text-secondary);align-items:center;gap:8px;font-size:.82rem;display:flex}.carnet-drawing-size input{width:110px;accent-color:var(--carnet-accent)}.carnet-drawing-size output{min-width:34px;color:var(--carnet-text);font-variant-numeric:tabular-nums}.carnet-drawing-tool,.carnet-drawing-clear{border:1px solid var(--carnet-border);border-radius:var(--carnet-radius-xs);min-height:38px;color:var(--carnet-text-secondary);font-family:var(--carnet-font-body);cursor:pointer;background:0 0;padding:8px 12px;font-size:.84rem;transition:background .2s,border-color .2s,color .2s}.carnet-drawing-tool:hover:not(:disabled),.carnet-drawing-tool.selected{border-color:var(--carnet-accent);background:var(--carnet-accent-bg);color:var(--carnet-accent-hover)}.carnet-drawing-tool:disabled{opacity:.45;cursor:default}.carnet-drawing-clear{color:var(--carnet-error);border-color:#c7505059}.carnet-drawing-clear:hover{background:#fdf0f0}.carnet-drawing-board{border-radius:var(--carnet-radius-xs);background:#fff;border:1px solid #d8d7cb;width:100%;height:min(50vh,560px);min-height:320px;margin-top:18px;position:relative;overflow:hidden;box-shadow:0 8px 24px #2d231414}.carnet-drawing-board canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.carnet-drawing-board canvas.text-mode{cursor:text}.carnet-drawing-text-editor{z-index:2;border:1px solid var(--carnet-accent-light);border-radius:var(--carnet-radius-xs);background:#fff;width:min(280px,100% - 16px);padding:8px;position:absolute;box-shadow:0 8px 24px #2d23142e}.carnet-drawing-text-editor textarea{resize:both;border:1px solid var(--carnet-border);width:100%;min-height:68px;color:var(--carnet-text);font:400 .9rem/1.45 var(--carnet-font-body);background:#fff;border-radius:3px;padding:8px}.carnet-drawing-text-editor textarea:focus{border-color:var(--carnet-accent);outline:2px solid #5c7a5e38}.carnet-drawing-text-editor textarea::placeholder{color:var(--carnet-text-muted)}.carnet-drawing-text-actions{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.carnet-drawing-text-actions .carnet-drawing-tool{min-height:30px;padding:5px 9px;font-size:.78rem}@keyframes carnetFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.carnet-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.carnet-section-title{font-family:var(--carnet-font-display);color:var(--carnet-text);font-size:1.75rem;font-weight:700;line-height:1.2}.carnet-section-subtitle{color:var(--carnet-text-muted);margin-top:4px;font-size:.9rem;font-weight:400}.carnet-add-btn{background:var(--carnet-accent);color:#fff;border-radius:var(--carnet-radius);font-family:var(--carnet-font-body);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:600;transition:all .25s;display:inline-flex;box-shadow:0 2px 8px #5c7a5e33}.carnet-add-btn:hover{background:var(--carnet-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #5c7a5e4d}.carnet-add-btn:active{transform:translateY(0)}.carnet-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.carnet-person-card{background:var(--carnet-bg-card);border:1px solid var(--carnet-border-light);border-radius:var(--carnet-radius);padding:24px;transition:all .3s;position:relative;overflow:hidden}.carnet-person-card:hover{background:var(--carnet-bg-card-hover);box-shadow:0 4px 20px var(--carnet-shadow-hover);transform:translateY(-2px)}.carnet-card-menu-btn{width:32px;height:32px;color:var(--carnet-text-muted);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.carnet-card-menu-btn:hover{background:var(--carnet-bg-warm);color:var(--carnet-text)}.carnet-card-menu{background:var(--carnet-bg-card);border:1px solid var(--carnet-border);border-radius:var(--carnet-radius-sm);box-shadow:0 4px 16px var(--carnet-shadow-hover);z-index:10;min-width:140px;display:none;position:absolute;top:48px;right:16px;overflow:hidden}.carnet-card-menu.open{animation:.15s carnetFadeIn;display:block}.carnet-card-menu-item{width:100%;color:var(--carnet-text);font-family:var(--carnet-font-body);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:.85rem;transition:background .15s;display:block}.carnet-card-menu-item:hover{background:var(--carnet-bg-warm)}.carnet-card-menu-item.danger{color:var(--carnet-error)}.carnet-card-menu-item.danger:hover{background:#fdf0f0}.carnet-person-top{align-items:center;gap:16px;margin-bottom:16px;display:flex}.carnet-person-avatar{object-fit:cover;background:var(--carnet-bg-warm);border:2px solid var(--carnet-border-light);border-radius:50%;flex-shrink:0;width:64px;height:64px}.carnet-person-avatar-placeholder{background:linear-gradient(135deg, var(--carnet-accent-bg) 0%, var(--carnet-bg-warm) 100%);border:2px solid var(--carnet-border-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;overflow:hidden}.carnet-person-avatar-placeholder:before{content:"";background:var(--carnet-accent-light);border-radius:50%;width:18px;height:18px;position:absolute;top:14px}.carnet-person-avatar-placeholder:after{content:"";background:var(--carnet-accent-light);border-radius:50% 50% 0 0;width:42px;height:30px;position:absolute;bottom:-9px}.carnet-person-info h3{font-family:var(--carnet-font-body);color:var(--carnet-text);margin:0;font-size:1.1rem;font-weight:700}.carnet-person-relation{color:var(--carnet-text-muted);margin-top:2px;font-size:.85rem}.carnet-person-phone{color:var(--carnet-text-secondary);align-items:center;gap:6px;margin-top:4px;font-size:.85rem;display:flex}.carnet-person-tags{flex-wrap:wrap;gap:12px;display:flex}.carnet-person-tag{background:var(--carnet-bg);border-radius:var(--carnet-radius-sm);flex:1;align-items:center;gap:6px;min-width:0;padding:8px 14px;font-size:.8rem;display:flex}.carnet-person-tag-content{flex:1;min-width:0}.carnet-person-tag-label{color:var(--carnet-accent);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:600}.carnet-person-tag-value{color:var(--carnet-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.82rem;overflow:hidden}.carnet-timeline{margin-bottom:24px;position:relative}.carnet-timeline-line{background:var(--carnet-border-light);border-radius:2px;height:4px;margin:0 40px;position:relative}.carnet-timeline-dot{background:var(--carnet-accent-light);border:3px solid var(--carnet-bg);width:14px;height:14px;box-shadow:0 0 0 2px var(--carnet-accent-light);cursor:pointer;z-index:1;border-radius:50%;transition:all .2s;position:absolute;top:50%;transform:translate(-50%,-50%)}.carnet-timeline-dot:hover,.carnet-timeline-dot.active{background:var(--carnet-accent);box-shadow:0 0 0 2px var(--carnet-accent);transform:translate(-50%,-50%)scale(1.2)}.carnet-events-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:20px;padding:8px 0 20px;display:flex;overflow-x:auto}.carnet-events-scroll::-webkit-scrollbar{height:4px}.carnet-events-scroll::-webkit-scrollbar-thumb{background:var(--carnet-border);border-radius:2px}.carnet-event-card{background:var(--carnet-bg-card);border:1px solid var(--carnet-border-light);border-radius:var(--carnet-radius);scroll-snap-align:center;flex-shrink:0;min-width:280px;max-width:320px;padding:20px;transition:all .3s;position:relative;overflow:hidden}.carnet-event-card:hover{background:var(--carnet-bg-card-hover);box-shadow:0 4px 20px var(--carnet-shadow-hover);transform:translateY(-2px)}.carnet-event-date{color:var(--carnet-text-muted);margin-bottom:8px;font-size:.8rem;font-weight:500}.carnet-event-title-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.carnet-event-marker{border:2px solid var(--carnet-accent);background:var(--carnet-accent-bg);border-radius:50%;flex:none;width:10px;height:10px}.carnet-event-title{font-family:var(--carnet-font-body);color:var(--carnet-text);font-size:1.05rem;font-weight:700;line-height:1.3}.carnet-event-desc{color:var(--carnet-text-secondary);margin-bottom:14px;font-size:.85rem;line-height:1.5}.carnet-event-emotion{align-items:center;gap:8px;display:flex}.carnet-event-emotion-icon{font-size:1rem}.carnet-event-emotion-label{color:var(--carnet-text-secondary);font-size:.82rem;font-weight:500}.carnet-intensity{align-items:center;gap:4px;margin-left:8px;display:flex}.carnet-intensity-dot{background:var(--carnet-border);border-radius:50%;width:10px;height:10px;transition:all .2s}.carnet-intensity-dot.filled{background:var(--carnet-accent)}.carnet-intensity-dot.filled.level-1{background:#7d9e7f}.carnet-intensity-dot.filled.level-2{background:#5c7a5e}.carnet-intensity-dot.filled.level-3{background:#c49c4b}.carnet-intensity-dot.filled.level-4{background:#c47a4b}.carnet-intensity-dot.filled.level-5{background:#c75050}.carnet-signal-card{background:var(--carnet-bg-card);border:1px solid var(--carnet-border-light);border-radius:var(--carnet-radius);padding:24px;transition:all .3s;position:relative;overflow:hidden}.carnet-signal-card:hover{background:var(--carnet-bg-card-hover);box-shadow:0 4px 20px var(--carnet-shadow-hover);transform:translateY(-2px)}.carnet-signal-top{align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.carnet-signal-icon{border-radius:var(--carnet-radius-sm);background:var(--carnet-accent-bg);width:44px;height:44px;color:var(--carnet-accent-hover);border:1px solid var(--carnet-border-light);flex-shrink:0;justify-content:center;align-items:center;padding:4px;font-size:.58rem;font-weight:800;display:flex}.carnet-signal-category{color:var(--carnet-accent);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.carnet-signal-title{color:var(--carnet-text);margin-top:2px;font-size:1rem;font-weight:700}.carnet-signal-reaction{color:var(--carnet-text-secondary);margin-top:2px;font-size:.85rem}.carnet-signal-bottom{align-items:center;gap:8px;margin-top:14px;display:flex}.carnet-signal-intensity-label{color:var(--carnet-text-muted);font-size:.78rem;font-weight:500}.carnet-signal-numbers{gap:6px;margin-left:4px;display:flex}.carnet-signal-number{color:var(--carnet-text-muted);font-size:.72rem;font-weight:500}.carnet-apaisant-card{background:var(--carnet-bg-card);border:1px solid var(--carnet-border-light);border-radius:var(--carnet-radius);align-items:center;gap:16px;padding:20px;transition:all .3s;display:flex;position:relative;overflow:hidden}.carnet-apaisant-card:hover{background:var(--carnet-bg-card-hover);box-shadow:0 4px 20px var(--carnet-shadow-hover);transform:translateY(-2px)}.carnet-apaisant-image{border-radius:var(--carnet-radius-sm);object-fit:cover;background:var(--carnet-bg-warm);flex-shrink:0;width:80px;height:80px}.carnet-apaisant-image-placeholder{border-radius:var(--carnet-radius-sm);background:linear-gradient(135deg, var(--carnet-accent-bg) 0%, var(--carnet-bg-warm) 100%);width:80px;height:80px;color:var(--carnet-accent-hover);text-align:center;flex-shrink:0;justify-content:center;align-items:center;padding:8px;font-size:.66rem;font-weight:700;display:flex}.carnet-apaisant-info{flex:1;min-width:0}.carnet-apaisant-category{color:var(--carnet-accent);text-transform:uppercase;letter-spacing:1px;font-size:.7rem;font-weight:700}.carnet-apaisant-title{color:var(--carnet-text);margin-top:4px;font-size:1rem;font-weight:700}.carnet-apaisant-desc{color:var(--carnet-text-secondary);margin-top:4px;font-size:.85rem;line-height:1.4}.carnet-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5000;background:#2c2c2c80;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s carnetFadeIn;display:none;position:fixed;top:0;left:0}.carnet-modal-overlay.active{display:flex}.carnet-modal{background:var(--carnet-bg-card);border:1px solid var(--carnet-border);border-radius:var(--carnet-radius);width:90%;max-width:520px;max-height:85vh;padding:32px;animation:.3s carnetSlideUp;overflow-y:auto;box-shadow:0 20px 60px #00000026}@keyframes carnetSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.carnet-modal-title{font-family:var(--carnet-font-display);color:var(--carnet-text);margin-bottom:24px;font-size:1.3rem;font-weight:700}.carnet-form-group{margin-bottom:18px}.carnet-form-label{color:var(--carnet-text-secondary);margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.carnet-form-input,.carnet-form-textarea,.carnet-form-select{background:var(--carnet-bg);border:1px solid var(--carnet-border);border-radius:var(--carnet-radius-xs);width:100%;color:var(--carnet-text);font-family:var(--carnet-font-body);padding:12px 16px;font-size:.9rem;transition:all .2s}.carnet-form-input:focus,.carnet-form-textarea:focus,.carnet-form-select:focus{border-color:var(--carnet-accent);outline:none;box-shadow:0 0 0 3px #5c7a5e1a}.carnet-form-input::placeholder,.carnet-form-textarea::placeholder{color:var(--carnet-text-muted)}.carnet-form-textarea{resize:vertical;min-height:80px;line-height:1.5}.carnet-form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b6358' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.carnet-intensity-selector{gap:8px;display:flex}.carnet-intensity-btn{border:2px solid var(--carnet-border);background:var(--carnet-bg);width:36px;height:36px;color:var(--carnet-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.carnet-intensity-btn:hover{border-color:var(--carnet-accent-light);color:var(--carnet-accent)}.carnet-intensity-btn.selected{background:var(--carnet-accent);border-color:var(--carnet-accent);color:#fff}.carnet-form-image-upload{border:2px dashed var(--carnet-border);border-radius:var(--carnet-radius-sm);text-align:center;cursor:pointer;background:var(--carnet-bg);padding:20px;transition:all .2s}.carnet-form-image-upload:hover{border-color:var(--carnet-accent-light);background:var(--carnet-accent-bg)}.carnet-form-image-upload.has-image{border-style:solid;padding:12px}.carnet-form-image-upload .upload-label{color:var(--carnet-text-muted);font-size:.85rem}.carnet-form-image-upload .upload-hint{color:var(--carnet-text-muted);margin-top:4px;font-size:.75rem}.carnet-form-image-preview{border-radius:var(--carnet-radius-xs);max-width:100%;max-height:160px;margin-bottom:8px}.carnet-form-image-remove{border:1px solid var(--carnet-error);color:var(--carnet-error);border-radius:var(--carnet-radius-xs);cursor:pointer;background:0 0;padding:4px 12px;font-size:.78rem;transition:all .2s;display:inline-block}.carnet-form-image-remove:hover{background:#fdf0f0}.carnet-form-actions{border-top:1px solid var(--carnet-border-light);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:18px;display:flex}.carnet-btn{border-radius:var(--carnet-radius-xs);font-family:var(--carnet-font-body);cursor:pointer;border:none;padding:10px 24px;font-size:.88rem;font-weight:600;transition:all .2s}.carnet-btn-primary{background:var(--carnet-accent);color:#fff}.carnet-btn-primary:hover{background:var(--carnet-accent-hover)}.carnet-btn-secondary{color:var(--carnet-text-secondary);border:1px solid var(--carnet-border);background:0 0}.carnet-btn-secondary:hover{background:var(--carnet-bg-warm);border-color:var(--carnet-text-muted)}.carnet-btn-danger{color:var(--carnet-error);border:1px solid var(--carnet-error);background:0 0}.carnet-btn-danger:hover{background:#fdf0f0}.carnet-empty{text-align:center;color:var(--carnet-text-muted);padding:60px 20px}.carnet-empty-text{color:var(--carnet-text-secondary);margin-bottom:8px;font-size:1rem}.carnet-empty-hint{font-size:.85rem}.carnet-note-bar{background:var(--carnet-bg-card);border:1px solid var(--carnet-border-light);border-radius:var(--carnet-radius-sm);color:var(--carnet-text-muted);align-items:center;gap:10px;margin-top:24px;padding:14px 20px;font-size:.88rem;font-style:italic;display:flex}.carnet-toast-container{z-index:10000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.carnet-toast{border-radius:var(--carnet-radius-xs);border:1px solid var(--carnet-border);background:var(--carnet-bg-card);color:var(--carnet-text);max-width:360px;box-shadow:0 4px 16px var(--carnet-shadow);font-size:.85rem;font-family:var(--carnet-font-body);padding:12px 20px;animation:.3s both carnetFadeIn}.carnet-toast.success{border-color:var(--carnet-accent);color:var(--carnet-accent)}.carnet-toast.error{border-color:var(--carnet-error);color:var(--carnet-error)}.carnet-confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:6000;background:#2c2c2c80;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.carnet-confirm-overlay.active{display:flex}.carnet-confirm-box{background:var(--carnet-bg-card);border:1px solid var(--carnet-border);border-radius:var(--carnet-radius);text-align:center;max-width:380px;padding:32px;box-shadow:0 20px 60px #00000026}.carnet-confirm-message{color:var(--carnet-text);margin-bottom:24px;font-size:.95rem;line-height:1.5}.carnet-confirm-actions{justify-content:center;gap:12px;display:flex}@media (width<=768px){.carnet-header{padding:24px 20px 0}.carnet-tabs{gap:4px;padding:16px 20px 0}.carnet-tab{padding:8px 14px;font-size:.82rem}.carnet-content{padding:20px 20px 40px}.carnet-drawing-header{flex-direction:column;align-items:flex-start;gap:8px}.carnet-drawing-status{text-align:left}.carnet-drawing-toolbar{gap:12px}.carnet-drawing-actions{flex-wrap:wrap}.carnet-drawing-board{height:min(58vh,540px);min-height:320px}.carnet-cards-grid{grid-template-columns:1fr}.carnet-section-title{font-size:1.4rem}.carnet-modal{width:95%;padding:24px}}.carnet-opening-overlay{z-index:9999;transform-origin:50%;background:radial-gradient(at 50% 42%,#ffffffc7,#0000 46%),radial-gradient(#f8f3e6 0%,#eee5d1 68%,#ded2b8 100%);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;left:0}.carnet-opening-overlay:before{content:"";pointer-events:none;background:radial-gradient(#0000 48%,#5348311f 100%);position:absolute;inset:0}.carnet-opening-overlay.fade-out{opacity:0;pointer-events:none;transform:scale(1.04)}.carnet-notebook{perspective:1500px;width:280px;height:380px;transform-style:preserve-3d;filter:drop-shadow(0 28px 32px #38312233);animation:.95s cubic-bezier(.2,.8,.2,1) both notebookAppear;position:relative}.carnet-notebook.floating{animation:4s ease-in-out infinite notebookFloat}@keyframes notebookAppear{0%{opacity:0;transform:scale(.78)translateY(38px)rotateX(9deg)rotateY(-8deg)}to{opacity:1;transform:scale(1)translateY(0)rotateX(0)rotateY(0)}}@keyframes notebookFloat{0%,to{transform:translateY(0)rotateX(0)}50%{transform:translateY(-10px)rotateX(2deg)}}.carnet-notebook-spine{z-index:3;background:linear-gradient(90deg,#58694f 0%,#a2a987 40%,#81916b 60%,#53644b 100%);border-radius:6px 0 0 6px;width:16px;height:calc(100% - 12px);position:absolute;top:6px;left:-8px;box-shadow:-3px 0 8px #433e2c2e,inset 2px 0 4px #ffffff38}.carnet-cover-back{z-index:1;background:linear-gradient(145deg,#a7ad87 0%,#8f9b74 38%,#758665 100%);border-radius:4px 16px 16px 4px;width:100%;height:100%;position:absolute;top:0;left:0;box-shadow:0 12px 28px #433e2c33,inset -2px -2px 5px #414b341f}.carnet-cover-front{z-index:5;transform-origin:0;background:linear-gradient(135deg,#b2b68a 0%,#99a578 34%,#82946c 70%,#70835f 100%);border-radius:4px 16px 16px 4px;width:100%;height:100%;transition:transform 1.05s cubic-bezier(.22,1,.36,1),box-shadow 1.05s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:4px 8px 20px #36332533,inset 0 0 42px #363e2a1a,inset 2px 2px 5px #ffffff38}.carnet-cover-front:before{content:"";pointer-events:none;border:1px solid #d5be8957;border-radius:3px 11px 11px 3px;position:absolute;inset:10px}.carnet-cover-front:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#eedcae3d,#0000);width:50%;height:100%;animation:3.2s ease-in-out .5s both shine;position:absolute;top:0;left:-100%;transform:skew(-20deg)}@keyframes shine{0%{left:-100%}65%,to{left:200%}}.carnet-cover-front.opened{transform:rotateY(-165deg);box-shadow:-8px 5px 22px #36332533,inset -2px 2px 5px #ffffff2e}.carnet-cover-emblem{transition:opacity .2s}.carnet-cover-front.opened .carnet-cover-emblem{opacity:0}.carnet-cover-texture{pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 4px,#44433006 4px 5px),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");width:100%;height:100%;position:absolute;top:0;left:0}.carnet-cover-emblem{text-align:center;width:80%;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.carnet-cover-leaf{filter:drop-shadow(0 3px 5px #31372733);margin-bottom:16px;font-size:3.5rem;animation:4s ease-in-out infinite leafSway}@keyframes leafSway{0%,to{transform:rotate(-4deg)scale(1)}50%{transform:rotate(4deg)scale(1.05)}}.carnet-cover-label{font-family:var(--carnet-font-display);color:#fffff5f5;letter-spacing:2px;text-shadow:0 2px 5px #28312138;text-transform:uppercase;font-size:1.6rem;font-weight:700}.carnet-cover-strap{z-index:6;background:linear-gradient(#71815b 0%,#9ba578 50%,#687950 100%);border-left:1px solid #0000004d;border-radius:0 8px 8px 0;width:28px;height:50px;transition:right .58s cubic-bezier(.22,1,.36,1),opacity .4s,transform .58s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;right:-14px;transform:translateY(-50%);box-shadow:3px 3px 8px #3a372733,inset -1px 0 2px #ffffff2e}.carnet-cover-strap:after{content:"";background:radial-gradient(circle,#f1dfad 0%,#ad8950 100%);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 4px #0006,inset 0 1px 2px #fffc}.carnet-cover-strap.released{opacity:0;right:-80px;transform:translateY(-50%)rotate(25deg)scale(.9)}.carnet-notebook-pages{z-index:2;width:calc(100% - 12px);height:calc(100% - 12px);transform-style:preserve-3d;position:absolute;top:6px;left:6px}.carnet-notebook-page{transform-origin:0;background:linear-gradient(135deg,#fffcf5 0%,#f5eedf 100%);border-radius:2px 12px 12px 2px;width:100%;height:100%;position:absolute;top:0;left:0;box-shadow:2px 0 5px #0000000d}.carnet-notebook-page.page-1{z-index:3;background:#faf6ed;padding:35px 28px}.carnet-notebook-page.page-2{z-index:2;background:#f3ecdc}.carnet-notebook-page.page-3{z-index:1;background:#e8dfcd;box-shadow:inset -2px 0 10px #0000000d}.carnet-page-lines{flex-direction:column;gap:22px;margin-top:24px;display:flex}.carnet-page-line{background:linear-gradient(90deg,#5c7a5e33 0%,#5c7a5e0d 100%);border-radius:1px;height:1.5px;animation:.5s cubic-bezier(.16,1,.3,1) both lineAppear}.carnet-page-line:first-child{width:85%;animation-delay:2.3s}.carnet-page-line:nth-child(2){width:92%;animation-delay:2.35s}.carnet-page-line:nth-child(3){width:78%;animation-delay:2.4s}.carnet-page-line:nth-child(4){width:95%;animation-delay:2.45s}.carnet-page-line:nth-child(5){width:88%;animation-delay:2.5s}.carnet-page-line:nth-child(6){width:70%;animation-delay:2.55s}.carnet-page-line:nth-child(7){width:90%;animation-delay:2.6s}.carnet-page-line:nth-child(8){width:82%;animation-delay:2.65s}.carnet-page-line:nth-child(9){width:93%;animation-delay:2.7s}.carnet-page-line:nth-child(10){width:76%;animation-delay:2.75s}@keyframes lineAppear{0%{opacity:0;transform-origin:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.carnet-notebook.pages-flutter .carnet-notebook-page.page-2{animation:.9s cubic-bezier(.22,1,.36,1) 50ms both pageFlutter1}.carnet-notebook.pages-flutter .carnet-notebook-page.page-3{animation:1s cubic-bezier(.22,1,.36,1) .14s both pageFlutter2}@keyframes pageFlutter1{0%{transform:rotateY(0)}35%{transform:rotateY(-28deg)}68%{transform:rotateY(-8deg)}to{transform:rotateY(-14deg)}}@keyframes pageFlutter2{0%{transform:rotateY(0)}42%{transform:rotateY(-20deg)}72%{transform:rotateY(-4deg)}to{transform:rotateY(-9deg)}}.carnet-password-screen{z-index:9998;opacity:0;pointer-events:none;background:radial-gradient(circle,#f5eedf 0%,#d8ceb3 60%,#bcae8d 100%);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s;display:flex;position:fixed;top:0;left:0;transform:scale(.95)}.carnet-password-screen.active{opacity:1;pointer-events:all;transform:scale(1)}.carnet-password-screen.fade-out{opacity:0;pointer-events:none;transform:scale(1.05)}.carnet-password-particles{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.carnet-particle{background:radial-gradient(circle, var(--carnet-accent-light) 0%, transparent 80%);filter:blur(1px);border-radius:50%;animation:linear infinite particleFloat;position:absolute}@keyframes particleFloat{0%{opacity:0;transform:translateY(0)translate(0)rotate(0)scale(.8)}20%{opacity:var(--particle-opacity,.4)}50%{opacity:calc(var(--particle-opacity,.4) * 1.5);transform:translateY(-80px)translate(-20px)rotate(180deg)scale(1.2)}80%{opacity:var(--particle-opacity,.4)}to{opacity:0;transform:translateY(-160px)translate(20px)rotate(360deg)scale(.8)}}.carnet-password-card{z-index:2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#ffffffd9;border:1px solid #ffffff80;border-radius:30px;width:340px;max-width:90%;padding:45px 40px 35px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;animation:.8s cubic-bezier(.16,1,.3,1) both passwordCardAppear;position:relative;box-shadow:0 25px 60px #2d231426,0 10px 25px #2d23141a,inset 0 2px 5px #fffc}.carnet-password-card.success{box-shadow:0 25px 70px #5c7a5e4d, 0 0 0 3px var(--carnet-accent), inset 0 0 20px #5c7a5e1a;transform:scale(1.03)}@keyframes passwordCardAppear{0%{opacity:0;transform:scale(.8)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.carnet-password-card.shake{border-color:#c7505080;animation:.6s cubic-bezier(.36,.07,.19,.97) both passwordShake}@keyframes passwordShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.carnet-password-icon{width:56px;height:56px;color:var(--carnet-accent);background:var(--carnet-accent-bg);border-radius:50%;margin:0 auto 20px;padding:12px;box-shadow:inset 0 2px 4px #0000000d}.carnet-password-icon svg{width:100%;height:100%}.carnet-password-title{font-family:var(--carnet-font-display);color:var(--carnet-text);letter-spacing:.5px;margin-bottom:8px;font-size:1.7rem;font-weight:700}.carnet-password-subtitle{font-family:var(--carnet-font-body);color:var(--carnet-text-secondary);margin-bottom:32px;font-size:.88rem;line-height:1.5}.carnet-password-dots{justify-content:center;gap:18px;margin-bottom:12px;display:flex}.carnet-password-dot{background:#00000008;border:2px solid #00000026;border-radius:50%;width:18px;height:18px;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 2px 4px #0000000d}.carnet-password-dot.filled{background:var(--carnet-accent);border-color:var(--carnet-accent);transform:scale(1.1);box-shadow:0 4px 10px #5c7a5e66}.carnet-password-dot.error{background:var(--carnet-error);border-color:var(--carnet-error);animation:.4s cubic-bezier(.36,.07,.19,.97) dotError;box-shadow:0 4px 10px #c7505066}.carnet-password-dot.success{background:var(--carnet-accent);border-color:var(--carnet-accent);animation:.6s cubic-bezier(.34,1.56,.64,1) both dotSuccess;box-shadow:0 0 15px #5c7a5e99}.carnet-password-dot.success:first-child{animation-delay:0s}.carnet-password-dot.success:nth-child(2){animation-delay:80ms}.carnet-password-dot.success:nth-child(3){animation-delay:.16s}.carnet-password-dot.success:nth-child(4){animation-delay:.24s}@keyframes dotError{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes dotSuccess{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1.2)}}.carnet-password-error{font-family:var(--carnet-font-body);color:var(--carnet-error);opacity:0;height:20px;margin-bottom:24px;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);transform:translateY(-6px)}.carnet-password-error.visible{opacity:1;transform:translateY(0)}.carnet-password-keypad{grid-template-columns:repeat(3,1fr);gap:12px;max-width:250px;margin:0 auto;display:grid}.carnet-key{width:68px;height:60px;color:var(--carnet-text);font-family:var(--carnet-font-body);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fdfcf9;border:none;border-radius:16px;justify-content:center;align-items:center;margin:0 auto;font-size:1.4rem;font-weight:600;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px 10px #0000000f,inset 0 -3px #0000000a}.carnet-key:hover{color:var(--carnet-accent);background:#fff;transform:translateY(-2px);box-shadow:0 6px 14px #0000001a,inset 0 -3px #0000000a}.carnet-key:active,.carnet-key.pressed{background:var(--carnet-accent-bg);color:var(--carnet-accent);transform:translateY(2px)scale(.95);box-shadow:0 0 #0000,inset 0 2px 4px #00000014}.carnet-key-empty{visibility:hidden;pointer-events:none}.carnet-key-delete{color:var(--carnet-text-muted);box-shadow:none;background:0 0;font-size:1rem}.carnet-key-delete:hover{color:var(--carnet-error);box-shadow:none;background:#c750500d}.carnet-key-delete:active,.carnet-key-delete.pressed{box-shadow:none;background:#c750501a}.carnet-key-delete svg{width:22px;height:22px}.carnet-app-reveal{animation:.8s cubic-bezier(.16,1,.3,1) both appReveal}@keyframes appReveal{0%{opacity:0;filter:blur(10px);transform:scale(1.05)translateY(-20px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}@media (width<=380px){.carnet-password-card{border-radius:24px;padding:30px 24px 28px}.carnet-key{border-radius:14px;width:60px;height:52px;font-size:1.2rem}.carnet-password-keypad{gap:10px}}@media (height<=650px){.carnet-password-card{padding:24px 30px}.carnet-password-icon{width:40px;height:40px;margin-bottom:12px;padding:8px}.carnet-password-title{font-size:1.3rem}.carnet-password-subtitle{margin-bottom:20px;font-size:.8rem}.carnet-password-dots{margin-bottom:8px}.carnet-key{border-radius:12px;width:60px;height:48px;font-size:1.2rem;box-shadow:0 3px 8px #0000000f,inset 0 -2px #0000000a}}.chat-psy-bubble{cursor:pointer;z-index:1000;background:linear-gradient(135deg,#4a7c59,#5d9a6e);border:2px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #4a7c5959,0 2px 8px #0000001a}.chat-psy-bubble:hover{background:linear-gradient(135deg,#5d9a6e,#6dab7e);transform:scale(1.08);box-shadow:0 6px 28px #4a7c5973,0 2px 10px #0000001f}.chat-psy-bubble:active{transform:scale(.95)}.chat-psy-bubble.hidden{opacity:0;pointer-events:none;transform:scale(0)}.chat-psy-bubble svg{color:#ffffffeb;width:22px;height:22px}.chat-psy-badge{color:#fff;background:#d45d5d;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;animation:2s ease-in-out infinite psy-pulse;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 8px #d45d5d66}@keyframes psy-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.chat-psy-panel{z-index:1001;transform-origin:100% 100%;opacity:0;pointer-events:none;background:#f5f0e6;border:1px solid #d4c9a8;border-radius:16px;flex-direction:column;width:360px;height:480px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;transform:scale(0)translateY(20px);box-shadow:0 8px 40px #0000001f,0 2px 12px #0000000f}.chat-psy-panel.open{opacity:1;pointer-events:all;transform:scale(1)translateY(0)}.chat-psy-header{background:linear-gradient(135deg,#4a7c59,#5d9a6e);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-psy-header-left{align-items:center;gap:10px;display:flex}.chat-psy-header-icon{filter:grayscale(0);font-size:20px}.chat-psy-title{letter-spacing:.5px;color:#fffffff2;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.chat-psy-subtitle{color:#ffffffa6;margin-top:1px;font-size:11px}.chat-psy-close{color:#fffc;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;place-items:center;width:30px;height:30px;padding:6px;transition:all .2s;display:grid}.chat-psy-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:15px;height:15px}.chat-psy-close:hover{color:#fff;background:#ffffff40}.chat-psy-messages{background:#f0eadb;flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-psy-messages::-webkit-scrollbar{width:5px}.chat-psy-messages::-webkit-scrollbar-track{background:0 0}.chat-psy-messages::-webkit-scrollbar-thumb{background:#c5b99a;border-radius:3px}.chat-psy-messages::-webkit-scrollbar-thumb:hover{background:#a89a78}.chat-psy-empty{text-align:center;color:#a09070;margin:auto 0;padding:20px;font-size:13px;font-style:italic}.chat-psy-msg{flex-direction:column;gap:3px;max-width:80%;display:flex}.chat-psy-msg-player{align-self:flex-end}.chat-psy-msg-admin{align-self:flex-start}.chat-psy-msg-header{color:#8a7a60;margin-bottom:-2px;padding:0 4px;font-size:10px;font-weight:500}.chat-psy-msg-player .chat-psy-msg-header{text-align:right}.chat-psy-msg-content{word-wrap:break-word;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:400;line-height:1.5}.chat-psy-msg-player .chat-psy-msg-content{color:#3d3526;background:#e2d9c5;border-bottom-right-radius:4px}.chat-psy-msg-admin .chat-psy-msg-content{color:#fffffff2;background:#4a7c59;border-bottom-left-radius:4px;box-shadow:0 1px 4px #4a7c5933}.chat-psy-msg-time{color:#a09070;padding:0 4px;font-size:10px}.chat-psy-msg-player .chat-psy-msg-time{text-align:right}.chat-psy-input-area{background:#f5f0e6;border-top:1px solid #d4c9a8;flex-shrink:0;gap:8px;padding:12px 14px;display:flex}.chat-psy-input{color:#3d3526;background:#ede6d4;border:1px solid #d4c9a8;border-radius:10px;flex:1;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.chat-psy-input::placeholder{color:#a09070}.chat-psy-input:focus{border-color:#4a7c59;outline:none;box-shadow:0 0 0 2px #4a7c5926}.chat-psy-send-btn{cursor:pointer;background:linear-gradient(135deg,#4a7c59,#5d9a6e);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;box-shadow:0 2px 8px #4a7c5940}.chat-psy-send-btn:hover{background:linear-gradient(135deg,#5d9a6e,#6dab7e);transform:translateY(-1px);box-shadow:0 4px 12px #4a7c5959}.chat-psy-send-btn:active{transform:scale(.92)}.chat-psy-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chat-psy-send-btn svg{color:#fff;width:16px;height:16px}@media (width<=480px){.chat-psy-panel{width:calc(100% - 32px);height:400px;bottom:16px;right:16px}.chat-psy-bubble{width:46px;height:46px;bottom:16px;right:16px}}
