.hidden{display:none!important}.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000bf;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;z-index:9999;pointer-events:none;opacity:0;transition:opacity .3s}.toast.show{opacity:1}.toast.warn{background:#ffb300;color:#fff}.share-menu-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.share-menu-card{background:#fff;border-radius:16px;padding:20px;width:84%;max-width:360px;box-shadow:0 8px 24px #0000001f}.share-menu-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.share-menu-hint{font-size:12px;color:var(--text-hint);line-height:1.5;margin-bottom:12px}.share-menu-url{font-size:12px;color:var(--text-secondary);background:var(--tide-pale);padding:10px 12px;border-radius:8px;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-bottom:16px;user-select:all;-webkit-user-select:all;line-height:1.5}.share-menu-actions{display:flex;gap:8px}.share-menu-btn{flex:1;padding:10px;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:opacity .15s}.share-menu-btn.cancel{background:var(--sand-light);color:var(--text-secondary)}.share-menu-btn.primary{background:var(--tide-blue);color:#fff}.share-menu-btn:active{opacity:.7}.share-menu-btn:disabled{opacity:.6;cursor:default}.auth-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}.auth-mask.show{opacity:1;pointer-events:auto}.auth-modal{background:#fff;border-radius:18px;width:320px;max-width:calc(100vw - 48px);box-shadow:0 20px 60px #0003;overflow:hidden}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 8px}.auth-modal-title{font-size:16px;font-weight:600;color:var(--text-primary)}.auth-modal-close{background:none;border:none;cursor:pointer;font-size:18px;color:var(--text-hint);padding:4px 8px;line-height:1}.auth-modal-close:active{color:var(--text-secondary)}.auth-tabs{display:flex;margin:4px 18px 0;border-bottom:1px solid var(--border)}.auth-tab{flex:1;text-align:center;padding:10px 0;font-size:14px;font-weight:500;color:var(--text-hint);cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.auth-tab.active{color:var(--tide-blue);border-bottom-color:var(--tide-blue)}.auth-form{padding:18px;display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-label{font-size:12px;color:var(--text-secondary);font-weight:500}.auth-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;font-family:inherit;color:var(--text-primary);background:var(--sand-light);transition:border-color .2s,background .2s}.auth-input:focus{outline:none;border-color:var(--tide-blue);background:#fff}.auth-error{font-size:12px;color:var(--orange-acc);min-height:0;display:none;line-height:1.4}.auth-submit{margin-top:4px;width:100%;padding:12px;border:none;border-radius:25px;background:linear-gradient(145deg,var(--tide-blue),var(--tide-deep));color:#fff;font-size:15px;font-weight:500;cursor:pointer;box-shadow:0 4px 14px #1e6b8c4d;transition:opacity .2s}.auth-submit:active{opacity:.9}.auth-submit:disabled{opacity:.6;cursor:default}.audio-player{display:flex;align-items:center;align-self:stretch;gap:10px;margin-top:14px;padding:8px 12px 8px 8px;background:var(--tide-pale);border-radius:14px}.audio-player.hidden{display:none}.audio-player audio{display:none}.ap-play{flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:var(--tide-blue);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,background .15s ease}.ap-play:hover{background:var(--tide-deep)}.ap-play:active{transform:scale(.92)}.ap-play:focus-visible{outline:2px solid var(--tide-blue);outline-offset:2px}.ap-play svg{width:16px;height:16px;display:block}.ap-progress{flex:1;position:relative;height:4px;background:#1e6b8c26;border-radius:2px;cursor:pointer;touch-action:none}.ap-progress-filled{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--tide-blue);border-radius:2px;transition:width .1s linear}.ap-time{flex-shrink:0;min-width:72px;text-align:right;font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.3px}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f3f5773;display:flex;align-items:center;justify-content:center;z-index:1000;animation:confirm-fade-in .15s ease-out}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-card{background:#fff;border-radius:16px;padding:22px 20px 16px;width:82%;max-width:320px;box-shadow:0 12px 32px #0f3f572e}.confirm-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.confirm-body{font-size:13px;color:var(--text-secondary);line-height:1.55;margin-bottom:18px}.confirm-checkbox{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px;background:var(--orange-light);border-radius:8px;cursor:pointer;font-size:12px;color:var(--text-secondary);line-height:1.5;-webkit-user-select:none;user-select:none}.confirm-checkbox input[type=checkbox]{flex-shrink:0;margin:2px 0 0;width:16px;height:16px;accent-color:var(--orange-acc);cursor:pointer}.confirm-actions{display:flex;gap:10px}.confirm-btn{flex:1;padding:11px 0;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.confirm-btn.cancel{background:var(--sand-white);color:var(--text-secondary)}.confirm-btn.ok{background:var(--tide-blue);color:#fff}.confirm-btn:active{opacity:.75}
