:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#203329;background:#f5f7f6;font-synthesis:none;line-height:1.55;--green:#00c73c;--green-dark:#07852f;--border:#dde7e0;--muted:#718079;--soft:#edf8f0}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button,input,textarea{touch-action:manipulation}button{transition:background .15s,border-color .15s,opacity .15s}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #8ee7a9;outline-offset:3px}input:focus,textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px #00c73c15}button{color:inherit}input,textarea{width:100%;border:1px solid #cedbd2;border-radius:10px;background:#fbfdfb;color:#203329;padding:12px 14px;min-height:48px}input::placeholder,textarea::placeholder{color:#99a59e}textarea{resize:vertical;min-height:112px}input:disabled,textarea:disabled{background:#f2f5f3}h1,h2,h3,p{margin:0}h1{font-size:25px;line-height:1.2;letter-spacing:-.4px}h2{font-size:20px;line-height:1.4}h3{font-size:17px}[hidden]{display:none!important}.app{max-width:592px;margin:0 auto;padding:34px 20px 20px}.page-header{display:flex;align-items:center;gap:12px;margin:0 0 24px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--green);color:white;font-weight:800;font-size:25px}.eyebrow{font-size:12px;font-weight:600;color:var(--green-dark);letter-spacing:.5px;margin-bottom:6px}.card{background:white;border:1px solid var(--border);border-radius:17px;padding:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-heading .muted{font-size:13px}.muted,.field-help{color:var(--muted);font-size:14px}.field-label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}.field-help{font-size:12px;line-height:1.6;margin:8px 0 0}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f1f5f2;border:1px solid #edf1ee;border-radius:11px;padding:4px}.segmented button{background:none;border:0;border-radius:7px;min-height:38px;color:#6c7b71;font-size:14px;font-weight:600}.segmented button[aria-selected=true]{background:white;color:var(--green-dark);box-shadow:0 1px 4px #173e2110}.password-field{position:relative}.password-field input{padding-right:62px}.password-toggle{position:absolute;right:6px;top:5px;bottom:5px;padding:0 10px;border:0;background:transparent;color:var(--green-dark);font-size:13px}.primary,.secondary{min-height:46px;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:650}.primary{background:var(--green);border:1px solid var(--green);color:white}.primary:hover:not(:disabled){background:#00b436;border-color:#00b436}.secondary{background:white;border:1px solid #ccdbd1;color:#35533e}.secondary:hover:not(:disabled){background:#f2f8f3;border-color:#b0c9b8}.full-width{width:100%}.login-card .primary,.card form .primary{margin-top:22px}.text-button{border:0;padding:5px 0;background:transparent;color:var(--green-dark);font-size:13px;font-weight:600;white-space:nowrap}.text-button:hover:not(:disabled){color:#005e20;text-decoration:underline}.notice{background:#fff9ec;border:1px solid #eadcc0;border-radius:12px;padding:12px 15px;font-size:13px;color:#795524;margin:0 0 16px;overflow-wrap:anywhere}.notice[data-tone=info]{color:#466752;background:#eef7f0;border-color:#d7e8db}.notice .text-button{margin-top:5px}.account-card{display:flex;align-items:center;gap:12px;padding:18px 20px;margin-bottom:18px}.account-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e9f8ed;color:var(--green-dark);font-size:20px;font-weight:700;flex-shrink:0}.account-copy{flex:1;min-width:0}.account-copy .muted{display:block;font-size:12px}.account-copy strong{display:block;font-size:16px;overflow-wrap:anywhere}.tool-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.tool-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;border:1px solid var(--border);border-radius:12px;background:white;color:#6c7b72;font-size:14px;font-weight:650}.tool-tabs button[aria-selected=true]{background:var(--soft);border-color:#8bd7a0;color:var(--green-dark)}.tool-icon{font-size:15px;font-weight:600;line-height:24px;border:1px solid currentColor;border-radius:5px;min-width:26px}.gift-heading{margin:24px 2px 13px}.gift-heading h2{font-size:17px}.count{display:inline-block;font-size:12px;min-width:22px;line-height:22px;padding:0 6px;border-radius:6px;background:#e9efeb;color:#687c6d;margin-left:4px;vertical-align:middle}.gift-list{display:grid;gap:12px}.gift-card{padding:20px}.gift-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}.gift-card h3{font-size:16px;overflow-wrap:anywhere}.gift-status{font-size:11px;line-height:1.5;white-space:nowrap;padding:3px 7px;background:#f1f4f2;border-radius:6px;color:#78857b}.gift-status[data-available=true]{background:#eaf8ee;color:var(--green-dark)}.gift-meta{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:12px;margin:0 0 17px}.gift-meta dt{color:#8a958e}.gift-meta dd{margin:0;color:#52685a;text-align:right;overflow-wrap:anywhere}.gift-card .secondary{width:100%;min-height:39px;padding:7px 12px}.empty-state{text-align:center;padding:34px 20px;color:var(--muted)}.empty-state h3{color:#4d6656;margin:9px 0 5px}.empty-state p{font-size:13px}.empty-icon{display:inline-block;color:#83ad8e;border:1px solid #cbdcd0;border-radius:10px;font-size:24px;line-height:44px;min-width:44px}.spinner{display:inline-block;border:3px solid #e5eee7;border-top-color:var(--green);border-radius:50%;width:25px;height:25px;animation:spin .7s linear infinite;margin-bottom:9px}@keyframes spin{to{transform:rotate(360deg)}}footer{padding:23px 0 6px;text-align:center;color:#8b988f;font-size:11px}.result-card{text-align:center;padding-top:30px}.result-mark{display:grid;place-items:center;margin:0 auto 14px;background:#eaf8ee;color:var(--green-dark);border-radius:50%;width:48px;height:48px;font-size:26px}.result-card[data-pending=true] .result-mark{background:#fff4db;color:#9b7025}.result-message{font-size:14px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 20px}.result-card .detail-lines{text-align:left}.result-card .secondary{margin-top:4px}.detail-lines{list-style:none;padding:15px 16px;margin:18px 0;background:#f4f8f5;border:1px solid #e6eee8;border-radius:10px;font-size:14px;overflow-wrap:anywhere}.detail-lines li+li{margin-top:8px}dialog{width:calc(100% - 32px);max-width:480px;border:1px solid #dde8e0;border-radius:18px;padding:24px;color:#203329;box-shadow:0 18px 70px #132d2326;max-height:calc(100dvh - 48px);overflow:auto}dialog::backdrop{background:#11251966;backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.close-button{width:32px;height:32px;font-size:25px;line-height:1;border:0;border-radius:8px;background:#f2f5f3;color:#7c8a80}.dialog-heading .eyebrow{margin:0}dialog h2{margin:10px 0 8px}dialog #confirmation-description{font-size:13px}.confirmation-account{display:flex;justify-content:space-between;align-items:start;gap:14px;border-top:1px solid #e5ece7;padding-top:15px;margin-top:19px;font-size:13px}.confirmation-account span{color:var(--muted);flex-shrink:0}.confirmation-account strong{text-align:right;overflow-wrap:anywhere}.terms{border:1px solid #e1e9e3;border-radius:10px;padding:13px 14px;max-height:180px;overflow:auto;color:#65776a;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.consent{display:flex;align-items:start;gap:9px;margin-top:13px;font-size:13px;color:#566c5e}.consent input{width:16px;height:16px;min-height:0;padding:0;flex-shrink:0;margin:3px 0 0;accent-color:var(--green)}.dialog-actions{display:flex;gap:10px;margin-top:23px}.dialog-actions button{flex:1}.noscript{text-align:center;padding:16px;color:#795524}@media(max-width:430px){.app{padding:24px 14px 16px}.page-header{margin-bottom:20px}.card{padding:20px}.account-card{padding:15px 16px}.tool-tabs{gap:8px}.tool-tabs button{font-size:13px;gap:7px}.gift-card{padding:17px}dialog{padding:20px}.gift-meta{column-gap:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner{animation:none}}
/* Three equal-width tools stay readable on narrow phones. */
.tool-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tool-tabs button{flex-direction:column;gap:5px;padding:10px 3px;font-size:13px;line-height:1.35;white-space:nowrap}
.product-warning{margin:0 2px 16px;color:#c62828;font-size:14px;font-weight:600;line-height:1.8}.product-warning p{margin:0}
.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-card{padding:20px 16px}.product-card h3{font-size:18px;margin-bottom:22px}
.product-card .secondary{min-height:42px;padding:8px 6px;font-size:13px}
#gift-more{margin-top:12px}
@media(max-width:360px){.tool-tabs{gap:6px}.tool-tabs button{font-size:12px}.product-list{gap:10px}.product-card{padding:17px 12px}.product-card h3{font-size:17px}}

/* Account and official balance headings align above two independent values. */
.account-card{display:block}.account-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.account-overview .muted{display:block;font-size:12px;line-height:1.5}.account-overview strong{display:block;margin-top:5px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.account-balance{text-align:right;min-width:0}.account-balance strong{font-variant-numeric:tabular-nums;color:var(--green-dark)}
.account-balance[data-status=loading] strong,.account-balance[data-status=error] strong{font-size:13px;font-weight:500;color:var(--muted)}
.account-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:2px 12px;margin-top:8px}.account-links .text-button{font-size:12px}
.shortcuts-card{margin-top:16px}.shortcuts-card h2{margin-bottom:16px}.shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shortcut-link{display:flex;align-items:center;gap:12px;background:#232725;color:#e8eee9;border:1px solid #404943;min-height:64px;border-radius:12px;padding:12px;text-decoration:none;font-size:15px;font-weight:700;text-align:left;overflow:hidden}
.shortcut-link:hover{background:#2f3732;border-color:#68836e}.shortcut-symbol{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #00c73c;color:#00e344;border-radius:7px;font-size:23px;font-weight:500}
@media(max-width:430px){.shortcut-link{gap:8px;padding:10px;font-size:14px}.shortcut-symbol{width:30px;height:32px;font-size:21px}}
@media(max-width:360px){.account-overview{gap:14px}.account-overview strong{font-size:14px}.shortcut-link{font-size:12px;padding:9px;gap:6px}.shortcut-symbol{width:27px;height:30px;font-size:20px}}

/* Four tools keep the established order; phones use a readable two-row grid. */
.tool-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.account-packages{font-size:12px;color:var(--muted);line-height:1.6;margin-top:6px;overflow-wrap:anywhere}
.song-search-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.song-search-heading h2{flex:none}.song-search-heading .song-warning{margin:0;color:#c62828;font-weight:700}
.song-search-row{display:flex;gap:10px;align-items:stretch}.song-search-row input{min-width:0;flex:1}.song-search-row .primary{padding:10px 18px;flex:none}.song-search-card form .primary{margin-top:0}
.song-summary{font-size:13px;line-height:1.7;color:var(--muted);margin:15px 2px}.song-summary:empty{display:none}.song-list{display:grid;gap:12px}
.song-card{padding:20px}.song-card h3{font-size:17px;overflow-wrap:anywhere;margin-bottom:14px}.song-meta{margin-bottom:17px}.song-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.song-pagination .secondary{padding:8px 12px;min-height:40px}.song-pagination .muted{white-space:nowrap;font-size:12px}
@media(max-width:430px){.tool-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.song-card{padding:17px}.song-search-row{gap:8px}.song-search-row .primary{padding:10px 13px}}
