@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cormorant+Garamond:wght@400;600&display=swap";body{margin:0;font-family:-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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}.heart{color:red}.small{font-size:.75rem}.home-page-container{display:flex;flex-direction:column;min-height:100vh;font-family:Cormorant Garamond,Georgia,serif;background-color:#f0f0e0;color:#2c3e50;background-image:linear-gradient(rgba(240,240,224,.65),rgba(240,240,224,.65)),url(https://aqua-gigantic-haddock-37.mypinata.cloud/ipfs/bafybeic5pzzwfcyo72u62ytmouta242hmgaeed3zjmmzhavboyur7vsrfa);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}.home-page-container>header{position:relative;z-index:10}.home-page-container>footer{position:relative;z-index:10}.home-page-content{flex:1;display:flex;flex-direction:column;align-items:center;padding:30px 20px;max-width:1000px;margin:30px auto;position:relative;z-index:1}.home-video-area{width:100%;max-width:800px;margin-bottom:40px;border:8px solid #a16e2b;box-shadow:0 4px 15px #0000004d;background-color:#000;text-align:center;color:#f0f0e0;padding-bottom:15px;position:relative;z-index:2}.home-video-area h2{font-family:Cinzel Decorative,cursive;color:#e6b88a;margin-top:10px;margin-bottom:15px;font-size:2rem;text-transform:uppercase;text-shadow:1px 1px 3px rgba(0,0,0,.2)}.home-video-area video{display:block;margin:0 auto 10px;max-width:100%;height:auto;border-bottom:2px solid #e6b88a}.home-video-area p{font-size:1.1rem;color:#ccc;margin-top:10px}.welcome-card{background-color:#fff;border:1px solid #bdc3c7;box-shadow:0 6px 15px #0003;padding:40px;text-align:center;width:100%;max-width:700px;border-radius:4px;position:relative;z-index:2}.home-title{font-family:Cinzel Decorative,cursive;font-size:3.5rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;text-shadow:1px 1px 3px rgba(0,0,0,.1)}.home-subtitle{font-size:1.6rem;color:#34495e;margin-bottom:30px;font-style:italic}.home-text{font-size:1.2rem;line-height:1.8;color:#555;margin-bottom:40px}.start-button-container{margin-top:30px}.header-container{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;background-color:#bdc3c7;color:#2c3e50;border-bottom:3px solid #a16e2b;flex-wrap:wrap;gap:25px}.game-title h1{margin:0;font-size:2rem;color:#2c3e50;font-family:Cinzel Decorative,cursive;text-transform:uppercase;white-space:nowrap}.game-title a{text-decoration:none;color:inherit}.main-nav{flex-grow:1;flex-shrink:1;min-width:250px;text-align:center}.nav-list{display:flex;justify-content:center;list-style:none;margin:0;padding:0;gap:30px;flex-wrap:wrap}.main-nav a{text-decoration:none;color:#2c3e50;font-size:1.5rem;font-family:Cormorant Garamond,Georgia,serif;transition:color .3s ease;white-space:nowrap;font-weight:600}.main-nav a:hover{color:#a16e2b}.user-status-section{display:flex;align-items:center;gap:35px;font-size:1.4rem;white-space:nowrap;flex-shrink:0;margin-left:30px}.user-info{display:flex;align-items:center;gap:15px;flex-shrink:0}.user-details{display:flex;flex-direction:column;font-size:1.4rem;line-height:1.4}.user-name{font-weight:700;color:#2c3e50}.user-level{color:#555}.game-progress-info{font-size:1.4rem;flex-shrink:0}.overall-progress,.next-level-progress{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.progress-label{font-weight:700;color:#555;font-size:1.1rem}.progress-percentage,.progress-text{color:#a16e2b;font-weight:700;font-size:1.3rem}.avatar-container{width:50px;height:50px;border-radius:50%;overflow:hidden;border:3px solid #a16e2b;background-color:#fff;flex-shrink:0;box-shadow:0 1px 3px #0003}.avatar-image{display:block;width:100%;height:100%;object-fit:cover}.avatar-container{width:100px;height:100px;border-radius:50%;overflow:hidden;margin-bottom:15px;border:3px solid #007bff;box-shadow:0 2px 5px #0003;flex-shrink:0}.avatar-image{width:100%;height:100%;object-fit:cover;display:block}.progress-bar-container{width:100%;height:20px;background-color:#e0e0e0;border-radius:10px;overflow:hidden;margin:5px 0}.progress-bar-fill{height:100%;background-color:#28a745;transition:width .5s ease-in-out}.footer-container{background-color:#f0f0f0;padding:10px 20px;text-align:center;border-top:1px solid #ccc;margin-top:20px;font-family:sans-serif;font-size:.8rem;color:#555}.footer-links a{margin:0 10px;text-decoration:none;color:#333;transition:color .2s ease-in-out}.footer-links a:hover{text-decoration:underline;color:#000}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:1rem;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;font-family:sans-serif;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn-primary{background-color:#007bff;color:#fff}.btn-secondary{background-color:#6c757d;color:#fff}.btn-success{background-color:#28a745;color:#fff}.btn-danger{background-color:#dc3545;color:#fff}.btn-small{padding:5px 10px;font-size:.8rem}.btn-medium{padding:10px 20px;font-size:1rem}.btn-large{padding:15px 30px;font-size:1.2rem}.btn-full{width:100%}.btn:disabled{cursor:not-allowed;opacity:.6;background-color:#ccc;color:#666}.btn:hover:not(:disabled){opacity:.9}.btn-icon{margin-right:8px;display:flex;align-items:center}.game-container{display:flex;flex-direction:column;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-image:url(https://aqua-gigantic-haddock-37.mypinata.cloud/ipfs/bafybeiasicds2xgit2qwhc4gyxh7qxof2ajh5f4ls7nqwpjmhpzwtdbyoy);background-size:cover;background-position:center;background-repeat:no-repeat}.game-content{flex:1;padding:2rem;margin-left:250px;background-color:#ffffffd9;box-shadow:inset 0 0 5px #0000000d;border-radius:8px}.ipfs-video-area{background-image:url(YOUR_NEW_JPEG_BACKGROUND_IMAGE_URL_HERE);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:8px;max-width:780px;width:auto;margin-left:auto;margin-right:0}.ipfs-video-area h2,.ipfs-video-area p{position:relative;z-index:1}.ipfs-video-area video{position:relative;z-index:1;display:block;width:80%;margin-left:auto;margin-right:auto;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 8px #00000026;border-radius:4px}@media (max-width: 768px){.game-content{margin-left:0;padding:1rem}.ipfs-video-area{max-width:none;width:auto;margin-left:0;margin-right:0;padding:15px}.ipfs-video-area video{width:95%}}.achievement-notification{position:fixed;bottom:2rem;right:2rem;background-color:#d1fae5;border-left:5px solid #10b981;padding:1rem;border-radius:.5rem;box-shadow:0 2px 6px #00000026;z-index:1000}.discord-widget-card{text-align:center;margin-top:2rem}.game-discord-widget{background-color:#fff;border:1px solid #e0e0e0;padding:20px;max-width:400px;margin-left:auto;margin-right:auto}.discord-widget-title{font-size:1.8rem;margin-bottom:.75rem;color:#333}.discord-widget-text{font-size:1rem;margin-bottom:1.5rem;color:#555}.discord-iframe-container{display:flex;justify-content:center;align-items:center;border-radius:8px;overflow:hidden}@media (max-width: 480px){.game-discord-widget{padding:15px;max-width:100%}.discord-widget-title{font-size:1.5rem}.discord-widget-text{font-size:.9rem}}.sidebar-container{width:200px;background-color:#e0e0e0;padding:20px;font-family:sans-serif}.sidebar-container h2{margin-top:0;font-size:1.3rem;color:#333;margin-bottom:15px}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-chapter-item{margin-bottom:10px;cursor:pointer;color:#555;padding:5px 0;transition:color .2s ease-in-out,background-color .2s ease-in-out;display:flex;justify-content:space-between;align-items:center}.sidebar-chapter-item:hover:not(.sidebar-chapter-locked){color:#000;background-color:#d5d5d5}.sidebar-chapter-active{font-weight:700;color:#007bff;border-left:3px solid #007bff;padding-left:5px}.sidebar-chapter-locked{color:#999;cursor:not-allowed;font-style:italic}.sidebar-lock-icon{margin-left:5px;font-size:.8em}.chapter-content-card{max-width:800px;margin:20px auto;font-family:sans-serif}.chapter-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.chapter-title-area{display:flex;align-items:center}.chapter-title{margin:0;font-size:1.5rem;color:#333}.chapter-controls{display:flex;align-items:center;gap:15px}.translation-dropdown{position:relative;display:inline-block}.translation-toggle{background:none;border:none;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s ease-in-out}.translation-toggle:hover{background-color:#f0f0f0}.translation-options{position:absolute;right:0;top:100%;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;z-index:10;min-width:150px}.translation-options button{display:block;width:100%;padding:8px 15px;text-align:left;background:none;border:none;cursor:pointer;font-size:.9rem;color:#333}.translation-options button:hover{background-color:#f0f0f0}.translation-options button.bg-gray-100{background-color:#f0f0f0;font-weight:700}.bookmark-button{background:none;border:none;cursor:pointer;padding:5px;border-radius:50%;transition:background-color .2s ease-in-out}.bookmark-button:hover{background-color:#f0f0f0}.section-title{margin-top:0;margin-bottom:15px;color:#555}.chapter-text p{line-height:1.6;margin-bottom:1em;color:#333}.navigation-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.nav-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:8px 12px;border-radius:4px;transition:background-color .2s ease-in-out}.nav-button:hover:not(:disabled){background-color:#e0e0e0}.nav-button:disabled{cursor:not-allowed;opacity:.5}.section-indicator{font-size:.9rem;color:#777}.challenge-container{width:100%;max-width:100%;padding:20px;border:1px solid #ccc;margin-bottom:20px;background-color:#f9f9f9;font-family:sans-serif;box-sizing:border-box}.challenge-title{margin-top:0;color:#333;font-size:1.3rem;margin-bottom:15px}.challenge-description{color:#555;line-height:1.5;margin-bottom:20px}.challenge-interactive-area{margin-top:15px;padding-top:15px;border-top:1px dashed #ccc}.challenge-interactive-area p{color:#777;font-style:italic;text-align:center}.challenge-interactive-area textarea{width:100%;min-width:800px;max-width:100%;padding:12px;border:1px solid #ccc;border-radius:8px;resize:vertical;font-size:1rem;box-sizing:border-box}.challenge-completion-message{margin-top:20px;font-weight:700;color:#28a745;text-align:center}.reflection-container{padding:20px;border:1px solid #ccc;margin-top:20px;background-color:#f9f9f9;font-family:sans-serif}.reflection-title{margin-top:0;color:#333;font-size:1.3rem;margin-bottom:15px}.reflection-textarea{width:100%;min-height:150px;padding:10px;margin-top:10px;border:1px solid #ccc;border-radius:4px;font-size:1rem;line-height:1.5;box-sizing:border-box;font-family:sans-serif}.reflection-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 5px #007bff80}.progress-container{margin-bottom:20px;font-family:sans-serif}.progress-title{margin-top:0;margin-bottom:8px;font-size:1.1rem;color:#333}.progress-text{margin-top:8px;font-size:.9rem;color:#555;text-align:center}.profile-container{padding:20px;font-family:sans-serif}.owned-nft-thumbnail{width:60px;height:60px;border-radius:50%;object-fit:cover;border:1px solid #ccc}.profile-container{padding:20px;font-family:sans-serif;position:relative;background-color:#fff;overflow:hidden}.profile-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background-image:url(https://aqua-gigantic-haddock-37.mypinata.cloud/ipfs/bafybeids5kfavcnj5jlyi3rh72shbrjpetsgoakypnm3hjoi7jal7qlfui);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;opacity:.3}.profile-title,.profile-header,.inventory-container,.profile-avatars-section,.profile-empty-state,.next-avatar-preview{position:relative;z-index:1}.profile-title{margin-top:0;color:#333;font-size:1.8rem;margin-bottom:20px;border-bottom:2px solid #eee;padding-bottom:10px}.profile-header{display:flex;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.profile-basic-info p{margin:5px 0;color:#555;font-size:1rem}.profile-basic-info strong{color:#333}.profile-avatars-section{margin-top:30px;border-top:1px solid #eee;padding-top:20px}.profile-section-title{font-size:1.4rem;color:#333;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:8px}.owned-avatars-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:15px;margin:0}.owned-avatar-item{display:flex;flex-direction:column;align-items:center;gap:8px;background-color:#f9f9f9;padding:10px;border-radius:5px;border:1px solid #eee;font-size:.85rem;color:#555;width:100px;text-align:center}.owned-avatar-thumbnail{width:60px;height:60px;border-radius:50%;object-fit:cover;border:1px solid #ccc}.profile-empty-state{font-style:italic;color:#777;text-align:center;width:100%;padding:20px 0}.next-avatar-preview{margin-top:30px;padding-top:20px;border-top:1px dashed #ccc}.next-avatar-title{font-size:1.2rem;color:#333;margin-bottom:10px}.next-avatar-info{display:flex;align-items:center;gap:15px}.next-avatar-thumbnail{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #007bff}.next-avatar-info p{margin:0;color:#555;font-size:1rem}// src/components/user/Inventory.jsx import React from "react"; import "./Inventory.css"; import{useUser}from "../../contexts/UserContext"; // Import UserContext import{avatars}from "../../data/avatars"; // Import avatars data to potentially show owned avatar details const Inventory = () =>{const {user} = useUser();// Get user data from context // Helper to get avatar details by ID for owned NFTs const getAvatarDetails = (avatarId) => {return avatars.find(avatar => avatar.id === avatarId);} return (<div className="inventory-container"> {} <div className="inventory-section"> <h3 className="inventory-title">Tokens</h3> <p className="inventory-tokens">🪙 Tokens: {user?.inventory?.tokens || 0}</p> {} </div> {} <div className="inventory-section"> <h3 className="inventory-title">Collectibles</h3> {user?.inventory?.collectibles && user.inventory.collectibles.length > 0 ? (<ul className="inventory-list collectibles-list"> {user.inventory.collectibles.map((collectible,index) => (<li key={index} className="inventory-item collectible-item"> {} <span>✨ {collectible.name || `Collectible ${index + 1}`}</span> {} </li>))} </ul>) : (<p className="inventory-empty">No collectibles found yet.</p>)} </div> {} <div className="inventory-section"> <h3 className="inventory-title">Owned Avatars (NFTs)</h3> {user?.ownedNfts && user.ownedNfts.length > 0 ? (<ul className="inventory-list owned-nfts-list"> {user.ownedNfts.map((avatarId) => {const avatar = getAvatarDetails(avatarId); // Get avatar details return avatar ? (<li key={avatar.id} className="inventory-item owned-nft-item"> {} <img src={avatar.imageUrl} alt={avatar.name} className="owned-nft-thumbnail" /> <span>{avatar.name} (Level {avatar.levelRequired})</span> {} {} {} </li>) : (<li key={avatarId} className="inventory-item owned-nft-item"> <span>Unknown Avatar (ID: {avatarId})</span> {} </li>);})} </ul>) : (<p className="inventory-empty">No NFT avatars collected yet.</p>)} </div> </div>)}; export default Inventory; .about-page-container{display:flex;flex-direction:column;min-height:100vh;background-image:url(https://aqua-gigantic-haddock-37.mypinata.cloud/ipfs/bafybeibimjlkuf6i3nv6lgfpociqutigfip6gy775qobvrzg4vr7ledb2u);background-size:cover;background-position:center;background-repeat:no-repeat;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.about-page-content{flex:1;display:flex;justify-content:center;padding:2rem 1rem}.about-card{max-width:800px;width:100%;padding:2rem;background-color:#fffffff2;border-radius:12px;box-shadow:0 4px 12px #0000001a}.about-title{font-size:2.2rem;margin-bottom:1.5rem;color:#2c3e50;text-align:center;font-weight:600}.about-subtitle{font-size:1.75rem;margin-top:2.5rem;margin-bottom:1.25rem;color:#34495e;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem;font-weight:500}.about-text{font-size:1rem;line-height:1.7;color:#333;margin-bottom:1.25rem}.enchiridion-text-section{margin-top:1rem}.about-list{list-style-type:disc;margin-left:20px;padding-left:1rem}.about-list li{margin-bottom:.75rem}.about-list li a{color:#2980b9;text-decoration:none;font-weight:500}.about-list li a:hover{text-decoration:underline;color:#1c5a80}.about-tertiary-title{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem;color:#555;font-weight:500}.scrollable-text-area{max-height:400px;overflow-y:auto;border:1px solid #ddd;padding:1rem;margin-top:1rem;background-color:#f9f9f9;border-radius:4px;line-height:1.6}.about-links{margin-top:2rem;display:flex;justify-content:space-between}.about-links a{color:#07c;text-decoration:none;font-weight:700}.about-links a:hover{text-decoration:underline}
