.navbar{display:flex;justify-content:space-between;align-items:center;background-color:#fdfdfd;padding:1rem 1.5rem;color:#fff;border-bottom:4px solid #000;position:relative}.nav-brand{font-size:2rem;font-weight:900;color:#333;text-decoration:none;z-index:100}.hamburger-menu{display:flex;flex-direction:column;justify-content:space-around;width:2.5rem;height:2.5rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:102}.hamburger-line{width:2.5rem;height:.3rem;background:#333;border-radius:10px;transition:all .3s ease-in-out}.hamburger-menu.open .hamburger-line{background:#f44336}.hamburger-menu.open .hamburger-line:nth-child(1){transform:translateY(.8rem) rotate(45deg)}.hamburger-menu.open .hamburger-line:nth-child(2){opacity:0;transform:translate(-20px)}.hamburger-menu.open .hamburger-line:nth-child(3){transform:translateY(-.8rem) rotate(-45deg)}.hamburger-menu.open:hover .hamburger-line{background:#d9534f}.nav-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;background:#f4f4f4;border-left:4px solid #000;position:fixed;top:0;right:0;height:100vh;width:70%;transform:translate(100%);transition:transform .3s ease-in-out;z-index:101}.nav-links.open{transform:translate(0)}.nav-links a{color:#333;text-decoration:none;font-size:2rem;font-weight:900;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:#ff69b4}.nav-auth-section{margin-top:2rem}.login-button{padding:.75rem 1.5rem;background-color:#1e90ff;color:#fff!important;border:4px solid #000;border-radius:12px;font-family:Patrick Hand,sans-serif;font-size:1.5rem;display:inline-block}.user-profile{display:flex;align-items:center;gap:1rem}.profile-pic{width:50px;height:50px;border-radius:50%;border:4px solid #000}.logout-button{padding:.75rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.5rem;font-weight:900;background-color:#f44336;color:#fff;border:4px solid #000;border-radius:12px;cursor:pointer}@media(min-width:768px){.navbar{padding:.5rem 2rem}.hamburger-menu{display:none}.nav-links{position:static;flex-direction:row;height:auto;width:auto;background:transparent;border:none;transform:translate(0);gap:1.5rem}.nav-links a{font-size:1.5rem}.nav-auth-section{margin-top:0;margin-left:auto}.logout-button,.login-button{font-size:1.2rem}}.home-page{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem;min-height:70vh;justify-content:center}.home-header{margin-bottom:3rem}.home-header h1{font-size:3.5rem;margin-bottom:.5rem;color:#333;text-shadow:2px 2px 0 #fff,4px 4px 0 #ddd}.home-subtitle{font-size:1.5rem;color:#555;max-width:600px;margin:0 auto}.home-main{width:100%;max-width:500px}.home-card{background-color:#fff;padding:2.5rem;border-radius:15px;border:4px solid #000;box-shadow:8px 8px #ddd;transform:rotate(-1deg);transition:transform .2s ease-in-out}.home-card:hover{transform:rotate(0) scale(1.02)}.join-card{margin-top:3rem;transform:rotate(1deg)}.home-cta-button{display:inline-block;margin-top:1.5rem;padding:1rem 2.5rem;font-size:1.5rem;font-weight:900;color:#fff;background-color:#1e90ff;border:4px solid #000;border-radius:12px;text-decoration:none;transition:transform .2s,background-color .2s}.home-cta-button:hover{background-color:#4ca1ff;transform:translateY(-3px)}.join-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}@media(min-width:768px){.home-main{display:flex;gap:3rem;max-width:960px;align-items:flex-start}.join-card{margin-top:0}}.about-page{padding:2rem 1rem;text-align:center}.about-page h1{font-size:3.5rem;margin-bottom:3rem;color:#333;text-shadow:2px 2px 0 #fff,4px 4px 0 #ddd}.about-section{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-bottom:4rem;text-align:center}.about-image{width:100%;max-width:350px;border:4px solid #000;border-radius:15px;box-shadow:8px 8px #ddd;transform:rotate(-2deg)}.profile-image{border-radius:50%;transform:rotate(2deg);object-fit:cover;height:350px}.about-text{max-width:600px}.about-text h2{font-size:2.5rem;margin-top:0}.about-text p{font-size:1.3rem;line-height:1.7}.about-text a{color:#1e90ff;font-weight:900;text-decoration:none;border-bottom:3px solid #a7d7ff;transition:color .2s,border-bottom-color .2s}.about-text a:hover{color:#ff69b4;border-bottom-color:#ffc1da}@media(min-width:768px){.about-section{flex-direction:row;text-align:left}.about-section.reverse{flex-direction:row-reverse}.about-image{flex-shrink:0}.about-text h2{text-align:left}}.list-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.list-page-actions{display:flex;gap:1rem;flex-wrap:wrap}.create-button{padding:.5rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.2rem;font-weight:900;background-color:#1e90ff;color:#fff;border:4px solid #000;border-radius:12px;cursor:pointer;transition:transform .2s,background-color .2s;box-shadow:4px 4px #ddd}.join-button{padding:.5rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.2rem;font-weight:900;background-color:#4caf50;color:#fff;border:4px solid #000;border-radius:12px;cursor:pointer;transition:transform .2s,background-color .2s;box-shadow:4px 4px #ddd}.chart-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.chart-list-item{display:flex;align-items:center;justify-content:center;padding:2rem;border-radius:12px;background-color:#fff;border:4px solid #000;box-shadow:0 4px 8px #0000001a;text-decoration:none;color:#333;font-size:1.5rem;font-weight:900;text-align:center;transition:transform .2s,box-shadow .2s}.chart-list-item:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.create-button:hover{background-color:#4ca1ff;transform:translateY(-2px) scale(1.02)}.join-button:hover{background-color:#5cb85c;transform:translateY(-2px) scale(1.02)}.no-charts-container{text-align:center;padding:3rem 2rem;margin-top:3rem;border:4px dashed #ccc;border-radius:15px;background-color:#ffffffb3}.no-charts-container h2{font-size:2.5rem;margin-top:0;color:#333}.no-charts-container p{font-size:1.3rem;color:#555;margin-bottom:2rem}.join-form{display:flex;flex-direction:column;gap:1rem;margin:1.5rem auto 0;max-width:400px}.join-form input{padding:1rem;font-size:1.5rem;text-align:center;letter-spacing:.25rem;text-transform:uppercase;border:4px solid #000;border-radius:12px;font-family:Patrick Hand,sans-serif}.join-form button{padding:1rem;font-size:1.5rem;font-weight:900;color:#fff;background-color:#4caf50;border:4px solid #000;border-radius:12px;cursor:pointer;font-family:Patrick Hand,sans-serif}.create-form{display:flex;flex-direction:column;gap:1rem;margin:1.5rem auto 0;max-width:400px}.create-form input{padding:1rem;font-size:1.5rem;text-align:center;border:4px solid #000;border-radius:12px;font-family:Patrick Hand,sans-serif}.create-form button{padding:1rem;font-size:1.5rem;font-weight:900;color:#fff;background-color:#1e90ff;border:4px solid #000;border-radius:12px;cursor:pointer;font-family:Patrick Hand,sans-serif}.create-form button:disabled{background-color:#ccc;cursor:not-allowed}.approval-mode-selector{margin:1.5rem 0;text-align:left;border:none;padding:0}.approval-mode-selector>label{font-weight:900;font-size:1.5rem;display:block;margin-bottom:1rem;text-align:center}.radio-group{display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.radio-group label{display:block;padding:1rem;border:4px solid #000;border-radius:12px;cursor:pointer;font-size:1.2rem;text-align:center;background-color:#f0f0f0;transition:transform .2s,background-color .2s}.radio-group label:hover{transform:translateY(-2px);background-color:#e9e9e9}.radio-group input[type=radio]{display:none}.radio-group input[type=radio]:checked+span{font-weight:900;color:#ff9800}.radio-group label:has(input[type=radio]:checked){background-color:#fff3e0;border-color:#ff9800;transform:scale(1.02)}.back-to-charts-link{display:inline-block;margin-bottom:1.5rem;font-size:1.2rem;color:#555;text-decoration:none;font-weight:900;transition:color .2s}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.chart-actions{display:flex;flex-direction:column;width:100%;gap:1rem}.title-container{display:flex;align-items:center;gap:1rem;flex-grow:1}.title-edit-form{flex-grow:1;display:flex;gap:.5rem}.title-edit-form input{width:100%;font-family:Patrick Hand,sans-serif;font-size:2em;font-weight:900;border:4px dashed #ccc;border-radius:12px;padding:.25rem .5rem;line-height:1.2}.save-title-button{padding:.5rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.2rem;font-weight:900;background-color:#1e90ff;color:#fff;border:4px solid #000;border-radius:12px;cursor:pointer;transition:transform .2s}.edit-title-button{background:#fff;border:3px solid #555;cursor:pointer;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#555;transition:transform .2s}.edit-title-button:hover{transform:scale(1.2)}.settings-button{padding:.5rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.2rem;font-weight:900;background-color:#1e90ff;color:#fff;border:4px solid #333;border-radius:12px;transform:rotate(-.5deg);cursor:pointer;transition:transform .2s}.delete-chart-button{padding:.5rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.2rem;font-weight:900;background-color:#f44336;color:#fff;border:4px solid #333;transform:rotate(.5deg);border-radius:12px;cursor:pointer;transition:transform .2s}.settings-button:hover,.delete-chart-button:hover{transform:scale(1.05)}.share-button{padding:.5rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.2rem;font-weight:900;background-color:#fff;transform:rotate(-.5deg);border:4px solid #333;border-radius:12px;cursor:pointer;transition:transform .2s}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.settings-form .form-group{display:flex;flex-direction:column;gap:.5rem}.settings-form label{font-weight:900;font-size:1.1rem}.settings-form input[type=text]{padding:.75rem;font-size:1.1rem;border:3px solid #ccc;border-radius:8px;font-family:Patrick Hand,sans-serif}.settings-form .radio-group{display:flex;flex-direction:column;gap:.75rem}.settings-form .radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;font-size:1.1rem;cursor:pointer}.save-settings-button{padding:.75rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.3rem;font-weight:900;background-color:#4caf50;color:#fff;border:4px solid #000;border-radius:12px;cursor:pointer;transition:transform .2s}.save-settings-button:hover{transform:scale(1.05)}.visual-chart{display:flex;flex-direction:column;border:4px solid #333;border-radius:15px;overflow:hidden;box-shadow:0 4px 8px #00000026;transform:rotate(-.5deg)}.level-row{padding:1rem;border-bottom:4px solid #333;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.visual-chart .level-row:last-child{border-bottom:none}.level-name{font-size:1.25rem;color:#000000b3;font-weight:900;text-shadow:1px 1px 1px rgba(255,255,255,.6)}.people-in-level{display:flex;flex-direction:column;width:100%;gap:1rem}@keyframes fly-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fly-out-up{to{opacity:0;transform:translateY(-50px) scale(.9)}}@keyframes fly-out-down{to{opacity:0;transform:translateY(50px) scale(.9)}}.person-clip{background-color:#fffc;padding:.75rem 1rem;border-radius:12px;border:4px solid #333;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 5px #0003;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;animation:fly-in .3s ease-out}.person-clip.animating-out-up{animation:fly-out-up .2s ease-in forwards}.person-clip.animating-out-down{animation:fly-out-down .2s ease-in forwards}.person-clip:hover{transform:scale(1.05) rotate(1deg);box-shadow:0 4px 10px #00000040}.person-clip:nth-child(odd){transform:rotate(-1.5deg)}.person-clip:nth-child(2n){transform:rotate(1.5deg)}.person-info{display:flex;flex-direction:column;justify-content:center}.person-name{font-weight:900;font-size:1.4rem;color:#333}.person-username{font-size:.9rem;color:#555;margin-top:-10px}.button-group{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.owner-actions{display:flex;gap:.5rem;align-items:center}.person-edit-btn,.person-delete-btn{background:#fff;border:3px solid #555;cursor:pointer;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#333;transition:transform .2s,background-color .2s,border-color .2s}.person-edit-btn svg,.person-delete-btn svg{width:20px;height:20px}.person-edit-btn:hover{transform:scale(1.1);color:#1e90ff;background-color:#e3f2fd;border-color:#1e90ff}.person-delete-btn:hover{transform:scale(1.1);color:#f44336;background-color:#ffebee;border-color:#f44336}.person-edit-btn:disabled,.person-delete-btn:disabled{cursor:not-allowed;background-color:#e0e0e0;border-color:#9e9e9e;color:#9e9e9e;transform:none}.person-edit-form{display:flex;gap:.5rem;flex-grow:1;align-items:center}.person-edit-form input{font-family:Patrick Hand,sans-serif;font-size:1.4rem;font-weight:900;border:2px dashed #ccc;border-radius:8px;padding:.1rem .4rem;width:100%}.save-person-button{background:#fff;border:3px solid #555;cursor:pointer;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#333;transition:transform .2s,background-color .2s,border-color .2s}.save-person-button:hover{transform:scale(1.1);color:#4caf50;background-color:#e8f5e9;border-color:#4caf50}.save-person-button svg{width:20px;height:20px}.button-group button{padding:.5rem .25rem;border-radius:8px;cursor:pointer;font-family:Patrick Hand,sans-serif;font-size:1rem;font-weight:900;transition:background-color .2s,border-color .2s}.button-group button:disabled{cursor:not-allowed;opacity:.5}.clip-up-btn{background-color:#4caf50;color:#fff;border:4px solid #333}.clip-up-btn:hover:not(:disabled){background-color:#5cb85c}.clip-down-btn{background-color:#f44336;color:#fff;border:4px solid #333}.clip-down-btn:hover:not(:disabled){background-color:#d9534f}@media(min-width:768px){.level-row{flex-direction:row;align-items:center;min-height:80px;padding:1rem 1.5rem}.level-name{flex-basis:220px;flex-shrink:0;font-size:1.75rem}.person-clip{border-radius:30px;padding:.5rem 1.25rem}.button-group{flex-direction:row;gap:.5rem}.people-in-level{flex-direction:row;flex-wrap:wrap}.chart-actions{flex-direction:row;width:auto;flex-shrink:0}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;padding:2rem;border-radius:15px;border:4px solid #000;width:90%;max-width:500px;position:relative;text-align:center;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin-top:0;font-size:2rem}.modal-close-btn{position:absolute;top:10px;right:15px;background:none;border:none;font-size:2.5rem;cursor:pointer;line-height:1;font-family:sans-serif}.share-option{margin-top:1.5rem}.share-option h3{font-size:1.2rem;margin-bottom:.5rem}.qr-code-container{display:inline-block;padding:1rem;background:#fff;border:4px solid #000;border-radius:12px}.qr-code-container p{margin:.5rem 0 0;font-size:1rem}.share-code-box{background:#eee;border:4px solid #000;border-radius:8px;padding:.75rem;font-size:2rem;font-weight:900;letter-spacing:.25rem}.share-link-box{display:flex;border:4px solid #000;border-radius:8px;overflow:hidden}.share-link-box input{flex-grow:1;border:none;padding:.75rem;font-size:1rem;background:#eee;font-family:Patrick Hand,sans-serif}.share-link-box button{border:none;background:#1e90ff;color:#fff;padding:0 1rem;font-family:Patrick Hand,sans-serif;font-size:1.2rem;font-weight:900;cursor:pointer}.create-form textarea{padding:1rem;font-size:1.2rem;border:4px solid #000;border-radius:12px;font-family:Patrick Hand,sans-serif;width:100%;box-sizing:border-box;resize:vertical}.pending-requests-container{margin:2rem 0;padding:1.5rem;background-color:#fff8e1;border:4px solid #fdd835;border-radius:12px}.pending-requests-container h3{margin-top:0;font-size:1.8rem;color:#333;border-bottom:2px solid #fdd835;padding-bottom:.5rem}.pending-request-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;flex-direction:column;border-bottom:1px solid #eee;gap:1rem}.pending-request-item:last-child{border-bottom:none}.request-info{width:100%;text-align:center}.request-info p{margin:0;line-height:1.5}.request-reason{font-size:.9rem;color:#555;margin-top:.25rem!important}.clip-up-text{color:#4caf50;font-weight:700}.clip-down-text{color:#f44336;font-weight:700}.request-actions{display:flex;gap:.5rem;width:100%}.request-actions button{padding:.5rem 1rem;border-radius:8px;border:4px solid #000;cursor:pointer;font-family:Patrick Hand,sans-serif;font-size:1rem;font-weight:900;transition:transform .2s;flex-grow:1}.request-actions button:hover{transform:translateY(-2px)}.approve-btn{background-color:#4caf50;color:#fff}.reject-btn{background-color:#f44336;color:#fff}@media(min-width:768px){.pending-request-item{flex-direction:row}.request-info{width:auto;text-align:left}.request-actions{width:auto}}.confirm-modal .modal-close-btn{display:none}.confirm-modal p{font-size:1.3rem;margin:2rem 0}.confirm-modal-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.confirm-modal-actions button{padding:.75rem 2rem;font-family:Patrick Hand,sans-serif;font-size:1.3rem;font-weight:900;border:4px solid #000;border-radius:12px;cursor:pointer;transition:transform .2s,background-color .2s}.confirm-btn-cancel{background-color:#ccc;color:#333}.confirm-btn-cancel:hover{background-color:#bbb;transform:translateY(-2px)}.confirm-btn-confirm{background-color:#f44336;color:#fff}.confirm-btn-confirm:hover{background-color:#d9534f;transform:translateY(-2px)}.login-page{display:flex;align-items:center;justify-content:center;min-height:70vh;text-align:center}.login-card{background-color:#fff;padding:3rem;border-radius:15px;border:4px solid #000;box-shadow:8px 8px #ddd;max-width:400px;width:100%}.login-card h1{margin-top:0;font-size:2.5rem}.login-card p{font-size:1.2rem;color:#555;margin-bottom:2rem}.google-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1.5rem;font-family:Patrick Hand,sans-serif;font-size:1.3rem;font-weight:900;background-color:#fff;color:#333;border:4px solid #000;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s}.google-signin-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.google-signin-btn img{width:24px;height:24px}body{margin:0;font-family:Patrick Hand,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f4f4;color:#333}.container{max-width:960px;margin:2rem auto;padding:0 1rem 5rem}
