* {    margin: 0;    padding: 0;    box-sizing: border-box;}body {    background: #120e1a;    font-family: 'Inter', 'Poppins', system-ui, 'Segoe UI', monospace;    padding: 2rem;    min-height: 100vh;    color: #f0eaff;}/* NEOBRUTALISM CORE — ungu kehitaman */.neo-card,.neo-btn,.neo-input,.neo-textarea,.history-item,.modal-content,.file-label {    border: 3px solid #6a4a8a;    box-shadow: 7px 7px 0px 0px #6a4a8a;    background: #1e1630;    transition: all 0.08s linear;}.neo-card {    padding: 1.5rem;    background: #1e1630;}.neo-btn {    background: #facc15;    color: #120e1a;    font-weight: 800;    font-size: 1rem;    padding: 0.7rem 1.5rem;    cursor: pointer;    display: inline-flex;    align-items: center;    justify-content: center;    gap: 0.6rem;    font-family: monospace;    letter-spacing: -0.3px;    transition: 0.05s linear;    border: 3px solid #6a4a8a;}.neo-btn:active {    transform: translate(2px, 2px);    box-shadow: 3px 3px 0px 0px #6a4a8a;}.neo-input,.neo-textarea {    width: 100%;    padding: 0.8rem;    font-size: 1rem;    background: #120e1a;    color: #f0eaff;    border: 3px solid #6a4a8a;    font-family: monospace;    resize: vertical;}.neo-textarea {    min-height: 140px;}.file-label {    display: flex;    align-items: center;    justify-content: space-between;    padding: 0.7rem 1rem;    background: #2a1f42;    font-weight: 600;    cursor: pointer;    margin-bottom: 0.8rem;    color: #f0eaff;}input[type="file"] {    display: none;}/* layout utama */.app-header {    display: flex;    justify-content: space-between;    align-items: center;    flex-wrap: wrap;    margin-bottom: 2rem;    gap: 1rem;}.logo h1 {    font-size: 2.8rem;    font-weight: 800;    letter-spacing: -2px;    background: #facc15;    display: inline-block;    color: #120e1a;    padding: 0.2rem 1rem;    border: 3px solid #6a4a8a;    box-shadow: 5px 5px 0 0 #6a4a8a;    transform: rotate(-0.5deg);}.sub {    font-weight: 600;    margin-top: 0.5rem;    color: #c8b8e8;    font-family: monospace;}.sub i,.logo i {    margin-right: 0.3rem;}.grid-1col {    display: grid;    grid-template-columns: 1fr;    gap: 2rem;}/* History button in header */.history-btn {    background: #facc15;    color: #120e1a;    border-color: #6a4a8a;    box-shadow: 5px 5px 0 0 #6a4a8a;    font-size: 1.1rem;    padding: 0.6rem 1.2rem;}.history-btn span:first-child {    margin-right: 0.3rem;}.history-btn #itemCountHeader {    background: #120e1a;    color: #facc15;    padding: 0.1rem 0.6rem;    margin-left: 0.5rem;    border: 2px solid #6a4a8a;}/* Modal history */.history-modal-content {    width: 90%;    max-width: 700px;    max-height: 80vh;    display: flex;    flex-direction: column;    background: #1e1630;    padding: 1.2rem;}.history-modal-content .history-header {    display: flex;    justify-content: space-between;    align-items: center;    border-bottom: 3px solid #6a4a8a;    padding-bottom: 0.7rem;    margin-bottom: 1.2rem;    font-weight: 800;    font-size: 1.4rem;    color: #f0eaff;}.history-modal-content .history-list {    overflow-y: auto;    flex: 1;    display: flex;    flex-direction: column;    gap: 1rem;}.history-item {    padding: 0.8rem;    background: #2a1f42;}.history-item h4 {    font-weight: 800;    font-size: 1rem;    word-break: break-word;    margin-bottom: 0.3rem;    display: flex;    align-items: center;    justify-content: space-between;    color: #f0eaff;}.history-item h4 i {    margin-right: 0.4rem;}.meta {    font-size: 0.7rem;    font-family: monospace;    background: #3a2a55;    display: inline-block;    padding: 0.2rem 0.5rem;    border: 1px solid #6a4a8a;    margin: 0.3rem 0;    color: #d0c0e8;}.item-actions {    display: flex;    gap: 0.6rem;    margin-top: 0.7rem;    flex-wrap: wrap;}.small-btn {    background: #3a2a55;    border: 2px solid #6a4a8a;    box-shadow: 3px 3px 0 0 #6a4a8a;    padding: 0.3rem 0.7rem;    font-size: 0.7rem;    font-weight: bold;    cursor: pointer;    font-family: monospace;    display: inline-flex;    align-items: center;    gap: 0.4rem;    color: #f0eaff;}.small-btn.danger {    background: #7a2a3a;    color: #ffd0d0;}.small-btn.download {    background: #1a4a3a;    color: #d0ffd0;}.empty-history {    text-align: center;    padding: 2rem;    font-weight: bold;    opacity: 0.7;    border: 2px dashed #6a4a8a;    color: #c8b8e8;}/* MODAL (untuk judul) */.modal-overlay {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: rgba(0, 0, 0, 0.8);    display: none;    justify-content: center;    align-items: center;    z-index: 1000;}.modal-content {    width: 90%;    max-width: 450px;    background: #1e1630;    padding: 1.8rem;    position: relative;    color: #f0eaff;}.modal-content input {    margin: 1rem 0 1.5rem;    width: 100%;    padding: 0.8rem;    border: 3px solid #6a4a8a;    font-family: monospace;    font-weight: bold;    background: #120e1a;    color: #f0eaff;}.modal-buttons {    display: flex;    gap: 1rem;    justify-content: flex-end;}/* modal untuk melihat teks panjang */.view-modal {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: rgba(0, 0, 0, 0.85);    display: none;    justify-content: center;    align-items: center;    z-index: 1100;}.view-card {    background: #1e1630;    border: 4px solid #6a4a8a;    box-shadow: 15px 15px 0 0 #6a4a8a;    width: 90%;    max-width: 600px;    max-height: 70vh;    padding: 1.5rem;    display: flex;    flex-direction: column;    color: #f0eaff;}.view-card pre {    background: #120e1a;    color: #facc15;    padding: 1rem;    overflow: auto;    white-space: pre-wrap;    font-family: monospace;    margin: 1rem 0;    border: 2px solid #6a4a8a;}button {    background: none;    border: none;    font-family: monospace;}.footer-note {    margin-top: 2rem;    font-family: monospace;    text-align: center;    font-weight: bold;    border-top: 2px solid #6a4a8a;    padding-top: 1rem;    color: #c8b8e8;}/* ---- HEADER ACTIONS (history + dark toggle) ---- */.header-actions {    display: flex;    align-items: center;    gap: 0.8rem;    flex-wrap: wrap;}.dark-toggle-btn {    background: #facc15;    color: #120e1a;    border-color: #6a4a8a;    box-shadow: 5px 5px 0 0 #6a4a8a;    font-size: 1.4rem;    padding: 0.4rem 0.9rem;    line-height: 1;    min-width: 48px;    justify-content: center;}/* ---- DARK MODE (lebih gelap dari light) ---- */body.dark-mode {    background: #0a0812;    color: #f0eaff;}body.dark-mode .neo-card,body.dark-mode .neo-btn,body.dark-mode .neo-input,body.dark-mode .neo-textarea,body.dark-mode .history-item,body.dark-mode .modal-content,body.dark-mode .file-label {    background: #120e1a;    color: #f0eaff;    border-color: #facc15;    box-shadow: 7px 7px 0px 0px #facc15;}body.dark-mode .neo-btn {    background: #facc15;    color: #0a0812;    border-color: #facc15;    box-shadow: 5px 5px 0 0 #facc15;}body.dark-mode .neo-btn:active {    transform: translate(2px, 2px);    box-shadow: 3px 3px 0 0 #facc15;}body.dark-mode .history-btn,body.dark-mode .dark-toggle-btn {    background: #facc15;    color: #0a0812;    border-color: #facc15;    box-shadow: 5px 5px 0 0 #facc15;}body.dark-mode .history-btn #itemCountHeader {    background: #0a0812;    color: #facc15;    border-color: #0a0812;}body.dark-mode .file-label {    background: #1a1428;}body.dark-mode .neo-textarea,body.dark-mode .neo-input {    background: #0a0812;    color: #f0eaff;}body.dark-mode .sub {    color: #c8b8e8;}body.dark-mode .small-btn {    background: #1a1428;    color: #f0eaff;    border-color: #facc15;    box-shadow: 3px 3px 0 0 #facc15;}body.dark-mode .small-btn.danger {    background: #5a1a2a;    color: #ffd0d0;}body.dark-mode .small-btn.download {    background: #0a3a2a;    color: #d0ffd0;}body.dark-mode .meta {    background: #1a1428;    border-color: #facc15;    color: #dddddd;}body.dark-mode .history-item {    background: #0e0a1a;}body.dark-mode .history-item h4 {    color: #facc15;}body.dark-mode .empty-history {    border-color: #facc15;    color: #aaaaaa;}body.dark-mode .modal-content {    background: #120e1a;}body.dark-mode .modal-content input {    background: #0a0812;    color: #f0eaff;    border-color: #facc15;}body.dark-mode .view-card {    background: #120e1a;    border-color: #facc15;    box-shadow: 15px 15px 0 0 #facc15;}body.dark-mode .view-card pre {    background: #0a0812;    color: #facc15;    border-color: #facc15;}body.dark-mode .footer-note {    border-color: #facc15;    color: #cccccc;}body.dark-mode .footer-note a {    border-bottom-color: #facc15;}body.dark-mode .logo h1 {    background: #facc15;    color: #0a0812;    border-color: #facc15;    box-shadow: 5px 5px 0 0 #facc15;}body.dark-mode .history-modal-content .history-header {    border-bottom-color: #facc15;}body.dark-mode ::-webkit-scrollbar {    background: #120e1a;}body.dark-mode ::-webkit-scrollbar-thumb {    background: #facc15;    border-color: #0a0812;}/* ---- tombol toggle saat dark mode aktif (ikon berubah) ---- */body.dark-mode .dark-toggle-btn #darkModeIcon {    content: "☀️";}body.dark-mode .donation-box {    background: #120e1a !important;    color: #f0eaff;    border-color: #facc15;}body.dark-mode .donation-box p {    color: #dddddd;}body.dark-mode .donation-box a {    border-color: #facc15;}/* ---- STORAGE USAGE INDICATOR ---- */.storage-usage {    display: inline-flex;    align-items: center;    gap: 0.5rem;    background: #2a1f42;    padding: 0.4rem 0.8rem;    border: 3px solid #6a4a8a;    box-shadow: 5px 5px 0 0 #6a4a8a;    font-weight: 700;    font-size: 0.8rem;    font-family: monospace;    margin: 0 1rem;    white-space: nowrap;    color: #f0eaff;}body.dark-mode .storage-usage {    background: #120e1a;    color: #f0eaff;    border-color: #facc15;    box-shadow: 5px 5px 0 0 #facc15;}@media (max-width: 600px) {    .storage-usage {        font-size: 0.65rem;        padding: 0.2rem 0.5rem;        margin: 0.5rem 0 0 0;        width: 100%;        justify-content: center;    }    .app-header {        flex-direction: column;        align-items: stretch;    }    .header-actions {        justify-content: center;    }}/* ---- STORAGE WRAPPER: selalu kolom, teks di bawah ---- */.storage-wrapper {    display: flex;    flex-direction: column;    align-items: center;    gap: 0.6rem;    flex: 0 1 auto;    margin: 0 1rem;}.storage-usage {    display: inline-flex;    align-items: center;    gap: 0.5rem;    background: #2a1f42;    padding: 0.4rem 0.8rem;    border: 3px solid #6a4a8a;    box-shadow: 5px 5px 0 0 #6a4a8a;    font-weight: 700;    font-size: 0.8rem;    font-family: monospace;    white-space: nowrap;    color: #f0eaff;}.storage-info-text {    font-size: 0.6rem;    opacity: 0.7;    text-align: center;    line-height: 1.4;    max-width: 300px;    font-family: monospace;    color: #c8b8e8;}body.dark-mode .storage-usage {    background: #120e1a;    color: #f0eaff;    border-color: #facc15;    box-shadow: 5px 5px 0 0 #facc15;}body.dark-mode .storage-info-text {    color: #dddddd;    opacity: 0.8;}/* ---- HEADER tetap flex dengan 3 kolom ---- */.app-header {    display: flex;    justify-content: space-between;    align-items: center;    flex-wrap: wrap;    gap: 1rem;}/* Responsif: di mobile semua menjadi kolom */@media (max-width: 600px) {    .app-header {        flex-direction: column;        align-items: stretch;    }    .storage-wrapper {        margin: 0.5rem 0;        align-items: center;        gap: 0.5rem;    }    .storage-info-text {        max-width: 100%;        font-size: 0.55rem;    }    .header-actions {        justify-content: center;    }}/* ---- WHY LOCLOUD? ---- */.why-locloud {    margin: 2.5rem 0 1.5rem 0;    padding: 1.8rem 2rem;    background: #1e1630;}.why-header {    display: flex;    align-items: center;    gap: 0.75rem;    margin-bottom: 1.5rem;}.why-header .why-icon {    font-size: 2rem;    line-height: 1;}.why-header h2 {    font-size: 2rem;    font-weight: 800;    letter-spacing: -1px;    margin: 0;    text-transform: lowercase;    color: #f0eaff;}.why-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));    gap: 1.5rem;}.why-item {    display: flex;    align-items: flex-start;    gap: 0.8rem;}.why-item .why-emoji {    font-size: 1.6rem;    line-height: 1.2;    flex-shrink: 0;}.why-item strong {    display: block;    font-size: 1rem;    font-weight: 800;    margin-bottom: 0.15rem;    color: #f0eaff;}.why-item p {    font-size: 0.8rem;    opacity: 0.75;    line-height: 1.4;    margin: 0;    color: #c8b8e8;}.why-footer {    margin-top: 1.8rem;    text-align: center;    font-size: 0.85rem;    font-weight: 600;    border-top: 2px solid #6a4a8a;    padding-top: 1rem;}.why-footer a {    color: #f0eaff;    text-decoration: none;    border-bottom: 3px solid #facc15;    padding-bottom: 2px;}body.dark-mode .why-locloud {    background: #120e1a;    color: #f0eaff;    border-color: #facc15;    box-shadow: 7px 7px 0 0 #facc15;}body.dark-mode .why-footer {    border-top-color: #facc15;}body.dark-mode .why-footer a {    border-bottom-color: #facc15;}@media (max-width: 600px) {    .why-grid {        grid-template-columns: 1fr;        gap: 1.2rem;    }    .why-locloud {        padding: 1.2rem;    }    .why-header h2 {        font-size: 1.6rem;    }}@media (max-width: 800px) {    body {        padding: 1rem;    }    .grid-1col {        grid-template-columns: 1fr;        gap: 2rem;    }    .history-modal-content {        max-width: 95%;    }}::-webkit-scrollbar {    width: 8px;    background: #2a1f42;}::-webkit-scrollbar-thumb {    background: #6a4a8a;    border: 1px solid #facc15;}i {    pointer-events: none;}/* ---- DONATION BOX override (dari inline HTML) ---- */.donation-box {    background: #1e1630 !important;    border-color: #6a4a8a !important;    color: #f0eaff;}.donation-box p {    color: #c8b8e8 !important;}.donation-box a {    border-color: #6a4a8a !important;}body.dark-mode .donation-box {    background: #120e1a !important;    border-color: #facc15 !important;}body.dark-mode .donation-box p {    color: #dddddd !important;}body.dark-mode .donation-box a {    border-color: #facc15 !important;}/* tombol close di view modal */#closeViewModalBtn {    background: #3a2a55;    color: #f0eaff;    border: 2px solid #6a4a8a;    padding: 0.2rem 0.8rem;    font-weight: bold;    cursor: pointer;}body.dark-mode #closeViewModalBtn {    background: #1a1428;    border-color: #facc15;    color: #f0eaff;}