.logout-button{padding:8px 16px;font-size:14px;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.logout-button:hover{background:var(--hover-bg);border-color:var(--error-color);color:var(--error-color)}.logout-button:active{transform:scale(.98)}:root{--grey: #1a1a1a;--grey-dark: #404040;--grey-light: #555;--grey-light-soft: #333;--black: #2a2a2a;--black-dark: #1a1a1a;--black-light: #252525cc;--text: #f6edd0;--text-dark: #c8bfa1;--root: #ed4a49;--root-light: #dc5353}[data-theme=light]{--grey: #faf6ed;--grey-dark: #ece5d6;--grey-light: #f7f2e8;--grey-light-soft: #f0eadd;--black: #fffdf6;--black-dark: #eee8db;--black-light: #f7f2e8cc;--text: #413c3c;--text-dark: #444;--root: #ed4a49;--root-light: #ff8383}*{-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;overflow-x:hidden;overflow-y:hidden;font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:var(--grey);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p{font-size:1rem;font-weight:400;margin:0 0 .5rem}input,button,a{font-family:Josefin Sans,sans-serif;-webkit-tap-highlight-color:transparent}input{font-size:.9rem;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:Josefin Sans,sans-serif;font-weight:700;font-style:italic}.close-button,.modal-close,.sample-overlay-close{background:transparent;border:1px solid var(--grey-light-soft);color:var(--text);cursor:pointer;padding:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:background-color .2s}.close-button .material-icons-outlined,.modal-close .material-icons-outlined,.sample-overlay-close .material-icons-outlined{font-size:1rem}.close-button:hover,.modal-close:hover,.sample-overlay-close:hover{background-color:var(--grey-light-soft)}body:has(#load){overflow:hidden}#load{z-index:0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;overflow:hidden;padding:2rem 0;margin-top:-2rem;box-sizing:border-box}@media(min-width:769px){#load{margin-top:0;justify-content:center;height:100vh;min-height:unset;padding:0;overflow-y:hidden}}#load>div{width:70%;max-width:900px;box-sizing:border-box}#load section:not(:last-of-type){margin-bottom:1rem}@media only screen and (min-width:380px){#load section:not(:last-of-type){margin-bottom:2rem}}@media only screen and (min-width:769px){#load section:not(:last-of-type){margin-bottom:3rem}}#load .homepage-logo{width:60px;height:60px;margin-bottom:.25rem}@media only screen and (min-width:769px){#load .homepage-logo{width:100px;height:100px;margin-bottom:.5rem}}#load .title-area>p{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.85rem}@media only screen and (min-width:769px){#load .title-area>p{font-size:1rem}}#load h1{font-family:Josefin Sans,sans-serif;font-size:2.5rem;margin:0;font-style:italic;font-weight:700;line-height:1}@media only screen and (min-width:769px){#load h1{font-size:5em}}#load h2{font-family:Josefin Sans,sans-serif;font-size:1rem;font-weight:700;font-style:italic;color:var(--text);margin:.25rem auto}@media only screen and (min-width:769px){#load h2{font-size:1.25rem;margin:.5rem auto}}#load .actions-area{display:flex;flex-direction:column;gap:.75rem;position:relative}@media(min-width:600px){#load .actions-area{flex-direction:row;gap:1rem}}#load .action-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.25rem 1rem;background-color:var(--grey-dark);border:1px solid var(--grey-light-soft);border-radius:14px;cursor:pointer;transition:background-color .25s;position:relative}@media(min-width:600px){#load .action-card{flex:1;padding:2.5rem 1rem}}#load .action-card:hover{background-color:var(--root-light)}#load .action-card:hover .action-icon,#load .action-card:hover .expand-arrow,#load .action-card:hover .info-icon{color:var(--text)}#load .action-card h2{margin:.25rem 0}#load .action-card>p{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.8rem;color:var(--text-dark);margin:0;line-height:1.4}#load .action-card .action-icon{font-size:2rem;color:var(--root);margin-bottom:.25rem}@media(min-width:600px){#load .action-card .action-icon{font-size:2.5rem}}#load .action-card svg.action-icon{width:2rem;height:2rem}@media(min-width:600px){#load .action-card svg.action-icon{width:2.5rem;height:2.5rem}}#load .action-card input[type=file]{position:absolute;opacity:0;height:0;width:0;pointer-events:none}#load .action-card .upload-desc{display:inline-flex;align-items:center;gap:.35rem}#load .action-card .info-icon{background-color:transparent;border:none;color:var(--root);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:color .25s,transform .2s}#load .action-card .info-icon .material-icons-outlined{font-size:1.25rem}#load .action-card .info-icon:hover{color:var(--root);transform:scale(1.1)}#load .action-card .info-icon:focus{outline:2px solid var(--root);outline-offset:2px}#load .action-card .expand-arrow{transition:transform .3s;margin-top:.25rem;font-size:1.5rem;color:var(--root)}#load .action-card .expand-arrow.open{transform:rotate(180deg)}#load .action-card.action-card-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}#load .action-card.action-card-disabled:hover{background-color:var(--grey-dark)}#load .action-card.action-card-disabled .action-icon{color:var(--text-dark)}#load .sample-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--grey-dark);border:1px solid var(--grey-light-soft);border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;padding:1.5rem .75rem .75rem;box-sizing:border-box;z-index:1;animation:fadeIn .2s ease;overflow-y:auto}#load .sample-overlay .sample-overlay-heading{width:100%;text-align:center;margin:0 0 .5rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text)}#load .sample-overlay .sample-overlay-heading svg{width:1.5rem;height:1.5rem;color:var(--root)}#load .sample-overlay .sample-overlay-close{position:absolute;top:.5rem;right:.5rem}#load .sample-overlay .sampleButton{margin-bottom:15px;padding:8px 12px;background-color:#404040;color:#fcfaf4;border-radius:14px;border:1px solid var(--grey-light-soft);transition:.25s}@media(min-width:600px){#load .sample-overlay .sampleButton{padding:8px 16px}}#load .sample-overlay .sampleButton{margin:.25rem;color:var(--text);background-color:var(--root-light);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:.8rem;text-transform:lowercase;cursor:pointer;transition:background-color .25s}#load .sample-overlay .sampleButton:hover{background-color:var(--root)}#load .sample-overlay .sampleButton:focus{outline:none;box-shadow:0 0 0 2px var(--root)}#load .error{font-style:italic;color:var(--root)}#load a{color:var(--root)}#load .links-area{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:1rem}@media(min-width:769px){#load .links-area{position:static;transform:none;justify-content:flex-start}}#load .links-area a{display:flex;align-items:center;font-size:1.5rem;opacity:1}#load .links-area .oh-kay-icon{height:1.5rem;width:auto}#load a{text-decoration:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#1b1414cc;display:flex;justify-content:center;align-items:center;z-index:9999;padding:1.5rem;box-sizing:border-box}.modal-content{background:var(--grey-dark);border:1.5px solid var(--grey-light-soft);border-radius:1rem;padding:1.25rem;max-width:600px;max-height:100%;overflow-y:auto;overflow-x:hidden;position:relative;color:var(--text);box-shadow:0 4px 20px #0003;box-sizing:border-box}@media(min-width:600px){.modal-content{padding:1.5rem}}.modal-content h2{color:var(--root);margin-top:0;font-size:1.5rem}.modal-content h3{color:var(--text);font-size:1rem;margin-top:1.25rem;margin-bottom:.5rem;font-weight:700}.modal-content p{color:var(--text);line-height:1.5;margin-bottom:.75rem;font-size:.9rem}.modal-content .modal-close{position:absolute;top:.75rem;right:.75rem}.modal-content .gedcom-programs{display:grid;grid-template-columns:1fr;gap:.75rem;margin:.75rem 0}@media(min-width:600px){.modal-content .gedcom-programs{grid-template-columns:1fr 1fr}}.modal-content .gedcom-programs .program{background:var(--grey);padding:.75rem;border-radius:.5rem;border:1px solid var(--grey-light-soft);min-width:0;overflow-wrap:break-word}.modal-content .gedcom-programs .program strong{color:var(--root);display:block;margin-bottom:.25rem;font-size:.9rem}.modal-content .gedcom-programs .program p{color:var(--text-dark);font-size:.8rem;margin:0;line-height:1.4}.modal-content .modal-note{margin-top:1rem;padding:.75rem;background:var(--grey);border-radius:.5rem;border-left:3px solid var(--root);font-style:italic;font-size:.85rem}.close-warning{text-align:center}.close-warning h2{margin-bottom:.5rem}.close-warning p{margin-bottom:1rem}.close-warning .close-warning-actions{display:flex;flex-direction:column;gap:.5rem}.close-warning .close-warning-actions button{padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--grey-light-soft);background:var(--grey);color:var(--text);cursor:pointer;font-size:.9rem;transition:background-color .2s}.close-warning .close-warning-actions button:hover{background-color:var(--grey-light-soft)}.close-warning .close-warning-actions button:first-child{background:var(--root);border-color:var(--root);color:#fff}.close-warning .close-warning-actions button:first-child:hover{opacity:.85}.close-warning .close-warning-actions button:nth-child(3){color:var(--root)}.theme-toggle-slider{position:relative;padding:0 6px;z-index:2;display:flex;align-items:center;justify-content:space-between;width:65px;height:32px;background:var(--grey-light-soft);border:1.5px solid var(--grey-light);border-radius:24px;box-shadow:0 2px 8px #0000000a;cursor:pointer;transition:background .2s,border .2s;overflow:visible;flex-shrink:0}.theme-toggle-slider span{font-size:1rem;opacity:1;transition:opacity .2s;z-index:2;position:relative;display:flex;align-items:center}.theme-toggle-slider span .material-icons-outlined{font-size:1.1rem}.theme-toggle-slider span.active{opacity:1}.theme-toggle-slider .slider{position:absolute;top:50%;transform:translateY(-50%);width:29px;height:29px;background:var(--root);border-radius:50%;transition:left .2s,background .2s;z-index:1;box-shadow:0 1px 4px #0000001a}[data-theme=light] .theme-toggle-slider .slider{background:var(--root-light)}#roots-area{z-index:1;position:absolute}.node-label,.link-label{background-color:#2a2a2a;color:#ed4a49;border-radius:16px;border:1px solid rgba(37,37,37,.8);transition:.25s;padding:0 16px;max-width:400px;background-color:#555;color:#fcfcfc;text-align:center}.node-label h4{margin-bottom:0;font-size:1.2rem}.node-label p{font-size:1rem}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1}#controls p{font-size:.9rem;color:#ccc}#controls #back-button,#controls #settings,#controls #search,#controls #surnames,#controls #node-info{transition:opacity 2.4s ease-in-out}#controls.controls-hidden #back-button,#controls.controls-hidden #settings,#controls.controls-hidden #search,#controls.controls-hidden #surnames,#controls.controls-hidden #node-info{opacity:0}#controls.controls-visible #back-button,#controls.controls-visible #settings,#controls.controls-visible #search,#controls.controls-visible #surnames,#controls.controls-visible #node-info{opacity:1}#controls #back-button,#controls #settings,#controls #search,#controls #surnames{z-index:2}#controls #search{position:fixed;top:0;right:0;margin:1rem;margin-right:calc(1rem + (35px + .6rem)*2);display:flex;align-items:center;height:35px}@media(min-width:769px){#controls #search{margin-right:calc(1rem + (44px + .6rem)*2);height:44px}}#controls #search #search-button{width:35px;height:35px;background:var(--grey-dark);color:var(--text);border:1.5px solid var(--grey-light-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000000a;font-size:1rem;flex-shrink:0;position:relative;z-index:2;transition:border-radius .25s ease}@media(min-width:769px){#controls #search #search-button{width:44px;height:44px;font-size:1.25rem}}#controls #search #search-button:hover{transition:.25s}#controls #search #search-button .material-icons-outlined{font-size:1.1rem}@media(min-width:769px){#controls #search #search-button .material-icons-outlined{font-size:1.3rem}}#controls #search .search-input-wrapper{display:flex;align-items:center;background:var(--grey-dark);border:1.5px solid var(--grey-light-soft);border-left:none;border-radius:0 1.2rem 1.2rem 0;height:35px;box-sizing:border-box;overflow:hidden;width:0;padding:0;opacity:0;transition:width .25s ease,opacity .2s ease,padding .25s ease}@media(min-width:769px){#controls #search .search-input-wrapper{height:44px}}#controls #search .search-input-wrapper input{background:transparent;border:none;outline:none;color:var(--text);font-family:Josefin Sans,sans-serif;font-size:.85rem;width:100%;min-width:0}#controls #search .search-input-wrapper input::placeholder{color:var(--text);opacity:.4}#controls #search .search-input-wrapper .search-clear{font-size:1rem;color:var(--text);opacity:.6;cursor:pointer;flex-shrink:0}#controls #search .search-input-wrapper .search-clear:hover{opacity:1}#controls #search.open #search-button{border-radius:50% 0 0 50%;border-right:none;box-shadow:none}#controls #search.open .search-input-wrapper{width:180px;padding:0 .6rem;opacity:1;box-shadow:0 2px 8px #0000000a}@media(min-width:769px){#controls #search.open .search-input-wrapper{width:220px}}#controls #search .search-results{position:absolute;top:calc(100% + .3rem);right:0;width:215px;background:var(--grey-dark);border:1.5px solid var(--grey-light-soft);border-radius:.8rem;padding:.3rem 0;max-height:200px;overflow-y:auto;box-shadow:0 4px 16px #00000026;z-index:10}@media(min-width:769px){#controls #search .search-results{width:264px}}#controls #search .search-results .search-no-results{font-family:Josefin Sans,sans-serif;font-size:.8rem;color:var(--text);opacity:.5;text-align:center;padding:.5rem;margin:0}#controls #search .search-results .search-result-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;cursor:pointer;transition:background .15s}#controls #search .search-results .search-result-item:hover{background:#ffffff14}#controls #search .search-results .search-result-item .search-result-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.2)}#controls #search .search-results .search-result-item .search-result-name{font-family:Josefin Sans,sans-serif;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#controls .control-title{font-family:Josefin Sans,sans-serif;font-size:1.2rem;font-weight:700;font-style:italic;margin:.5rem auto}#controls .legend-line{display:flex;justify-content:flex-start;align-items:center}#controls .legend-line img{height:100%;margin-right:4px}#controls #back-button{position:fixed;display:flex;justify-content:center;align-items:center;background-color:#404040;color:#fcfaf4;border-radius:50px;padding:8px;margin:1rem;width:1rem;height:1rem;text-align:center;font-size:.8rem}@media(min-width:769px){#controls #back-button{width:1.5rem;height:1.5rem;padding:10px;font-size:1rem}}#controls #back-button:hover{transition:.25s}#controls #settings{position:fixed;top:0;right:0;margin:1rem}#controls #settings #settings-button{width:35px;height:35px;background:var(--grey-dark);color:var(--text);border:1.5px solid var(--grey-light-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000000a;font-size:1rem;margin-left:auto;transition:transform .2s}@media(min-width:769px){#controls #settings #settings-button{width:44px;height:44px;font-size:1.25rem}}#controls #settings #settings-button:hover{transition:.25s}#controls #settings #settings-button.active{transform:rotate(60deg)}#controls #settings #settings-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:240px;max-height:70vh;overflow-y:auto;background:var(--grey-dark);border:1.5px solid var(--grey-light-soft)}[data-theme=light] #controls #settings #settings-dropdown{--grey-light-soft: #d5cdbf;border-color:#d5cdbf}#controls #settings #settings-dropdown{border-radius:1rem;padding:.75rem 1rem;box-shadow:0 4px 16px #00000026;z-index:10}#controls #settings #settings-dropdown p{margin:.25rem 0}#controls #settings #settings-dropdown .settings-divider{border:none;border-top:1px solid var(--grey-light-soft);margin:.25rem 0}#controls #surnames{position:fixed;top:0;right:0;margin:1rem;margin-right:calc(1.6rem + 35px)}@media(min-width:769px){#controls #surnames{margin-right:calc(1.6rem + 44px)}}#controls #surnames #surnames-button{width:35px;height:35px;background:var(--grey-dark);color:var(--text);border:1.5px solid var(--grey-light-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000000a;font-size:1rem;margin-left:auto;padding:0}@media(min-width:769px){#controls #surnames #surnames-button{width:44px;height:44px;font-size:1.25rem}}#controls #surnames #surnames-button:hover{transition:.25s}#controls #surnames #surnames-button .material-icons-outlined{font-size:1.1rem}@media(min-width:769px){#controls #surnames #surnames-button .material-icons-outlined{font-size:1.3rem}}#controls #surnames .surnames-content{position:absolute;top:calc(100% + .5rem);right:0;max-height:300px;overflow-y:auto;border-radius:1rem;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem;box-shadow:0 4px 16px #00000026;z-index:10;min-width:200px}#controls #surnames .surnames-content p{font-weight:600}#controls #node-info{position:fixed;bottom:8px;left:50%;transform:translate(-50%);width:95%;max-width:500px;height:fit-content;max-height:200px;overflow-y:auto;border-radius:1rem;z-index:3;transition:transform .3s ease-out,opacity 0s ease-out .3s;transform:translate(-50%) translateY(100%);opacity:0}#controls #node-info.visible{transform:translate(-50%) translateY(0);opacity:1;transition:transform .3s ease-out}@media(min-width:769px){#controls #node-info{left:auto;right:1rem;bottom:1rem;transform:translateY(100%);max-height:400px;max-width:380px}#controls #node-info.visible{transform:translateY(0)}}#controls #node-info>p{width:40px;margin-left:0;margin-bottom:15px;padding:8px 12px;background-color:#404040;color:#fcfaf4;border-radius:14px;border:1px solid var(--grey-light-soft);transition:.25s}@media(min-width:600px){#controls #node-info>p{padding:8px 16px}}#controls #node-info>p:hover{transition:.25s}#controls #node-info>p:active,#controls #node-info>p.active{border-radius:15px}#controls #node-info #node-info--content{position:relative;padding:1rem;color:#181818;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}#controls #node-info #node-info--content .node-info-edit-icon{position:absolute;top:.5rem;right:.5rem;background:#ffffff40;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#181818;transition:background .2s}#controls #node-info #node-info--content .node-info-edit-icon .material-icons-outlined{font-size:1rem}#controls #node-info #node-info--content .node-info-edit-icon:hover{background:#ffffff80}#controls #node-info #node-info--content h4{margin:0 auto .25rem;font-weight:800;color:#181818}#controls #node-info #node-info--content p{margin:.25rem 0px;color:#181818}.edit-panel{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}[data-theme=light] .edit-panel{--grey-light-soft: #d5cdbf}.edit-panel h3{font-family:Josefin Sans,sans-serif;font-style:italic}.edit-panel input,.edit-panel select,.edit-panel textarea{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}.edit-panel input:focus,.edit-panel select:focus,.edit-panel textarea:focus{outline:none;border-color:var(--root)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--root) 25%,transparent)}.edit-panel button:hover{opacity:.85}.edit-panel::-webkit-scrollbar{width:6px}.edit-panel::-webkit-scrollbar-track{background:transparent}.edit-panel::-webkit-scrollbar-thumb{background:var(--grey-light-soft);border-radius:3px}#edit-controls button:hover{opacity:.85}.language-switcher{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:13px;color:var(--text);background:var(--grey-dark);border:1.5px solid var(--grey-light-soft);border-radius:6px;cursor:pointer;transition:all .2s}.language-switcher:hover{background:var(--grey-light);border-color:var(--text)}.language-switcher:active{transform:scale(.98)}.language-switcher .current-lang{font-weight:600;font-family:Josefin Sans,sans-serif;min-width:30px;text-align:center}.language-switcher .switch-icon{color:var(--accent-color, var(--text));font-size:14px;flex-shrink:0}.language-switcher .target-lang{color:var(--text-dark);font-family:Josefin Sans,sans-serif;flex-grow:1;text-align:right}.action-card-discover{background-color:var(--grey-dark);border:1px solid var(--grey-light-soft)}.action-card-discover:hover{background-color:var(--root-light)}.action-card-discover:hover .action-icon-discover{color:var(--text)}.action-card-discover .action-icon-discover{font-size:2.5rem;color:var(--root);margin-bottom:.25rem;transition:color .25s}@media(min-width:600px){.action-card-discover .action-icon-discover{font-size:3rem}}.btn-secondary{background:var(--secondary-bg, #e8e8e8);color:var(--text-primary, #1a1a1a);font-weight:500;padding:10px 20px;border-radius:6px;border:1px solid var(--border-color, #d0d0d0);cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--hover-bg, #f0f0f0)}.passcode-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.passcode-modal{background:var(--black, #2a2a2a);border:1px solid var(--grey-light-soft, #333);border-radius:12px;padding:32px;width:90%;max-width:400px;box-shadow:0 16px 48px #0000004d;animation:slideUp .3s ease-out}@media(max-width:480px){.passcode-modal{padding:24px;width:95%}}.passcode-modal-header{text-align:center;margin-bottom:24px}.passcode-modal-header h2{color:var(--text, #fcfaf4);font-size:24px;font-weight:700;margin:0 0 8px}.passcode-modal-header .passcode-modal-subtitle{color:var(--text-dark, #c8bfa1);font-size:14px;margin:0}.passcode-modal-form{display:flex;flex-direction:column;gap:16px}.passcode-input-group .passcode-input{width:100%;padding:12px 16px;font-size:16px!important;border:2px solid var(--grey-light, #555);border-radius:8px;background:var(--grey-dark, #404040);color:var(--text, #fcfaf4)!important;transition:border-color .2s;font-family:Josefin Sans,sans-serif!important;box-sizing:border-box!important}.passcode-input-group .passcode-input:focus{outline:none;border-color:var(--root, #ed4a49)}.passcode-input-group .passcode-input::placeholder{color:var(--text-dark, #ccc)!important}.passcode-input-group .passcode-input:disabled{opacity:.6;cursor:not-allowed}.passcode-error{color:var(--error-color, #dc3545);font-size:14px;text-align:center;padding:8px;background:#dc35451a;border-radius:6px;animation:shake .3s ease-out}.passcode-submit-button{padding:12px 24px!important;font-size:16px!important;font-weight:600!important;color:var(--text, #fcfaf4)!important;background:var(--root, #ed4a49)!important;border:none!important;border-radius:8px!important;cursor:pointer!important;transition:background .2s,transform .1s;font-family:Josefin Sans,sans-serif!important;box-sizing:border-box!important;width:100%}.passcode-submit-button:hover:not(:disabled){background:var(--root-light, #dc5353)!important}.passcode-submit-button:active:not(:disabled){transform:scale(.98)}.passcode-submit-button:disabled{opacity:.6;cursor:not-allowed}.passcode-modal-footer{margin-top:20px;text-align:center}.passcode-modal-footer .passcode-help-text{color:var(--text-dark, #ccc);font-size:12px;margin:0}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#1b1414cc;display:flex;justify-content:center;align-items:center;z-index:9999;padding:1.5rem;box-sizing:border-box;animation:fadeIn .3s ease-out}.tutorial-modal{background:var(--grey-dark);border:1.5px solid var(--grey-light-soft);border-radius:1rem;padding:2rem;max-width:600px;max-height:90vh;overflow-y:auto;overflow-x:hidden;position:relative;color:var(--text);box-shadow:0 4px 20px #0003;box-sizing:border-box;animation:slideUp .3s ease-out;scrollbar-width:none}.tutorial-modal::-webkit-scrollbar{display:none}@media(max-width:480px){.tutorial-modal{padding:1.5rem;width:95%}}.tutorial-scroll-indicator{position:sticky;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 0 .5rem;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(to bottom,transparent,var(--grey-dark));animation:bounceDown 2s ease-in-out infinite;pointer-events:none;opacity:.7}.tutorial-scroll-indicator .scroll-arrow{font-size:1.25rem;color:var(--text-dark);animation:arrowPulse 1.5s ease-in-out infinite}.tutorial-scroll-indicator .scroll-text{font-size:.75rem;color:var(--text-dark);margin-top:.25rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes arrowPulse{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}.tutorial-modal-header{text-align:center;margin-bottom:1.5rem}.tutorial-modal-header h2{color:var(--root);font-size:1.75rem;font-weight:700;margin:0 0 .5rem;font-family:Josefin Sans,sans-serif}.tutorial-modal-header .tutorial-subtitle{color:var(--text-dark);font-size:.95rem;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.tutorial-close-button{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.75rem;color:var(--text-dark);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s;font-family:Josefin Sans,sans-serif;line-height:1}.tutorial-close-button:hover{background:#ed4a4926;color:var(--root)}.tutorial-steps{display:flex;flex-direction:column;gap:.75rem}.tutorial-step{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--grey);border-radius:.5rem;border:1px solid var(--grey-light-soft)}@media(min-width:600px){.tutorial-step{gap:1.25rem;padding:1.25rem}}.tutorial-step .step-icon{font-size:2rem;flex-shrink:0;line-height:1}.tutorial-step .step-content{flex:1;min-width:0}.tutorial-step .step-content h3{color:var(--text);margin-bottom:.35rem;font-size:1rem;font-weight:700;font-family:Josefin Sans,sans-serif}.tutorial-step .step-content p{color:var(--text-dark);font-size:.875rem;margin-bottom:.5rem;line-height:1.4;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.tutorial-step .step-content .step-hint{display:inline-block;background:var(--root);color:#fff;padding:.25rem .6rem;border-radius:.375rem;font-size:.75rem;font-weight:600;font-family:Josefin Sans,sans-serif}.tutorial-got-it-button{width:100%;padding:.875rem 1.5rem;margin-top:1.5rem;background:var(--root);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:Josefin Sans,sans-serif;transition:background-color .2s,transform .1s}.tutorial-got-it-button:hover{background:var(--root-light)}.tutorial-got-it-button:active{transform:scale(.98)}@media(max-width:768px){.tutorial-modal{max-height:95vh}.tutorial-modal .tutorial-step{flex-direction:column;align-items:center;text-align:center}.tutorial-modal .tutorial-step .step-icon{margin-bottom:.5rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.tutorial-overlay,.tutorial-modal{animation:none}}
