*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit}.login-container{align-items:center;background:var(--bg-primary);display:flex;font-family:var(--font-mono);justify-content:center;min-height:100vh;overflow:hidden;padding:var(--space-4);position:relative}.login-container:before{animation:scrollBackground 20s linear infinite;background-image:linear-gradient(0deg,#0000 24%,var(--border-default) 25%,var(--border-default) 26%,#0000 27%,#0000 74%,var(--border-default) 75%,var(--border-default) 76%,#0000 77%,#0000),linear-gradient(90deg,#0000 24%,var(--border-default) 25%,var(--border-default) 26%,#0000 27%,#0000 74%,var(--border-default) 75%,var(--border-default) 76%,#0000 77%,#0000);background-size:50px 50px;content:"";height:200%;left:-50%;opacity:.05;position:absolute;top:-50%;width:200%}@keyframes scrollBackground{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-box{background:var(--bg-elevated);border:4px solid var(--border-default);border-radius:0;box-shadow:12px 12px 0 #0000004d;max-width:500px;padding:var(--space-10);position:relative;text-align:center;width:100%;z-index:1}.login-box:after,.login-box:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.login-box:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.login-box:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.login-box h1{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-4xl);letter-spacing:4px;margin:0 0 var(--space-3) 0;text-shadow:4px 4px 0 var(--accent-primary)}.login-box h1,.login-subtitle{font-weight:var(--font-bold);text-transform:uppercase}.login-subtitle{color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:2px;margin:0 0 var(--space-8) 0}.login-content{background:var(--bg-secondary);border:3px solid var(--border-default);box-shadow:inset 2px 2px 0 #0000001a;margin-bottom:var(--space-8);padding:var(--space-6)}.login-content p{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:1px;line-height:1.6;margin-bottom:var(--space-6);text-transform:uppercase}.login-button{background:var(--accent-primary);border:4px solid var(--accent-primary);border-radius:0;box-shadow:6px 6px 0 #0000004d;color:var(--text-inverse);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:2px;padding:var(--space-4) var(--space-8);position:relative;text-transform:uppercase;transition:all var(--transition-fast);width:100%}.login-button:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:9px 9px 0 #0006;transform:translate(-3px,-3px)}.login-button:active{box-shadow:3px 3px 0 #0003;transform:translate(3px,3px)}.login-footer{border-top:3px solid var(--border-default);margin-top:var(--space-6);padding-top:var(--space-6)}.login-footer p{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:1px;margin:0;text-transform:uppercase}.login-box h1:before{content:"▸";margin-right:var(--space-3)}.login-box h1:after,.login-box h1:before{animation:blink 1.5s step-start infinite;color:var(--accent-primary)}.login-box h1:after{content:"◂";margin-left:var(--space-3)}@media (max-width:600px){.login-box{border-width:3px;box-shadow:8px 8px 0 #0000004d;padding:var(--space-8)}.login-box h1{font-size:var(--text-3xl);letter-spacing:2px}.login-content{padding:var(--space-4)}.login-button{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}}@media (max-width:480px){.login-container{padding:var(--space-3)}.login-box{padding:var(--space-6)}.login-box h1{font-size:var(--text-2xl)}.login-subtitle{font-size:var(--text-xs)}.login-content p{font-size:var(--text-sm)}}.role-badge{align-items:center;border:2px solid;border-radius:0;box-shadow:2px 2px 0 #0003;display:inline-flex;font-family:var(--font-mono);font-weight:var(--font-bold);gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all var(--transition-fast)}.role-badge:hover{box-shadow:3px 3px 0 #0000004d;transform:translate(-1px,-1px)}.role-badge-small{font-size:12px;gap:4px;padding:4px 8px}.role-badge-small .role-icon{font-size:14px}.role-badge-medium{font-size:14px;gap:6px;padding:6px 12px}.role-badge-medium .role-icon{font-size:16px}.role-badge-large{font-size:16px;gap:8px;padding:8px 16px}.role-badge-large .role-icon{font-size:20px}.role-icon,.role-label,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:#0000;border:2px solid var(--border-default);border-radius:24px;cursor:pointer;outline:none;padding:4px;position:relative;transition:all var(--transition-base)}.theme-toggle:hover{border-color:var(--border-hover);box-shadow:0 0 0 4px #9d5cff1a}.theme-toggle:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 4px #9d5cff33}.theme-toggle-track{background:var(--bg-tertiary);border-radius:20px;height:28px;position:relative;transition:background var(--transition-base);width:56px}.theme-toggle-thumb{align-items:center;background:var(--accent-primary);border-radius:50%;box-shadow:0 2px 4px #0003;display:flex;height:24px;justify-content:center;position:absolute;top:2px;transition:all var(--transition-base);width:24px}.theme-toggle-thumb.light{background:linear-gradient(135deg,#ffb648,#ff9f1c);left:2px}.theme-toggle-thumb.dark{background:linear-gradient(135deg,#9d5cff,#7b42bc);left:30px}.theme-icon{stroke-width:2.5;color:var(--text-inverse);height:14px;width:14px}@keyframes glow{0%,to{filter:drop-shadow(0 0 2px currentColor)}50%{filter:drop-shadow(0 0 6px currentColor)}}.theme-toggle:hover .theme-icon{animation:glow 2s ease-in-out infinite}.navbar{background:var(--bg-elevated);border-bottom:4px solid var(--border-default);box-shadow:0 4px 0 #0003;font-family:var(--font-mono);position:-webkit-sticky;position:sticky;top:0;transition:all var(--transition-base);z-index:var(--z-sticky)}.navbar:before{background:repeating-linear-gradient(0deg,#0000000d,#0000 1px,#0000 2px,#0000000d 3px);bottom:0;content:"";opacity:.3;pointer-events:none;top:0}.navbar-scanline,.navbar:before{left:0;position:absolute;right:0}.navbar-scanline{background:var(--accent-primary);bottom:-4px;box-shadow:0 0 10px var(--accent-primary);height:4px}.navbar-container{align-items:center;display:flex;gap:var(--space-6);justify-content:space-between;margin:0 auto;max-width:1400px;padding:var(--space-4) var(--space-6);position:relative;z-index:1}.navbar-brand{align-items:center;cursor:pointer;display:flex;gap:var(--space-3);transition:all var(--transition-fast)}.navbar-brand:hover{transform:translate(-2px,-2px)}.navbar-brand:active{transform:translate(1px,1px)}.navbar-logo{align-items:center;background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;display:flex;height:48px;justify-content:center;overflow:hidden;position:relative;transition:all var(--transition-fast);width:48px}.navbar-brand:hover .navbar-logo{border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-primary-alpha),4px 4px 0 #0000004d}.pixel-heart{filter:drop-shadow(0 0 8px var(--accent-primary));font-size:24px}.navbar-title{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:3px;text-shadow:3px 3px 0 var(--accent-primary);text-transform:uppercase}.navbar-menu{display:flex;flex:1 1;gap:var(--space-3);justify-content:center}.navbar-item{align-items:center;background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);letter-spacing:1px;overflow:hidden;padding:var(--space-3) var(--space-5);position:relative;text-transform:uppercase;transition:all var(--transition-fast)}.navbar-item:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:5px 5px 0 #0000004d;transform:translate(-2px,-2px)}.navbar-item:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.navbar-item.active{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-primary-alpha),4px 4px 0 #0000004d;color:var(--text-inverse)}.navbar-item.active:after{background:var(--accent-primary);bottom:-3px;box-shadow:0 0 10px var(--accent-primary);content:"";height:3px;left:0;position:absolute;right:0}.navbar-item-icon{filter:grayscale(.2);font-size:var(--text-lg)}.navbar-item.active .navbar-item-icon{filter:grayscale(0)}.navbar-item-label{font-size:var(--text-sm);font-weight:var(--font-bold)}.navbar-actions{gap:var(--space-3)}.navbar-actions,.navbar-logout{align-items:center;display:flex}.navbar-logout{background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);letter-spacing:1px;padding:var(--space-3) var(--space-4);text-transform:uppercase;transition:all var(--transition-fast)}.navbar-logout:hover{background:var(--color-error);border-color:var(--color-error);box-shadow:0 0 15px #ef444466,5px 5px 0 #0000004d;color:var(--text-inverse);transform:translate(-2px,-2px)}.navbar-logout:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.logout-icon{font-size:var(--text-lg)}.logout-icon,.logout-label{font-weight:var(--font-bold)}.logout-label{font-size:var(--text-sm)}@media (max-width:768px){.navbar-container{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.navbar-menu{gap:var(--space-2)}.navbar-item{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.navbar-item-label{display:none}.navbar-item-icon{font-size:var(--text-xl)}.navbar-logout{padding:var(--space-2) var(--space-3)}.logout-label{display:none}.navbar-title{font-size:var(--text-xl);letter-spacing:2px}.navbar-logo{height:40px;width:40px}}@media (max-width:480px){.navbar-brand{gap:var(--space-2)}.navbar-title{font-size:var(--text-lg);letter-spacing:1px}.navbar-menu{justify-content:flex-start}}.retro-input-wrapper{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-2);max-width:100%;width:100%}.retro-input-label{word-wrap:break-word;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase}.retro-input-required{color:var(--color-error)}.retro-input{background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:inset 2px 2px 0 #0000001a;box-sizing:border-box;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);max-width:100%;padding:var(--space-3);transition:all var(--transition-fast);width:100%}.retro-input:focus{border-color:var(--accent-primary);box-shadow:inset 2px 2px 0 #0000001a,0 0 0 3px var(--accent-primary-alpha);outline:none}.retro-input::placeholder{color:var(--text-tertiary);font-family:var(--font-mono)}.retro-input:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.5}.retro-input-error{border-color:var(--color-error)}.retro-input-error:focus{box-shadow:inset 2px 2px 0 #0000001a,0 0 0 3px #ef44444d}input[type=datetime-local].retro-input{letter-spacing:1px;text-transform:uppercase}input[type=datetime-local].retro-input::-webkit-calendar-picker-indicator{background:var(--accent-primary);border-radius:0;cursor:pointer;filter:invert(1);padding:4px}input[type=datetime-local].retro-input::-webkit-calendar-picker-indicator:hover{background:var(--accent-secondary);box-shadow:0 0 10px var(--accent-primary)}.retro-input-error-message{color:var(--color-error);font-weight:var(--font-bold);letter-spacing:.5px;text-transform:uppercase}.retro-input-error-message,.retro-input-hint{font-family:var(--font-mono);font-size:var(--text-xs)}.retro-input-hint{color:var(--text-tertiary)}.retro-textarea-wrapper{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-2);max-width:100%;width:100%}.retro-textarea-label{word-wrap:break-word;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase}.retro-textarea-required{color:var(--color-error)}.retro-textarea{background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:inset 2px 2px 0 #0000001a;box-sizing:border-box;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);max-width:100%;min-height:80px;padding:var(--space-3);resize:vertical;transition:all var(--transition-fast);width:100%}.retro-textarea:focus{border-color:var(--accent-primary);box-shadow:inset 2px 2px 0 #0000001a,0 0 0 3px var(--accent-primary-alpha);outline:none}.retro-textarea::placeholder{color:var(--text-tertiary);font-family:var(--font-mono)}.retro-textarea:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.5;resize:none}.retro-textarea-error{border-color:var(--color-error)}.retro-textarea-error:focus{box-shadow:inset 2px 2px 0 #0000001a,0 0 0 3px #ef44444d}.retro-textarea-error-message{color:var(--color-error);font-weight:var(--font-bold);letter-spacing:.5px;text-transform:uppercase}.retro-textarea-error-message,.retro-textarea-hint{font-family:var(--font-mono);font-size:var(--text-xs)}.retro-textarea-hint{color:var(--text-tertiary)}.retro-calendar-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.retro-calendar-popup{animation:slideIn .2s ease-out;background:var(--bg-elevated);border:3px solid var(--border-default);border-radius:0;box-shadow:6px 6px 0 #0000004d;max-width:340px;min-width:300px;padding:var(--space-3);position:relative}.retro-calendar-popup:after,.retro-calendar-popup:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.retro-calendar-popup:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.retro-calendar-popup:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.retro-calendar-header{align-items:center;border-bottom:2px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:var(--space-2);padding-bottom:var(--space-2)}.retro-calendar-title{font-size:var(--text-sm);letter-spacing:.5px;text-shadow:1px 1px 0 #0003;text-transform:uppercase}.retro-calendar-nav,.retro-calendar-title{color:var(--text-primary);font-family:var(--font-mono);font-weight:var(--font-bold)}.retro-calendar-nav{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;cursor:pointer;display:flex;font-size:var(--text-base);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.retro-calendar-nav:hover{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:6px 6px 0 #0000004d;color:var(--text-inverse);transform:translate(-2px,-2px)}.retro-calendar-nav:active{box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.retro-calendar-quick-actions{display:flex;justify-content:center;margin-bottom:var(--space-2)}.retro-calendar-today-btn{background:var(--accent-secondary);border:2px solid var(--accent-secondary);border-radius:0;box-shadow:3px 3px 0 #0003;color:var(--text-inverse);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.5px;padding:var(--space-1) var(--space-3);text-transform:uppercase;transition:all var(--transition-fast)}.retro-calendar-today-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.retro-calendar-today-btn:active{box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.retro-calendar-weekdays{grid-gap:var(--space-1);border-bottom:2px solid var(--border-default);display:grid;gap:var(--space-1);grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-2);padding-bottom:var(--space-1)}.retro-calendar-weekday{color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-bold);letter-spacing:.3px;text-align:center;text-transform:uppercase}.retro-calendar-days{grid-gap:var(--space-1);display:grid;gap:var(--space-1);grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-3)}.retro-calendar-day{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:0;box-shadow:2px 2px 0 #0000001a;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);justify-content:center;min-height:32px;padding:var(--space-1);transition:all var(--transition-fast)}.retro-calendar-day:hover:not(:disabled):not(.empty){background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:3px 3px 0 #0003;color:var(--text-inverse);transform:translate(-1px,-1px)}.retro-calendar-day:active:not(:disabled){box-shadow:1px 1px 0 #0000001a;transform:translate(1px,1px)}.retro-calendar-day.empty{background:#0000;border:2px solid #0000;box-shadow:none;cursor:default}.retro-calendar-day.today{border:3px solid var(--accent-primary);box-shadow:0 0 0 2px var(--bg-elevated),0 0 15px var(--accent-primary-alpha),3px 3px 0 #0003;font-weight:var(--font-bold)}.retro-calendar-day.selected{background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:3px 3px 0 #0003;color:var(--text-inverse);font-weight:var(--font-bold)}.retro-calendar-day.in-range{background:var(--accent-primary-alpha);border-color:var(--accent-primary)}.retro-calendar-day.range-end,.retro-calendar-day.range-start{background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:2px 2px 0 #0003;color:var(--text-inverse);font-weight:var(--font-bold)}.retro-calendar-day:disabled{cursor:not-allowed;opacity:.3}.retro-calendar-footer{border-top:2px solid var(--border-default);display:flex;justify-content:center;padding-top:var(--space-2)}.retro-calendar-close-btn{background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.5px;padding:var(--space-2) var(--space-3);text-transform:uppercase;transition:all var(--transition-fast)}.retro-calendar-close-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:6px 6px 0 #0000004d;color:var(--text-inverse);transform:translate(-2px,-2px)}.retro-calendar-close-btn:active{box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}@media (max-width:480px){.retro-calendar-popup{margin:var(--space-3);min-width:280px;padding:var(--space-2)}.retro-calendar-day{font-size:var(--text-xs);min-height:28px}}.retro-time-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.retro-time-popup{animation:slideIn .2s ease-out;background:var(--bg-elevated);border:3px solid var(--border-default);border-radius:0;box-shadow:6px 6px 0 #0000004d;max-width:280px;min-width:240px;padding:var(--space-2);position:relative}.retro-time-popup:after,.retro-time-popup:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.retro-time-popup:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.retro-time-popup:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.retro-time-header{align-items:center;border-bottom:2px solid var(--border-default);display:flex;justify-content:center;margin-bottom:var(--space-1);padding-bottom:var(--space-1)}.retro-time-title{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.3px;text-shadow:1px 1px 0 #0003;text-transform:uppercase}.retro-time-quick-actions{display:flex;justify-content:center;margin-bottom:var(--space-1)}.retro-time-now-btn{background:var(--accent-secondary);border:2px solid var(--accent-secondary);border-radius:0;box-shadow:2px 2px 0 #0003;color:var(--text-inverse);cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:var(--font-bold);letter-spacing:.3px;padding:4px var(--space-2);text-transform:uppercase;transition:all var(--transition-fast)}.retro-time-now-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.retro-time-now-btn:active{box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.retro-time-display{background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:0;box-shadow:inset 2px 2px 0 #0000001a;color:var(--accent-primary);font-family:var(--font-mono);font-size:20px;font-weight:var(--font-bold);margin-bottom:var(--space-1);padding:var(--space-1);text-align:center;text-shadow:1px 1px 0 #0003}.retro-time-picker{align-items:stretch;display:flex;gap:var(--space-1);margin-bottom:var(--space-2)}.retro-time-column{display:flex;flex:1 1;flex-direction:column;gap:4px}.retro-time-column-label{color:var(--text-secondary);font-family:var(--font-mono);font-size:9px;font-weight:var(--font-bold);letter-spacing:.2px;text-align:center;text-transform:uppercase}.retro-time-list{background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:0;box-shadow:inset 2px 2px 0 #0000001a;max-height:120px;overflow-y:auto;scrollbar-color:var(--accent-primary) var(--bg-secondary);scrollbar-width:thin}.retro-time-list::-webkit-scrollbar{width:10px}.retro-time-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.retro-time-list::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:0}.retro-time-list::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.retro-time-item{background:#0000;border:none;border-bottom:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:4px var(--space-1);text-align:center;transition:all var(--transition-fast);width:100%}.retro-time-item:last-child{border-bottom:none}.retro-time-item:hover{background:var(--accent-primary);color:var(--text-inverse)}.retro-time-item.selected{background:var(--accent-secondary);box-shadow:inset 0 0 10px #0000004d;color:var(--text-inverse);font-weight:var(--font-bold)}.retro-time-separator{align-items:center;color:var(--text-primary);display:flex;font-family:var(--font-mono);font-size:18px;font-weight:var(--font-bold);padding-top:var(--space-2);text-shadow:1px 1px 0 #0003}.retro-time-footer{border-top:2px solid var(--border-default);display:flex;gap:var(--space-1);justify-content:space-between;padding-top:var(--space-1)}.retro-time-cancel-btn,.retro-time-confirm-btn{border:2px solid var(--border-default);border-radius:0;box-shadow:2px 2px 0 #0003;cursor:pointer;flex:1 1;font-family:var(--font-mono);font-size:10px;font-weight:var(--font-bold);letter-spacing:.3px;padding:var(--space-1);text-transform:uppercase;transition:all var(--transition-fast)}.retro-time-cancel-btn{background:var(--bg-secondary);color:var(--text-primary)}.retro-time-cancel-btn:hover{background:var(--bg-tertiary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.retro-time-confirm-btn{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.retro-time-confirm-btn:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.retro-time-cancel-btn:active,.retro-time-confirm-btn:active{box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}@media (max-width:480px){.retro-time-popup{margin:var(--space-2);min-width:220px;padding:var(--space-1)}.retro-time-display{font-size:18px}.retro-time-separator{font-size:16px}.retro-time-list{max-height:100px}.retro-time-item{font-size:10px;padding:2px 4px}}.retro-datetime-picker-wrapper{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-2);max-width:100%;width:100%}.retro-datetime-label{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase}.retro-datetime-required{color:var(--color-error)}.retro-datetime-inputs{box-sizing:border-box;display:flex;gap:var(--space-3);max-width:100%;width:100%}.retro-datetime-input-group{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);max-width:100%;min-width:0}.retro-datetime-sublabel{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;text-transform:uppercase}.retro-datetime-input-with-button{align-items:stretch;box-sizing:border-box;display:flex;gap:var(--space-2);max-width:100%;width:100%}.retro-datetime-input{background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:inset 2px 2px 0 #0000001a;box-sizing:border-box;color:var(--text-primary);flex:1 1;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:1px;min-width:0;padding:var(--space-3);text-transform:uppercase}.retro-datetime-input,.retro-datetime-picker-btn{cursor:pointer;transition:all var(--transition-fast)}.retro-datetime-picker-btn{align-items:center;background:var(--accent-primary);border:3px solid var(--accent-primary);border-radius:0;box-shadow:4px 4px 0 #0003;display:flex;flex-shrink:0;font-size:var(--text-xl);justify-content:center;min-width:50px;padding:var(--space-2) var(--space-3)}.retro-datetime-picker-btn:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.retro-datetime-picker-btn:active:not(:disabled){box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.retro-datetime-picker-btn:disabled{cursor:not-allowed;opacity:.5}.retro-datetime-input:focus{border-color:var(--accent-primary);box-shadow:inset 2px 2px 0 #0000001a,0 0 0 3px var(--accent-primary-alpha);outline:none}.retro-datetime-input:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.5}.retro-datetime-error{border-color:var(--color-error)}.retro-datetime-error:focus{box-shadow:inset 2px 2px 0 #0000001a,0 0 0 3px #ef44444d}.retro-datetime-error-message{color:var(--color-error);font-weight:var(--font-bold);letter-spacing:.5px;text-transform:uppercase}.retro-datetime-error-message,.retro-datetime-hint{font-family:var(--font-mono);font-size:var(--text-xs)}.retro-datetime-hint{color:var(--text-tertiary)}@media (max-width:480px){.retro-datetime-inputs{flex-direction:column}}.event-details-modal{display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden}.event-details-modal.modal-content:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.event-details-modal.modal-content:after,.event-details-modal.modal-content:before{background:var(--accent-primary);content:"";height:20px;pointer-events:none;position:absolute;width:20px;z-index:1000}.event-details-modal.modal-content:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.modal-header-actions{align-items:center;display:flex;gap:var(--space-2)}.event-details-modal .modal-delete{align-items:center;background:var(--bg-tertiary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-2xl);font-weight:var(--font-bold);height:40px;justify-content:center;padding:0;transition:all var(--transition-fast);width:40px}.event-details-modal .modal-delete:hover{background:var(--color-red);border-color:var(--color-red);box-shadow:5px 5px 0 #0000004d;color:#fff;transform:translate(-2px,-2px)}.event-details-modal .modal-delete:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.event-details-modal .modal-close{align-items:center;background:var(--bg-tertiary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-2xl);font-weight:var(--font-bold);height:40px;justify-content:center;padding:0;transition:all var(--transition-fast);width:40px}.event-details-modal .modal-close:hover{background:var(--color-red);border-color:var(--color-red);box-shadow:5px 5px 0 #0000004d;color:#fff;transform:translate(-2px,-2px)}.event-details-modal .modal-close:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.event-details-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-6);overflow-x:hidden;overflow-y:auto;padding-bottom:var(--space-4);padding-right:var(--space-2)}.event-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.event-color-badge,.event-status-badge,.event-type-badge{border:2px solid;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--space-1) var(--space-2);text-transform:uppercase}.event-color-badge.color-purple{background:#9d5cff1a;border-color:#9d5cff;color:#9d5cff}.event-color-badge.color-pink{background:#ec48991a;border-color:#ec4899;color:#ec4899}.event-color-badge.color-blue{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.event-color-badge.color-green{background:#10b9811a;border-color:#10b981;color:#10b981}.event-color-badge.color-orange{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.event-color-badge.color-red{background:#ef44441a;border-color:#ef4444;color:#ef4444}.event-type-planning{background:var(--accent-primary-alpha);border-color:var(--accent-primary);color:var(--accent-primary)}.event-type-direct{background:#4caf501a;background:var(--color-green-alpha,#4caf501a);border-color:var(--color-green);color:var(--color-green)}.event-status-planning{background:var(--accent-primary-alpha);border-color:var(--accent-primary);color:var(--accent-primary)}.event-status-scheduled{background:#2196f31a;background:var(--color-blue-alpha,#2196f31a);border-color:var(--color-blue);color:var(--color-blue)}.event-status-confirmed{background:#4caf501a;background:var(--color-green-alpha,#4caf501a);border-color:var(--color-green);color:var(--color-green)}.event-creator{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}.event-description{border:2px solid var(--border-default);margin:0;padding:var(--space-3)}.event-datetime,.event-description,.event-location,.voting-deadline{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base)}.event-datetime,.event-location,.voting-deadline{align-items:center;border-left:4px solid var(--accent-primary);display:flex;gap:var(--space-2);padding:var(--space-2)}.details-section{background:var(--bg-secondary);border:3px solid var(--border-default);box-shadow:6px 6px 0 #0003;padding:var(--space-5)}.section-title{border-bottom:3px solid var(--border-default);font-size:var(--text-lg);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3)}.section-icon{font-size:var(--text-xl)}.voting-group{margin-bottom:var(--space-5)}.voting-group-title{color:var(--accent-primary);font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0;text-transform:uppercase}.vote-option{background:var(--bg-primary);border:3px solid var(--border-default);gap:var(--space-3);padding:var(--space-4);transition:all var(--transition-fast)}.vote-option.leading{border-color:var(--accent-primary);box-shadow:0 0 0 3px #9d5cff33;box-shadow:0 0 0 3px var(--accent-primary-alpha,#9d5cff33)}.vote-option-header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.vote-option-value{color:var(--text-primary);flex:1 1;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold)}.counter-proposal-badge{background:#ff98001a;background:var(--color-orange-alpha,#ff98001a);border:2px solid var(--color-orange);color:var(--color-orange);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);text-transform:uppercase}.leading-icon{color:var(--accent-primary);font-weight:var(--font-bold)}.vote-option-stats{align-items:center;display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-sm);gap:var(--space-3)}.vote-score-display{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-default);box-shadow:2px 2px 0 #0000001a;display:flex;gap:var(--space-2);padding:var(--space-1) var(--space-3)}.vote-score-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase}.vote-score-value{color:var(--accent-primary);font-size:var(--text-lg);font-weight:var(--font-bold);min-width:24px;text-align:center}.leading-badge{background:var(--accent-primary);border:2px solid var(--accent-primary);box-shadow:2px 2px 0 #0003;color:var(--text-inverse);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.5px;padding:var(--space-1) var(--space-2);text-transform:uppercase}.vote-total-count{color:var(--text-secondary);font-size:var(--text-xs)}.vote-total{color:var(--text-primary);font-weight:var(--font-bold)}.vote-rank-count{color:var(--text-secondary)}.vote-voters-list{background:var(--bg-secondary);border:2px solid var(--border-default);box-shadow:inset 2px 2px 0 #0000000d;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.vote-voters-rank{align-items:baseline;display:flex;font-family:var(--font-mono);font-size:var(--text-sm);gap:var(--space-2)}.voters-rank-label{color:var(--text-secondary);font-weight:var(--font-bold);min-width:90px}.voters-names{color:var(--text-primary);flex:1 1}.voter-name{color:var(--accent-secondary);font-weight:var(--font-semibold)}.vote-option-ranking{align-items:center;border-top:2px solid var(--border-default);display:flex;gap:var(--space-3);padding-top:var(--space-3)}.ranking-label{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase}.ranking-buttons{display:flex;gap:var(--space-2)}.rank-btn{background:var(--bg-secondary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);height:40px;transition:all .2s;width:40px}.rank-btn:hover{border-color:var(--accent-primary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.rank-btn.selected{border-color:var(--accent-primary)}.rank-btn.selected,.submit-votes-btn{background:var(--accent-primary);color:var(--text-inverse)}.submit-votes-btn{border:3px solid var(--accent-primary);box-shadow:6px 6px 0 #0003;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);margin-top:var(--space-4);padding:var(--space-3);text-transform:uppercase;transition:all .2s;width:100%}.submit-votes-btn:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:8px 8px 0 #0000004d;transform:translate(-2px,-2px)}.counter-proposal-btn{background:var(--bg-primary);border:3px dashed var(--border-default);box-shadow:4px 4px 0 #0000001a;color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);margin-top:var(--space-3);padding:var(--space-3);text-transform:uppercase;transition:all .2s;width:100%}.counter-proposal-btn:hover{background:var(--accent-primary-alpha);border-color:var(--accent-primary);border-style:solid;color:var(--accent-primary)}.counter-proposal-form{background:var(--bg-primary);border:3px solid var(--accent-primary);display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4)}.invitation-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.invitation-btn{border:3px solid;box-shadow:4px 4px 0 #0003;cursor:pointer;flex:1 1;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);min-width:120px;padding:var(--space-3);text-transform:uppercase;transition:all .2s}.invitation-btn:hover{box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.invitation-btn.accept-btn{background:var(--color-green);border-color:var(--color-green);color:var(--text-inverse)}.invitation-btn.maybe-btn{background:var(--color-orange);border-color:var(--color-orange);color:var(--text-inverse)}.invitation-btn.decline-btn{background:var(--color-red);border-color:var(--color-red);color:var(--text-inverse)}.invitations-list{display:flex;flex-direction:column;gap:var(--space-2)}.invitation-item{align-items:center;background:var(--bg-primary);border:2px solid var(--border-default);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);justify-content:space-between;padding:var(--space-3)}.invitation-user{color:var(--text-primary);font-weight:var(--font-bold)}.invitation-status{border:2px solid;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);text-transform:uppercase}.invitation-status.status-accepted{background:#4caf501a;background:var(--color-green-alpha,#4caf501a);border-color:var(--color-green);color:var(--color-green)}.invitation-status.status-declined{background:#f443361a;background:var(--color-red-alpha,#f443361a);border-color:var(--color-red);color:var(--color-red)}.invitation-status.status-maybe{background:#ff98001a;background:var(--color-orange-alpha,#ff98001a);border-color:var(--color-orange);color:var(--color-orange)}.invitation-status.status-pending{background:var(--bg-secondary);border-color:var(--border-default);color:var(--text-secondary)}.comments-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4);max-height:300px;overflow-y:auto}.no-comments{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-6);text-align:center}.comment-item{background:var(--bg-primary);border:2px solid var(--border-default);padding:var(--space-3)}.comment-header{align-items:center;border-bottom:2px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:var(--space-2);padding-bottom:var(--space-2)}.comment-author{color:var(--accent-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold)}.comment-date{color:var(--text-secondary);font-size:var(--text-xs)}.comment-date,.comment-text{font-family:var(--font-mono)}.comment-text{color:var(--text-primary);font-size:var(--text-sm);margin:0;white-space:pre-wrap}.comment-form{display:flex;flex-direction:column;gap:var(--space-3)}.comment-submit-btn{background:var(--accent-primary);border:3px solid var(--accent-primary);box-shadow:4px 4px 0 #0003;color:var(--text-inverse);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--space-3);text-transform:uppercase;transition:all .2s}.comment-submit-btn:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.finalize-section{border-color:var(--color-green)}.finalize-options{gap:var(--space-5);margin-bottom:var(--space-4)}.finalize-group,.finalize-options{display:flex;flex-direction:column}.finalize-group{gap:var(--space-2)}.finalize-label{color:var(--text-primary);font-weight:var(--font-bold);text-transform:uppercase}.finalize-label,.finalize-option{font-family:var(--font-mono);font-size:var(--text-sm)}.finalize-option{align-items:center;background:var(--bg-primary);border:2px solid var(--border-default);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3);transition:all .2s}.finalize-option:hover{background:#4caf501a;background:var(--color-green-alpha,#4caf501a);border-color:var(--color-green)}.finalize-option input[type=radio]{height:20px;width:20px}.vote-count{color:var(--text-secondary);font-size:var(--text-xs);margin-left:var(--space-2)}.finalize-btn{background:var(--color-green);border:3px solid var(--color-green);box-shadow:6px 6px 0 #0003;color:var(--text-inverse);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);padding:var(--space-4);text-transform:uppercase;transition:all .2s;width:100%}.finalize-btn:hover{background:#4caf50;background:var(--color-green-dark,#4caf50);box-shadow:8px 8px 0 #0000004d;transform:translate(-2px,-2px)}@media (max-width:768px){.event-details-modal{max-width:95vw}.invitation-actions{flex-direction:column}.invitation-btn{width:100%}.ranking-buttons{flex:1 1}}.calendar-feed-subscription{background:var(--bg-secondary);border:4px solid var(--border-default);box-shadow:8px 8px 0 #0000004d;margin-bottom:var(--space-6);padding:var(--space-6);position:relative}.calendar-feed-subscription:after,.calendar-feed-subscription:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.calendar-feed-subscription:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.calendar-feed-subscription:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.feed-header{align-items:flex-start;border-bottom:3px solid var(--border-default);display:flex;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.feed-icon{font-size:var(--text-3xl);line-height:1}.feed-title-section{flex:1 1}.feed-title{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:1px;margin:0 0 var(--space-2) 0;text-transform:uppercase}.feed-description{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;margin:0}.feed-url-section{margin-bottom:var(--space-5)}.feed-label{color:var(--text-secondary);display:block;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;margin-bottom:var(--space-2);text-transform:uppercase}.feed-url-display{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:3px 3px 0 #0003;padding:var(--space-1)}.feed-url-input{background:#0000;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);outline:none;padding:var(--space-2);width:100%}.feed-url-input:focus{background:var(--bg-tertiary)}.feed-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.feed-actions .retro-button{flex:0 0 auto;white-space:nowrap}.feed-regenerate-btn{margin-left:auto}.feed-instructions{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:3px 3px 0 #0003;padding:var(--space-4)}.instructions-title{color:var(--accent-primary);font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:1px;margin:0 0 var(--space-3) 0;text-transform:uppercase}.instructions-content{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}.instruction-step{background:var(--bg-secondary);border:2px solid var(--border-default);margin-bottom:var(--space-3);padding:var(--space-3)}.instruction-step strong{color:var(--accent-primary);display:block;margin-bottom:var(--space-1)}.instruction-step ul{margin:var(--space-2) 0 0 var(--space-5);padding:0}.instruction-step li{margin-bottom:var(--space-1)}.instruction-note{background:var(--bg-tertiary);border-left:4px solid var(--accent-primary);margin-top:var(--space-4);padding:var(--space-3)}.instruction-note strong{color:var(--accent-primary)}.feed-error,.feed-loading{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-base);padding:var(--space-6);text-align:center}.feed-error{color:var(--color-red)}@media (max-width:768px){.calendar-feed-subscription{padding:var(--space-4)}.feed-actions,.feed-header{flex-direction:column}.feed-actions .retro-button{width:100%}.feed-regenerate-btn{margin-left:0}.instruction-step ul{margin-left:var(--space-3)}}.app-footer{background:var(--bg-secondary);border-top:3px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:1px;margin-top:var(--space-8);padding:var(--space-4);text-align:center;text-transform:uppercase}.app-footer p{margin:0}.dashboard-container{background:var(--bg-primary);min-height:calc(100vh - 70px);min-height:calc(100vh - var(--navbar-height, 70px));padding:var(--space-6) var(--space-4)}.dashboard-content{display:flex;flex-direction:column;gap:var(--space-6);margin:0 auto;max-width:1400px}.dashboard-header{background:var(--bg-secondary);border:4px solid var(--border-default);box-shadow:8px 8px 0 #0000004d;overflow:hidden;padding:var(--space-6);position:relative}.dashboard-header:before{background:var(--accent-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0}.welcome-section{text-align:center}.dashboard-title{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:4px;margin:0 0 var(--space-2) 0;text-shadow:4px 4px 0 var(--accent-primary);text-transform:uppercase}.title-bracket{color:var(--accent-secondary);margin:0 var(--space-2)}.dashboard-subtitle{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xl);margin:0 0 var(--space-4) 0}.user-roles{flex-wrap:wrap;gap:var(--space-2);justify-content:center}.dashboard-section{background:var(--bg-secondary);border:4px solid var(--border-default);box-shadow:8px 8px 0 #0000004d;padding:var(--space-6);position:relative}.dashboard-section:after,.dashboard-section:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.dashboard-section:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.dashboard-section:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.section-header{margin-bottom:var(--space-5);padding-bottom:var(--space-3)}.section-title{letter-spacing:2px}.badge-count{background:var(--accent-primary);border:3px solid var(--accent-primary);box-shadow:4px 4px 0 #0000004d;color:var(--text-inverse);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--space-1) var(--space-3)}.week-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(7,1fr)}.week-day{background:var(--bg-primary);border:3px solid var(--border-default);display:flex;flex-direction:column;min-height:150px;padding:var(--space-3);position:relative;transition:all .2s}.week-day:hover{box-shadow:4px 4px 0 #0003;transform:translate(-2px,-2px)}.week-day.today,.week-day:hover{border-color:var(--accent-primary)}.week-day.today{background:var(--accent-primary-alpha);border-width:4px;box-shadow:6px 6px 0 #667eea66;transform:translate(-1px,-1px)}.week-day.today:before{background:var(--accent-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0}.week-day-header{align-items:center;border-bottom:2px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-2)}.week-day-name{font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase}.week-day-date,.week-day-name{color:var(--text-secondary);font-family:var(--font-mono)}.week-day-date{font-size:var(--text-xs)}.week-day-events{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2)}.week-event{background:var(--bg-secondary);border:2px solid var(--border-default);display:flex;flex-direction:column;font-family:var(--font-mono);font-size:var(--text-xs);gap:var(--space-1);padding:var(--space-2)}.week-event.event-purple{background:#9d5cff1a;border-color:#9d5cff}.week-event.event-pink{background:#ec48991a;border-color:#ec4899}.week-event.event-blue{background:#3b82f61a;border-color:#3b82f6}.week-event.event-green{background:#10b9811a;border-color:#10b981}.week-event.event-orange{background:#f59e0b1a;border-color:#f59e0b}.week-event.event-red{background:#ef44441a;border-color:#ef4444}.event-time{color:var(--accent-primary);font-size:var(--text-xs);font-weight:var(--font-bold)}.event-title{color:var(--text-primary);font-size:var(--text-xs)}.no-events{color:var(--text-disabled);font-family:var(--font-mono);padding:var(--space-4) 0;text-align:center}.my-events-list{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.my-event-card{background:var(--bg-primary);border:3px solid var(--accent-primary);box-shadow:6px 6px 0 #0003;cursor:pointer;padding:var(--space-4);transition:all .2s}.my-event-card.proposed{border-color:var(--accent-secondary);border-style:dashed;opacity:.85}.my-event-card.direct{border-color:var(--accent-primary);border-style:solid}.my-event-card.finalized{border-color:#10b981;border-color:var(--color-success,#10b981);border-style:solid;box-shadow:6px 6px 0 #0003,0 0 0 2px #10b98133}.my-event-card:hover{box-shadow:8px 8px 0 #0000004d;transform:translate(-2px,-2px)}.my-event-header{align-items:flex-start;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3)}.my-event-title-wrapper{align-items:center;display:flex;flex:1 1;gap:var(--space-2)}.event-color-dot{border-radius:2px;box-shadow:2px 2px 0 #0003;height:12px;min-width:12px;width:12px}.my-event-title{color:var(--text-primary);flex:1 1;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);margin:0}.event-status-icon{color:var(--accent-secondary)}.event-type-badge{border:2px solid;box-shadow:2px 2px 0 #0003;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--space-1) var(--space-2);white-space:nowrap}.event-type-badge.planning{background:var(--accent-secondary);border-color:var(--accent-secondary);color:var(--text-inverse)}.event-type-badge.direct{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.my-event-info{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.my-event-date{color:var(--text-secondary)}.my-event-date,.my-event-invites{font-family:var(--font-mono);font-size:var(--text-sm)}.my-event-invites{color:var(--text-tertiary);font-weight:var(--font-bold)}.my-event-status{border:2px solid;box-shadow:2px 2px 0 #0000001a;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.5px;margin-top:var(--space-2);padding:var(--space-1) var(--space-2);text-align:center;text-transform:uppercase}.my-event-status.proposed{background:#ec48991a;border-color:var(--accent-secondary);color:var(--accent-secondary)}.my-event-status.direct{background:#9d5cff1a;border-color:var(--accent-primary);color:var(--accent-primary)}.my-event-status.finalized{background:#10b9811a;border-color:#10b981;border-color:var(--color-success,#10b981);color:#10b981;color:var(--color-success,#10b981)}.invites-list{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.invite-card{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:6px 6px 0 #0003;padding:var(--space-4);transition:all .2s}.invite-card:hover{border-color:var(--accent-primary);box-shadow:8px 8px 0 #0000004d;transform:translate(-2px,-2px)}.invite-header{align-items:flex-start;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3)}.invite-title{color:var(--text-primary);flex:1 1;font-size:var(--text-base);margin:0}.invite-date,.invite-title{font-family:var(--font-mono);font-weight:var(--font-bold)}.invite-date{color:var(--accent-primary);font-size:var(--text-sm);white-space:nowrap}.invite-from{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);margin:0 0 var(--space-4) 0}.invite-actions{display:flex;gap:var(--space-2)}.votes-list{display:flex;flex-direction:column;gap:var(--space-4)}.vote-card{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:6px 6px 0 #0003;padding:var(--space-5)}.vote-header{align-items:center;border-bottom:2px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.vote-title{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.vote-creator,.vote-description{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}.vote-description{background:var(--bg-secondary);border-left:4px solid var(--accent-primary);margin:var(--space-3) 0;padding:var(--space-3)}.vote-deadline{align-items:center;color:var(--color-orange);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);margin:var(--space-2) 0}.vote-options-preview{background:var(--bg-secondary);border:3px solid var(--border-default);margin:var(--space-4) 0;padding:var(--space-4)}.vote-options-label{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);margin-bottom:var(--space-3);text-transform:uppercase}.vote-option-preview{align-items:center;background:var(--bg-primary);border:2px solid var(--border-default);display:flex;font-family:var(--font-mono);justify-content:space-between;margin-bottom:var(--space-2);padding:var(--space-2)}.vote-option-preview-value{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}.vote-option-preview-count{background:var(--accent-primary-alpha);border:2px solid var(--accent-primary);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--space-1) var(--space-2)}.vote-more{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);font-style:italic;margin-top:var(--space-2);text-align:center}.vote-details-btn{background:var(--accent-primary);border:3px solid var(--accent-primary);box-shadow:4px 4px 0 #0003;color:#fff;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:1px;margin-top:var(--space-4);padding:var(--space-3);text-transform:uppercase;transition:all .2s;width:100%}.vote-details-btn:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.vote-details-btn:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.vote-options{gap:var(--space-3)}.vote-option,.vote-options{display:flex;flex-direction:column}.vote-option{gap:var(--space-2)}.vote-option-button{align-items:center;background:var(--bg-secondary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:var(--text-base);justify-content:space-between;padding:var(--space-3);transition:all .2s}.vote-option-button:hover{background:var(--accent-primary-alpha);border-color:var(--accent-primary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.vote-option-count,.vote-option-name{font-weight:var(--font-bold)}.vote-option-count{background:var(--accent-primary);border:2px solid var(--accent-primary);color:var(--text-inverse);font-size:var(--text-sm);min-width:30px;padding:var(--space-1) var(--space-2);text-align:center}.vote-progress{background:var(--bg-primary);border:2px solid var(--border-default);height:12px;overflow:hidden;position:relative}.vote-progress-bar{background:var(--accent-primary);height:100%;position:relative;transition:width .3s ease}.vote-progress-bar:after{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#0000001a 0,#0000001a 8px);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.empty-state{padding:var(--space-8) var(--space-4)}.empty-state p{font-size:var(--text-base);margin:0}.retro-button-small{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;padding:var(--space-2) var(--space-3);text-transform:uppercase;transition:all .2s}.retro-button-small:hover{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:6px 6px 0 #0000004d;color:var(--text-inverse);transform:translate(-2px,-2px)}.retro-button{flex:1 1;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);transition:all .2s}.retro-button-success{background:var(--color-green);border-color:var(--color-green);color:#fff}.retro-button-success:hover{background:#4caf50;background:var(--color-green-dark,#4caf50);box-shadow:6px 6px 0 #0000004d;color:#fff;transform:translate(-2px,-2px)}.retro-button-danger{background:var(--color-red);border-color:var(--color-red);color:#fff}.retro-button-danger:hover{background:#d32f2f;background:var(--color-red-dark,#d32f2f);box-shadow:6px 6px 0 #0000004d;color:#fff;transform:translate(-2px,-2px)}@media (max-width:1024px){.week-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.dashboard-container{padding:var(--space-4) var(--space-2)}.dashboard-content{gap:var(--space-4)}.dashboard-section{padding:var(--space-4)}.section-header{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.week-grid{grid-template-columns:repeat(2,1fr)}.invites-list{grid-template-columns:1fr}.invite-actions{flex-direction:column}}@media (max-width:480px){.dashboard-title{font-size:var(--text-2xl)}.week-grid{grid-template-columns:1fr}.week-day{min-height:100px}}.event-modal{display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden}.event-modal.modal-content:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.event-modal.modal-content:after,.event-modal.modal-content:before{background:var(--accent-primary);content:"";height:20px;pointer-events:none;position:absolute;width:20px;z-index:1000}.event-modal.modal-content:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.event-modal-content{display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding-bottom:var(--space-4);padding-right:var(--space-2)}.event-modal .modal-close{align-items:center;background:var(--bg-tertiary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-2xl);font-weight:var(--font-bold);height:40px;justify-content:center;padding:0;transition:all var(--transition-fast);width:40px}.event-modal .modal-close:hover{background:var(--color-red);border-color:var(--color-red);box-shadow:5px 5px 0 #0000004d;color:var(--text-inverse);transform:translate(-2px,-2px)}.event-modal .modal-close:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.event-tabs{border-bottom:4px solid var(--border-default);display:flex;gap:var(--space-3);margin-bottom:var(--space-6)}.event-tab{align-items:center;background:var(--bg-primary);border:3px solid var(--border-default);border-bottom:none;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);justify-content:center;letter-spacing:1px;padding:var(--space-3) var(--space-4);position:relative;text-transform:uppercase;top:4px;transition:all .2s}.event-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.event-tab.active{background:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 -4px 0 var(--accent-primary);color:var(--accent-primary)}.tab-icon{font-size:var(--text-lg)}.event-form{box-sizing:border-box}.form-section{flex-direction:column}.form-label,.form-section{display:flex;gap:var(--space-2)}.form-label{align-items:center;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase}.label-hint{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-normal);letter-spacing:0;text-transform:none}.error-message{align-items:center;background:#f443361a;background:var(--color-red-alpha,#f443361a);border:3px solid var(--color-red);box-shadow:4px 4px 0 #0003;color:var(--color-red);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-3)}.error-icon{font-size:var(--text-lg)}.color-selector{gap:var(--space-2)}.color-button{border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;cursor:pointer;height:40px;position:relative;transition:all .2s;width:40px}.color-button:hover{box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.color-button.selected{border-color:var(--accent-primary);border-width:4px;box-shadow:0 0 0 2px var(--bg-secondary),6px 6px 0 #0000004d}.color-button.selected:after{color:#fff;content:"✓";font-size:var(--text-lg);font-weight:var(--font-bold);left:50%;position:absolute;text-shadow:1px 1px 2px #00000080;top:50%;transform:translate(-50%,-50%)}.color-purple{background:var(--color-purple)}.color-pink{background:var(--color-pink)}.color-blue{background:var(--color-blue)}.color-green{background:var(--color-green)}.color-orange{background:var(--color-orange)}.color-red{background:var(--color-red)}.options-list{display:flex;flex-direction:column;gap:var(--space-3)}.option-row{align-items:center;display:flex;gap:var(--space-2)}.option-row>:first-child{flex:1 1}.option-remove-btn{align-items:center;background:var(--color-red);border:3px solid var(--color-red);box-shadow:4px 4px 0 #0003;color:var(--text-inverse);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-bold);height:36px;justify-content:center;min-width:36px;transition:all .2s;width:36px}.option-remove-btn:hover{background:#d32f2f;background:var(--color-red-dark,#d32f2f);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.add-option-btn{background:var(--bg-primary);border:3px dashed var(--border-default);box-shadow:4px 4px 0 #0000001a;color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;padding:var(--space-2) var(--space-4);text-transform:uppercase;transition:all .2s}.add-option-btn:hover{background:var(--accent-primary-alpha);border-color:var(--accent-primary);border-style:solid;box-shadow:6px 6px 0 #0003;color:var(--accent-primary);transform:translate(-2px,-2px)}.user-selector{background:var(--bg-primary);border:3px solid var(--border-default);flex-direction:column;max-height:300px;overflow-y:auto}.user-checkbox,.user-selector{display:flex;gap:var(--space-3);padding:var(--space-3)}.user-checkbox{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-default);cursor:pointer;font-family:var(--font-mono);transition:all .2s}.user-checkbox:hover{background:var(--accent-primary-alpha);border-color:var(--accent-primary);box-shadow:4px 4px 0 #0003;transform:translate(-2px,-2px)}.user-checkbox input[type=checkbox]{display:none}.checkbox-custom{background:var(--bg-primary);border:3px solid var(--border-default);height:24px;min-width:24px;position:relative;transition:all .2s;width:24px}.user-checkbox input[type=checkbox]:checked+.checkbox-custom{background:var(--accent-primary);border-color:var(--accent-primary)}.user-checkbox input[type=checkbox]:checked+.checkbox-custom:after{color:var(--text-inverse);content:"✓";font-size:var(--text-base);font-weight:var(--font-bold);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.user-info{align-items:center;display:flex;flex:1 1;flex-direction:row;gap:var(--space-2)}.user-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold)}.user-roles{align-items:center;display:flex;gap:var(--space-1)}.no-users{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-6);text-align:center}.modal-actions{margin-top:var(--space-4)}.modal-button{border:3px solid;box-shadow:6px 6px 0 #0003;cursor:pointer;flex:1 1;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:1px;padding:var(--space-3) var(--space-5);text-transform:uppercase;transition:all .2s}.modal-button:hover:not(:disabled){box-shadow:8px 8px 0 #0000004d;transform:translate(-2px,-2px)}.modal-button:disabled{cursor:not-allowed;opacity:.5}.modal-button-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.modal-button-primary:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary)}.modal-button-secondary{background:var(--bg-primary);border-color:var(--border-default);color:var(--text-primary)}.modal-button-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary)}@media (max-width:768px){.event-modal{max-width:95vw}.form-row{grid-template-columns:1fr}.event-tabs{flex-direction:column;gap:0}.event-tab{border:3px solid var(--border-default);border-bottom:none;top:0}.event-tab:last-child{border-bottom:3px solid var(--border-default)}.event-tab.active{box-shadow:none}.modal-actions{flex-direction:column}}@media (max-width:480px){.color-button{height:32px;width:32px}}.calendar-container{background:var(--bg-primary);font-family:var(--font-mono);min-height:calc(100vh - 80px);padding:var(--space-6);transition:background var(--transition-base)}.calendar-header{background:var(--bg-elevated);border:4px solid var(--border-default);border-radius:0;box-shadow:8px 8px 0 #0003;margin-bottom:var(--space-6);padding:var(--space-6);position:relative;transition:all var(--transition-base)}.calendar-header:after,.calendar-header:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.calendar-header:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.calendar-header:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.calendar-header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.calendar-header h1{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:3px;margin:0;text-shadow:3px 3px 0 var(--accent-primary);text-transform:uppercase}.calendar-controls{align-items:center;display:flex;gap:var(--space-3)}.calendar-create-button,.calendar-nav-button,.calendar-today-button{background:var(--bg-tertiary);border:3px solid var(--border-default);border-radius:0;box-shadow:4px 4px 0 #0003;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-bold);padding:var(--space-3) var(--space-5);position:relative;transition:all var(--transition-fast)}.calendar-create-button{letter-spacing:1px;text-transform:uppercase}.calendar-create-button,.calendar-nav-button:hover,.calendar-today-button:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.calendar-create-button:hover,.calendar-nav-button:hover,.calendar-today-button:hover{box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.calendar-create-button:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.calendar-create-button:active,.calendar-nav-button:active,.calendar-today-button:active{box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.calendar-month-display{background:var(--bg-secondary);border:3px solid var(--border-default);box-shadow:inset 2px 2px 0 #0000001a;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:2px;padding:var(--space-3);text-align:center;text-transform:uppercase}.calendar-grid-container{background:var(--bg-elevated);border:4px solid var(--border-default);border-radius:0;box-shadow:8px 8px 0 #0003;padding:var(--space-6);position:relative;transition:all var(--transition-base)}.calendar-grid-container:after,.calendar-grid-container:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.calendar-grid-container:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.calendar-grid-container:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.calendar-weekday-headers{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-4)}.calendar-weekday-header{background:var(--bg-secondary);border:2px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;padding:var(--space-2);text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-auto-rows:minmax(100px,auto);grid-template-columns:repeat(7,minmax(0,1fr));min-height:600px}.calendar-day{background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0000001a;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:100px;overflow:hidden;padding:var(--space-3);position:relative;transition:all var(--transition-fast);width:100%}.calendar-day:hover:not(.empty){background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:5px 5px 0 #0003;transform:translate(-2px,-2px)}.calendar-day.empty{background:#0000;border-color:#0000;box-shadow:none;cursor:default}.calendar-day.today{border:4px solid var(--accent-primary)!important;box-shadow:0 0 0 2px var(--bg-elevated),0 0 20px var(--accent-primary-alpha),5px 5px 0 #0003}.calendar-day.today:after,.calendar-day.today:before{background:var(--accent-primary);content:"";height:8px;position:absolute;width:8px;z-index:10}.calendar-day.today:before{left:-1px;top:-1px}.calendar-day.today:after{bottom:-1px;right:-1px}.calendar-day-number{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.calendar-day.today .calendar-day-number{color:var(--accent-primary);text-shadow:2px 2px 0 var(--bg-secondary)}.calendar-day-events{display:flex;flex-direction:column;gap:var(--space-1)}.calendar-event-chip{align-items:center;border:2px solid #0000004d;border-radius:0;box-shadow:2px 2px 0 #0000004d;color:#fff;cursor:pointer;display:flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);gap:var(--space-1);letter-spacing:.5px;overflow:hidden;padding:var(--space-1) var(--space-2);text-overflow:ellipsis;text-transform:uppercase;transition:all var(--transition-fast);white-space:nowrap}.calendar-event-chip.proposed-event{animation:pulse-border 2s ease-in-out infinite;border-style:dashed;border-width:2px;opacity:.8}.calendar-event-chip.proposed-event .event-chip-title{font-style:italic}.calendar-event-chip.direct-event{border-style:solid;border-width:3px}.calendar-event-chip.finalized-event{border-style:solid;border-width:3px;box-shadow:3px 3px 0 #0003,inset 0 0 0 1px #ffffff1a}@keyframes pulse-border{0%,to{border-color:#0000004d}50%{border-color:#fffc}}.calendar-event-chip:hover{box-shadow:3px 3px 0 #0006;transform:translate(-1px,-1px)}.calendar-event-chip:active{box-shadow:1px 1px 0 #0000004d;transform:translate(1px,1px)}.event-icon{font-size:var(--text-sm);line-height:1}.event-chip-title{display:block;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-more{background:var(--bg-tertiary);border:2px dashed var(--border-default);color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);margin-top:var(--space-1);padding:var(--space-1);text-align:center}.modal-overlay{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:var(--z-modal)}.modal-content{background:var(--bg-elevated);border:4px solid var(--border-default);border-radius:0;box-shadow:12px 12px 0 #0006;box-sizing:border-box;max-height:90vh;max-width:600px;overflow-x:hidden;overflow-y:auto;padding:var(--space-10);position:relative;width:100%}.modal-content:after,.modal-content:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.modal-content:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.modal-content:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.modal-header{align-items:center;border-bottom:3px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.modal-header h2{font-family:var(--font-mono);letter-spacing:2px;margin:0;text-transform:uppercase}.modal-close-button,.modal-header h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold)}.modal-close-button{align-items:center;background:var(--bg-tertiary);border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all var(--transition-fast);width:40px}.modal-close-button:hover{background:var(--color-error);box-shadow:5px 5px 0 #0000004d;color:var(--text-inverse);transform:translate(-2px,-2px)}.modal-close-button:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.modal-error{background:var(--bg-secondary);border:3px solid var(--color-error);border-radius:0;box-shadow:4px 4px 0 #0003;color:var(--color-error);font-family:var(--font-mono);font-weight:var(--font-bold);margin-bottom:var(--space-4);padding:var(--space-4)}.event-form{display:flex;flex-direction:column;gap:var(--space-5);overflow-x:hidden;width:100%}.event-form,.event-form>*,.form-group{max-width:100%}.form-group{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-2);width:100%}.form-group label{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase}.form-group label,.form-input{color:var(--text-primary);font-family:var(--font-mono)}.form-input{background:var(--bg-secondary);border:3px solid var(--border-default);border-radius:0;box-shadow:inset 2px 2px 0 #0000001a;font-size:var(--text-base);padding:var(--space-3);transition:all var(--transition-fast)}.form-input:focus{border-color:var(--accent-primary);box-shadow:inset 2px 2px 0 #0000001a,0 0 0 3px var(--accent-primary-alpha);outline:none}input[type=datetime-local].form-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;letter-spacing:1px;text-transform:uppercase}input[type=datetime-local].form-input::-webkit-calendar-picker-indicator{background:var(--accent-primary);border-radius:0;cursor:pointer;filter:invert(1);padding:4px}input[type=datetime-local].form-input::-webkit-calendar-picker-indicator:hover{background:var(--accent-secondary);box-shadow:0 0 10px var(--accent-primary)}.form-input::placeholder{color:var(--text-tertiary);font-family:var(--font-mono)}textarea.form-input{font-family:var(--font-mono);resize:vertical}.form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.form-hint{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);margin-top:var(--space-1)}.color-selector{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-2)}.color-option{border:3px solid var(--border-default);border-radius:0;box-shadow:3px 3px 0 #0003;cursor:pointer;height:48px;position:relative;transition:all var(--transition-fast);width:48px}.color-option:hover{box-shadow:5px 5px 0 #0000004d;transform:translate(-2px,-2px)}.color-option:active{box-shadow:2px 2px 0 #0003;transform:translate(1px,1px)}.color-option.selected{border-color:var(--text-primary);border-width:4px;box-shadow:0 0 0 2px var(--accent-primary),5px 5px 0 #0000004d;transform:translate(-2px,-2px)}.color-option.selected:after{color:#fff;content:"✓";font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-bold);left:50%;position:absolute;text-shadow:2px 2px 0 #00000080;top:50%;transform:translate(-50%,-50%)}.participant-selector{background:var(--bg-secondary);border:3px solid var(--border-default);box-shadow:inset 2px 2px 0 #0000001a;display:flex;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto;padding:var(--space-2)}.participant-option{background:var(--bg-elevated);border:2px solid var(--border-default);padding:var(--space-2);transition:all var(--transition-fast)}.participant-option:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.participant-role{font-size:var(--text-xs);margin-left:var(--space-2)}.no-members,.participant-role{color:var(--text-tertiary);font-family:var(--font-mono);text-transform:uppercase}.no-members{padding:var(--space-4);text-align:center}.event-details{gap:var(--space-4)}.event-detail-row,.event-details{display:flex;flex-direction:column}.event-detail-row{background:var(--bg-secondary);border:3px solid var(--border-default);gap:var(--space-2);padding:var(--space-3)}.event-detail-row strong{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase}.event-detail-row span{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base)}.participant-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.participant-badge{align-items:center;background:var(--bg-tertiary);border:3px solid var(--border-default);border-radius:0;box-shadow:2px 2px 0 #0003;color:var(--text-primary);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.modal-actions{border-top:3px solid var(--border-default);display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4)}.cancel-button,.delete-button,.submit-button{border:3px solid var(--border-default);border-radius:0;box-shadow:4px 4px 0 #0003;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:1px;padding:var(--space-3) var(--space-6);text-transform:uppercase;transition:all var(--transition-fast)}.cancel-button{background:var(--bg-tertiary);border-color:var(--border-default);color:var(--text-primary)}.cancel-button:hover{background:var(--bg-secondary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.submit-button{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.submit-button:hover:not(:disabled){background:var(--accent-secondary);box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.submit-button:active:not(:disabled){box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.submit-button:disabled{box-shadow:2px 2px 0 #0000001a;cursor:not-allowed;opacity:.5}.delete-button{background:var(--color-error);border-color:var(--color-error);color:var(--text-inverse)}.delete-button:hover:not(:disabled){background:#d63447;box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.delete-button:active:not(:disabled){box-shadow:2px 2px 0 #0003;transform:translate(2px,2px)}.delete-button:disabled{cursor:not-allowed;opacity:.5}.retro-loading{align-items:center;color:var(--accent-primary);display:flex;flex-direction:column;font-family:var(--font-mono);gap:var(--space-4);justify-content:center;min-height:60vh;padding:var(--space-10)}.loading-spinner{animation:pixelSpin 1s linear infinite;border:4px solid var(--border-default);border-radius:0;border-top-color:var(--accent-primary);height:40px;width:40px}@keyframes pixelSpin{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(1turn)}}@keyframes blink{50%{opacity:.5}}@media (max-width:768px){.calendar-container{padding:var(--space-4)}.calendar-header-content{flex-direction:column;gap:var(--space-4)}.calendar-controls{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.calendar-create-button{margin-top:var(--space-2);width:100%}.calendar-grid{gap:var(--space-2);min-height:400px}.calendar-day{min-height:80px;padding:var(--space-2)}.form-row{grid-template-columns:1fr}.modal-content{max-width:90vw;padding:var(--space-8)}.modal-header h2{font-size:var(--text-xl)}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.event-form{gap:var(--space-4)}}@media (max-width:600px){.modal-overlay{padding:var(--space-2)}.modal-content{border-width:3px;box-shadow:6px 6px 0 #0006;max-width:95vw;padding:var(--space-6)}.modal-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.modal-header h2{font-size:var(--text-lg);letter-spacing:1px}.modal-close-button{font-size:var(--text-xl);height:32px;width:32px}.event-form{gap:var(--space-3)}.form-group label{font-size:var(--text-xs)}.form-input{font-size:var(--text-sm);padding:var(--space-2)}.color-option{height:40px;width:40px}.cancel-button,.delete-button,.submit-button{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.modal-actions{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3)}}@media (max-width:480px){.modal-content{padding:var(--space-5)}.calendar-header h1{font-size:var(--text-xl)}.calendar-create-button,.calendar-nav-button,.calendar-today-button{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}}.lightbox-overlay{align-items:center;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:10000}.lightbox-content{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);max-height:90vh;max-width:90vw;position:relative}.lightbox-close{background:var(--accent-primary);border:3px solid var(--text-primary);box-shadow:4px 4px 0 #00000080;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-bold);height:44px;position:absolute;right:0;top:-40px;transition:all var(--transition-fast);width:44px}.lightbox-close:hover{background:var(--text-primary);box-shadow:6px 6px 0 #00000080;color:var(--bg-primary);transform:translate(-2px,-2px)}.lightbox-counter{border:3px solid var(--border-default);box-shadow:4px 4px 0 #00000080;font-size:var(--text-sm);left:0;letter-spacing:1px;padding:var(--space-2) var(--space-4);top:-40px}.lightbox-counter,.lightbox-nav{background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-mono);font-weight:var(--font-bold);position:absolute}.lightbox-nav{border:4px solid var(--border-default);box-shadow:5px 5px 0 #00000080;cursor:pointer;font-size:var(--text-2xl);height:60px;top:50%;transform:translateY(-50%);transition:all var(--transition-fast);width:60px;z-index:10}.lightbox-nav:hover{background:var(--accent-primary);box-shadow:7px 7px 0 #00000080;transform:translateY(-50%) translate(-2px,-2px)}.lightbox-nav-prev{left:-80px}.lightbox-nav-next{right:-80px}.lightbox-image-container{align-items:center;background:var(--bg-secondary);border:4px solid var(--border-default);box-shadow:8px 8px 0 #00000080;display:flex;justify-content:center;max-height:70vh;max-width:90vw;padding:var(--space-2)}.lightbox-image{display:block;image-rendering:crisp-edges;max-height:65vh;max-width:100%}.lightbox-caption-section{background:var(--bg-secondary);border:3px solid var(--border-default);box-shadow:5px 5px 0 #00000080;max-width:800px;padding:var(--space-4);width:100%}.lightbox-caption-display{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.lightbox-caption-text{color:var(--text-primary);font-size:var(--text-base)}.lightbox-caption-empty,.lightbox-caption-text{flex:1 1;font-family:var(--font-mono);font-style:italic;margin:0}.lightbox-caption-empty{color:var(--text-muted);font-size:var(--text-sm)}.lightbox-caption-edit-btn{background:var(--bg-tertiary);border:2px solid var(--border-default);box-shadow:3px 3px 0 #0000004d;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.lightbox-caption-edit-btn:hover{background:var(--accent-primary);box-shadow:4px 4px 0 #0006;transform:translate(-1px,-1px)}.lightbox-caption-edit{display:flex;flex-direction:column;gap:var(--space-3)}.lightbox-caption-input{background:var(--bg-primary);border:3px solid var(--border-default);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);outline:none;padding:var(--space-3);width:100%}.lightbox-caption-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary)}.lightbox-caption-actions{display:flex;gap:var(--space-3)}.lightbox-btn{border:3px solid var(--border-default);box-shadow:3px 3px 0 #0000004d;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.lightbox-btn:disabled{cursor:not-allowed;opacity:.5}.lightbox-btn-save{background:var(--accent-primary);color:var(--text-primary)}.lightbox-btn-save:hover:not(:disabled){box-shadow:4px 4px 0 #0006;transform:translate(-1px,-1px)}.lightbox-btn-cancel{background:var(--bg-tertiary);color:var(--text-primary)}.lightbox-btn-cancel:hover:not(:disabled){background:var(--bg-primary);box-shadow:4px 4px 0 #0006;transform:translate(-1px,-1px)}.lightbox-info{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);justify-content:space-between;max-width:800px;padding:0 var(--space-2);width:100%}.lightbox-date,.lightbox-uploader{padding:var(--space-1) var(--space-2)}@media (max-width:768px){.lightbox-nav{font-size:var(--text-xl);height:50px;width:50px}.lightbox-nav-prev{left:-60px}.lightbox-nav-next{right:-60px}.lightbox-image{max-height:60vh}.lightbox-counter{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.lightbox-close{font-size:var(--text-base);height:36px;width:36px}}@media (max-width:480px){.lightbox-nav{font-size:var(--text-lg);height:40px;position:static;transform:none;width:100%}.lightbox-nav-next,.lightbox-nav-prev{left:auto;right:auto}.lightbox-content{gap:var(--space-2)}.lightbox-image{max-height:50vh}}.event-recap-container{background:var(--bg-primary);margin:0 auto;max-width:1200px;min-height:100vh;padding:var(--space-8) var(--space-6)}.recap-header{background:var(--bg-secondary);border:4px solid var(--border-default);box-shadow:8px 8px 0 #0000004d;margin-bottom:var(--space-8);padding:var(--space-6);position:relative}.recap-header:after,.recap-header:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.recap-header:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.recap-header:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.back-button{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:3px 3px 0 #0003;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4);text-transform:uppercase;transition:all var(--transition-fast)}.back-button:hover{background:var(--bg-tertiary);box-shadow:5px 5px 0 #0000004d;transform:translate(-2px,-2px)}.recap-header-content{display:flex;flex-direction:column;gap:var(--space-3)}.recap-title-wrapper{align-items:center;display:flex;gap:var(--space-3)}.recap-color-dot{border-radius:3px;box-shadow:3px 3px 0 #0000004d;height:20px;min-width:20px;width:20px}.recap-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:2px;margin:0;text-transform:uppercase}.recap-meta,.recap-title{font-family:var(--font-mono)}.recap-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-4)}.recap-date,.recap-location{align-items:center;display:flex;gap:var(--space-2)}.recap-description{background:var(--bg-primary);border:2px solid var(--border-default);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);line-height:1.6;margin:0;padding:var(--space-3)}.recap-content{display:flex;flex-direction:column;gap:var(--space-8)}.recap-section{background:var(--bg-secondary);border:4px solid var(--border-default);box-shadow:8px 8px 0 #0000004d;padding:var(--space-6);position:relative}.recap-section:after,.recap-section:before{background:var(--accent-primary);content:"";height:20px;position:absolute;width:20px}.recap-section:before{-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);left:-2px;top:-2px}.recap-section:after{bottom:-2px;-webkit-clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%);right:-2px}.section-header{border-bottom:3px solid var(--border-default);justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.section-header,.section-title{align-items:center;display:flex}.section-title{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);letter-spacing:1px;margin:0;text-transform:uppercase}.section-icon{font-size:var(--text-2xl)}.upload-label{cursor:pointer;display:inline-block;flex:0 0 auto;white-space:nowrap}.images-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.image-card{background:var(--bg-primary);border:4px solid var(--border-default);box-shadow:6px 6px 0 #0000004d;cursor:pointer;display:flex;flex-direction:column;overflow:visible;position:relative;transition:all var(--transition-fast)}.image-card:before{background:var(--accent-primary);-webkit-clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 50%,50% 50%,50% 100%,0 100%);content:"";height:12px;left:-2px;opacity:0;position:absolute;top:-2px;transition:opacity var(--transition-fast);width:12px;z-index:2}.image-card:hover:before{opacity:1}.image-card:hover{border-color:var(--accent-primary);border-width:5px;box-shadow:9px 9px 0 #0006;transform:translate(-3px,-3px)}.image-card img{aspect-ratio:1;border:3px solid var(--bg-tertiary);display:block;filter:contrast(1.1) saturate(1.2);image-rendering:crisp-edges;object-fit:cover;width:100%}.image-card:hover img{filter:contrast(1.15) saturate(1.3) brightness(1.05)}.image-caption{background:var(--bg-secondary);border-top:2px solid var(--border-default);font-size:var(--text-sm);font-style:italic;line-height:1.4;margin:0;text-align:center}.image-caption,.recap-participants{color:var(--text-primary);font-family:var(--font-mono);padding:var(--space-2) var(--space-3)}.recap-participants{background:var(--bg-tertiary);border:2px solid var(--border-default);box-shadow:3px 3px 0 #0003;display:inline-block;font-size:var(--text-base);letter-spacing:.5px}.blog-post-form{background:var(--bg-primary);border:2px solid var(--border-default);gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4)}.blog-post-form,.blog-posts-list{display:flex;flex-direction:column}.blog-posts-list{gap:var(--space-4)}.blog-post-card{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;padding:var(--space-4)}.blog-post-header{align-items:center;border-bottom:2px solid var(--border-default);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-2)}.blog-post-author{color:var(--accent-primary);font-weight:var(--font-bold)}.blog-post-date{color:var(--text-secondary)}.blog-post-content{color:var(--text-primary);line-height:1.6;margin:0;white-space:pre-wrap}.blog-post-content,.empty-state{font-family:var(--font-mono);font-size:var(--text-base)}.empty-state{background:var(--bg-primary);border:3px dashed var(--border-default);color:var(--text-secondary);padding:var(--space-8);position:relative;text-align:center}.empty-state:before{color:var(--text-muted);content:"[---]";display:block;font-size:var(--text-2xl);margin-bottom:var(--space-2)}.retro-button{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:1px;padding:var(--space-3) var(--space-5);text-transform:uppercase;transition:all var(--transition-fast)}.retro-button:hover:not(:disabled){box-shadow:6px 6px 0 #0000004d;transform:translate(-2px,-2px)}.retro-button:disabled{cursor:not-allowed;opacity:.5}.retro-button-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.retro-button-primary:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary)}.error,.loading{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-lg);padding:var(--space-8);text-align:center}.error{color:var(--color-red)}@media (max-width:768px){.event-recap-container{padding:var(--space-4)}.recap-title{font-size:var(--text-2xl)}.images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.section-header{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.recap-meta{flex-direction:column;gap:var(--space-2)}}.recap-header-top{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4)}.recap-header-top .retro-button{flex:0 0 auto;white-space:nowrap}.edit-buttons{display:flex;flex:0 0 auto;gap:var(--space-3)}.recap-title-input{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--font-black);padding:var(--space-2) var(--space-3);width:100%}.recap-title-input:focus{border-color:var(--accent-primary);box-shadow:6px 6px 0 #667eea4d;outline:none}.edit-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.edit-field label{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase}.recap-input{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);padding:var(--space-3)}.recap-input:focus{border-color:var(--accent-primary);box-shadow:6px 6px 0 #667eea4d;outline:none}.recap-textarea{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);min-height:80px;padding:var(--space-3);resize:vertical}.recap-textarea:focus{border-color:var(--accent-primary);box-shadow:6px 6px 0 #667eea4d;outline:none}.participants-select{background:var(--bg-primary);border:3px solid var(--border-default);box-shadow:4px 4px 0 #0003;display:flex;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto;padding:var(--space-4)}.participant-checkbox{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:var(--text-base);gap:var(--space-3);padding:var(--space-2);transition:background var(--transition-fast)}.participant-checkbox:hover{background:var(--bg-tertiary)}.participant-checkbox input[type=checkbox]{accent-color:var(--accent-primary);cursor:pointer;height:20px;width:20px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--font-heading:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--text-xs:0.688rem;--text-sm:0.813rem;--text-base:0.938rem;--text-lg:1.063rem;--text-xl:1.188rem;--text-2xl:1.375rem;--text-3xl:1.688rem;--text-4xl:2rem;--text-5xl:2.5rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.75;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:0.938rem;--space-5:1.125rem;--space-6:1.375rem;--space-8:1.75rem;--space-10:2.25rem;--space-12:2.75rem;--space-16:3.5rem;--space-20:4.25rem;--space-24:5rem;--radius-none:0;--radius-sm:0.25rem;--radius-base:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-glow:0 0 20px #9d5cff4d;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-primary);font-size:.938rem;font-size:var(--text-base);font-weight:400;font-weight:var(--font-normal);line-height:1.5;line-height:var(--leading-normal);min-height:100vh;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-base),color var(--transition-base)}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-heading);font-weight:600;font-weight:var(--font-semibold);line-height:1.2;line-height:var(--leading-tight);margin-bottom:.938rem;margin-bottom:var(--space-4)}h1{font-size:2rem;font-size:var(--text-4xl);letter-spacing:-.02em}h2{font-size:1.688rem;font-size:var(--text-3xl);letter-spacing:-.01em}h3{font-size:1.375rem;font-size:var(--text-2xl)}h4{font-size:1.188rem;font-size:var(--text-xl)}h5{font-size:1.063rem;font-size:var(--text-lg)}h6{font-size:.938rem;font-size:var(--text-base)}p{color:var(--text-secondary);margin-bottom:.938rem;margin-bottom:var(--space-4)}a{color:var(--accent-primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}a:focus-visible{border-radius:.25rem;border-radius:var(--radius-sm);outline:2px solid var(--accent-primary);outline-offset:2px}code,pre{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-family:var(--font-mono);font-size:.9em}code{border-radius:.25rem;border-radius:var(--radius-sm);color:var(--accent-primary);padding:.25rem .5rem;padding:var(--space-1) var(--space-2)}code,pre{background:var(--bg-tertiary)}pre{border-radius:.5rem;border-radius:var(--radius-base);margin-bottom:.938rem;margin-bottom:var(--space-4);overflow-x:auto;padding:.938rem;padding:var(--space-4)}pre code{background:none;padding:0}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-elevated{background-color:var(--bg-elevated)}.accent{color:var(--accent-primary)}.success{color:var(--color-success)}.warning{color:var(--color-warning)}.error{color:var(--color-error)}.info{color:var(--color-info)}.text-xs{font-size:.688rem;font-size:var(--text-xs)}.text-sm{font-size:.813rem;font-size:var(--text-sm)}.text-base{font-size:.938rem;font-size:var(--text-base)}.text-lg{font-size:1.063rem;font-size:var(--text-lg)}.text-xl{font-size:1.188rem;font-size:var(--text-xl)}.text-2xl{font-size:1.375rem;font-size:var(--text-2xl)}.text-3xl{font-size:1.688rem;font-size:var(--text-3xl)}.font-light{font-weight:300;font-weight:var(--font-light)}.font-normal{font-weight:400;font-weight:var(--font-normal)}.font-medium{font-weight:500;font-weight:var(--font-medium)}.font-semibold{font-weight:600;font-weight:var(--font-semibold)}.font-bold{font-weight:700;font-weight:var(--font-bold)}.m-0{margin:0;margin:var(--space-0)}.m-2{margin:.5rem;margin:var(--space-2)}.m-4{margin:.938rem;margin:var(--space-4)}.m-6{margin:1.375rem;margin:var(--space-6)}.m-8{margin:1.75rem;margin:var(--space-8)}.mt-2{margin-top:.5rem;margin-top:var(--space-2)}.mt-4{margin-top:.938rem;margin-top:var(--space-4)}.mt-6{margin-top:1.375rem;margin-top:var(--space-6)}.mt-8{margin-top:1.75rem;margin-top:var(--space-8)}.mb-2{margin-bottom:.5rem;margin-bottom:var(--space-2)}.mb-4{margin-bottom:.938rem;margin-bottom:var(--space-4)}.mb-6{margin-bottom:1.375rem;margin-bottom:var(--space-6)}.mb-8{margin-bottom:1.75rem;margin-bottom:var(--space-8)}.p-0{padding:0;padding:var(--space-0)}.p-2{padding:.5rem;padding:var(--space-2)}.p-4{padding:.938rem;padding:var(--space-4)}.p-6{padding:1.375rem;padding:var(--space-6)}.p-8{padding:1.75rem;padding:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem;gap:var(--space-2)}.gap-4{gap:.938rem;gap:var(--space-4)}.gap-6{gap:1.375rem;gap:var(--space-6)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.rounded-sm{border-radius:.25rem;border-radius:var(--radius-sm)}.rounded{border-radius:.5rem;border-radius:var(--radius-base)}.rounded-md{border-radius:.75rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:1rem;border-radius:var(--radius-lg)}.rounded-xl{border-radius:1.5rem;border-radius:var(--radius-xl)}.rounded-full{border-radius:9999px;border-radius:var(--radius-full)}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow{box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow-base)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border:2px solid var(--bg-secondary);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-tertiary)}*{scrollbar-color:var(--bg-tertiary) var(--bg-secondary);scrollbar-width:thin}::selection{background-color:var(--accent-primary);color:var(--text-inverse)}::-moz-selection{background-color:var(--accent-primary);color:var(--text-inverse)}
/*# sourceMappingURL=main.35a3d75d.css.map*/