*{margin:0;padding:0;box-sizing:border-box}body.body-modal-open{overflow:hidden}:root{font-family:Noto Sans Thai,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:#2d2a24;background-color:#f5f2eb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--gold-50: #fdf9ee;--gold-100: #f8f0d8;--gold-200: #efe0b4;--gold-300: #d9c478;--gold-400: #c9a83c;--gold-500: #a88520;--gold-600: #8b6914;--gold-700: #6d5210;--gold-800: #4a3a10;--gold-900: #2e2408;--surface: #ffffff;--surface-hover: #fdfbf6;--border: #e4dbc6;--border-light: #efe8d8;--text-primary: #2d2a24;--text-secondary: #5c5548;--text-muted: #8a8279;--danger: #dc2626;--danger-bg: #fef2f2;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(139,105,20,.08);--shadow-lg: 0 8px 32px rgba(139,105,20,.12)}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}a{color:var(--gold-600);text-decoration:none;transition:color .15s}a:hover{color:var(--gold-700);text-decoration:underline}button{font-family:inherit}::selection{background:var(--gold-200);color:var(--gold-900)}.search-bar{max-width:680px;margin:0 auto 36px;position:relative}.search-type-tabs{display:flex;gap:6px;margin-bottom:14px}.tab{flex:1;padding:10px 0;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:var(--radius-sm)}.tab.active{background:var(--gold-600);color:#fff;font-weight:700;border-color:var(--gold-600);box-shadow:0 2px 8px #8b691440}.tab:hover:not(.active){background:var(--gold-50);border-color:var(--gold-300);color:var(--gold-700)}.tab.locked{opacity:.55;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.tab.locked:hover{opacity:.75;background:var(--gold-50);border-color:var(--gold-200)}.search-input-row{display:flex;gap:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:2px solid var(--border);transition:all .25s;background:var(--surface)}.search-input-row:focus-within{border-color:var(--gold-500);box-shadow:var(--shadow-lg),0 0 0 3px #8b691414}.search-input{flex:1;padding:16px 20px;border:none;outline:none;font-size:1rem;background:transparent;color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted);font-size:.9rem}.search-btn{padding:16px 26px;border:none;background:linear-gradient(135deg,var(--gold-600),var(--gold-500));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.search-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent);pointer-events:none}.search-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--gold-700),var(--gold-600))}.search-btn:disabled{background:var(--gold-200);cursor:not-allowed}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@media(max-width:600px){.search-type-tabs{gap:4px}.tab{font-size:.82rem;padding:9px 0}.search-input{padding:14px;font-size:.9rem}.search-btn{padding:14px 20px}}.search-history{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-top:6px;padding:8px 0;z-index:100;max-height:320px;overflow-y:auto;animation:fadeIn .15s}.search-history-label{font-size:.72rem;font-weight:600;color:var(--text-muted);padding:6px 16px 8px;text-transform:uppercase;letter-spacing:.04em}.search-history-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .15s}.search-history-item:hover{background:var(--gold-50)}.history-icon{color:var(--text-muted);flex-shrink:0}.history-text{flex:1;font-size:.9rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;opacity:0;transition:all .15s}.search-history-item:hover .history-remove{opacity:1}.history-remove:hover{background:var(--gold-100);color:var(--gold-700)}.keyword-highlight{background:#fff3b0;color:inherit;padding:1px 3px;border-radius:3px;font-style:normal}.result-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:0;margin-bottom:18px;transition:box-shadow .25s,transform .2s,border-color .25s;overflow:hidden}.result-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--gold-300)}.card-header{padding:18px 22px 14px;background:linear-gradient(135deg,var(--gold-50),var(--surface));border-bottom:1px solid var(--border-light)}.card-header-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-header-actions{display:flex;align-items:center;gap:6px}.save-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1.5px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.save-btn:hover{border-color:var(--gold-400);color:var(--gold-600);background:var(--gold-50)}.save-btn.saved{background:var(--gold-600);color:#fff;border-color:var(--gold-600)}.save-btn.saved:hover{background:var(--gold-700);border-color:var(--gold-700)}.save-btn.locked,.view-full-btn.locked{position:relative;border-color:#e0e0e0;color:#ccc;background:#f9f9f9}.save-btn.locked:hover,.view-full-btn.locked:hover{background:#f0f0f0;border-color:#d0d0d0;color:#bbb;box-shadow:none}.lock-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#972113;font-size:1.5em;opacity:0;transition:opacity .2s;z-index:1;filter:drop-shadow(0 0 2px rgba(255,255,255,.8))}.save-btn.locked:hover .lock-icon,.view-full-btn.locked:hover .lock-icon{opacity:1}.deka-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,var(--gold-700),var(--gold-500));color:#fff;font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:20px;letter-spacing:.3px;box-shadow:0 2px 6px #8b691433}.card-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:8px 0 0;line-height:1.45}.card-body{padding:16px 22px 18px}.card-summary{color:var(--text-secondary);font-size:.9rem;line-height:1.85;margin:0 0 16px;padding:16px 20px;background:var(--gold-50);border-radius:var(--radius-sm);border-left:3px solid var(--gold-400);position:relative;max-height:300px;overflow-y:auto;scroll-behavior:smooth}.card-summary-para{margin:0 0 8px;text-align:justify;text-indent:2em;word-break:break-word}.card-summary-para:last-child{margin-bottom:0}.card-summary::-webkit-scrollbar{width:5px}.card-summary::-webkit-scrollbar-track{background:transparent}.card-summary::-webkit-scrollbar-thumb{background:var(--gold-200);border-radius:3px}.card-summary:after{content:"";position:sticky;bottom:0;display:block;height:30px;background:linear-gradient(transparent,var(--gold-50));pointer-events:none;margin-top:-30px}.card-meta-group{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.card-meta{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-sm);transition:background .15s;line-height:1.55}.card-meta:hover{background:var(--gold-50)}.card-meta-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;flex-shrink:0;margin-top:0}.card-meta-icon.law{background:#fef3cd;color:#b8860b}.card-meta-icon.judge{background:#e8daef;color:#7d3c98}.card-meta-icon.party{background:#d5f5e3;color:#1e8449}.card-meta-content{flex:1;min-width:0}.card-meta-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:1px}.card-meta-value{color:var(--text-secondary);word-break:break-word}.card-source{font-size:.78rem;color:var(--text-muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);display:flex;align-items:center;gap:6px}.card-source:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold-400)}.card-full-text{margin-top:4px;border-top:1px solid var(--border-light)}.card-full-text-locked{margin-top:4px;border-top:1px solid var(--border-light);padding:14px 22px;color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:8px}.card-full-text-locked:hover{background:var(--gold-50);color:var(--gold-700)}.card-full-text summary{cursor:pointer;color:var(--gold-600);font-weight:600;font-size:.88rem;padding:12px 22px;-webkit-user-select:none;user-select:none;transition:all .15s;display:flex;align-items:center;gap:8px}.card-full-text summary:hover{color:var(--gold-700);background:var(--gold-50)}.full-text-content{padding:20px 22px;background:var(--gold-50);font-size:.88rem;line-height:1.85;color:var(--text-secondary);white-space:pre-wrap;max-height:500px;overflow-y:auto;border-top:1px solid var(--border-light)}.full-text-content::-webkit-scrollbar{width:6px}.full-text-content::-webkit-scrollbar-track{background:transparent}.full-text-content::-webkit-scrollbar-thumb{background:var(--gold-200);border-radius:3px}@media(max-width:600px){.card-header{padding:14px 16px 12px}.card-body{padding:12px 16px 14px}.card-meta{padding:6px 8px}}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 22px 16px;border-top:1px solid var(--border-light);gap:12px}.card-footer .card-source{margin:0;padding:0;border-top:none}.card-footer-actions{display:flex;align-items:center;gap:8px}.view-full-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--surface);border:1.5px solid var(--gold-400);border-radius:20px;color:var(--gold-700);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.view-full-btn:hover{background:var(--gold-50);border-color:var(--gold-600);color:var(--gold-800);box-shadow:0 2px 8px #8b691426}.print-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.print-btn:hover{background:var(--gold-50);border-color:var(--gold-400);color:var(--gold-700)}.full-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid var(--border-light);flex-shrink:0}.full-modal-footer .print-btn{padding:10px 22px;font-size:.88rem}.full-text-modal{background:var(--surface);border-radius:var(--radius-xl);position:relative;box-shadow:0 20px 60px #0003;animation:slideUp .25s ease-out;max-width:900px;width:92vw;max-height:90vh;display:flex;flex-direction:column;padding:40px 44px 32px}.full-text-modal .modal-header h2{font-size:1.25rem;color:var(--gold-800);position:relative;padding-left:14px}.full-text-modal .modal-header h2:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:2px;background:linear-gradient(to bottom,var(--gold-500),var(--gold-300))}.full-text-modal .modal-desc{font-size:.88rem;color:var(--text-muted);margin-top:6px;padding-left:14px;line-height:1.6}.full-modal-loading{text-align:center;padding:48px 0;color:var(--text-muted)}.full-modal-loading .loading-spinner{margin:0 auto 12px}.full-modal-text{flex:1;overflow-y:auto;padding:20px 24px;margin:16px 0;font-size:1rem;line-height:2;color:var(--text-primary);word-break:break-word;letter-spacing:.01em;background:var(--gold-50);border-left:4px solid var(--gold-400);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.full-modal-para{margin:0 0 10px;text-align:justify;text-indent:2em}.full-modal-para:last-child{margin-bottom:0}.full-modal-text::-webkit-scrollbar{width:6px}.full-modal-text::-webkit-scrollbar-track{background:transparent}.full-modal-text::-webkit-scrollbar-thumb{background:var(--gold-200);border-radius:3px}@media(max-width:768px){.full-text-modal{width:96vw;max-height:92vh;padding:32px 24px 24px}.full-text-modal .modal-header h2{font-size:1.1rem}.full-modal-text{font-size:.95rem;line-height:1.9;padding:18px 0}}@media(max-width:480px){.full-text-modal{width:100vw;max-height:100vh;border-radius:12px 12px 0 0;padding:28px 18px 20px;margin-top:auto}.full-modal-text{font-size:.9rem;line-height:1.85;text-indent:1.5em}}.pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:32px 0 8px;flex-wrap:wrap}.page-btn{padding:9px 20px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.page-btn:hover:not(:disabled){background:var(--gold-600);color:#fff;border-color:var(--gold-600);box-shadow:0 2px 8px #8b691433}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-numbers{display:flex;align-items:center;gap:4px}.page-num{width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:.84rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.page-num:hover:not(:disabled):not(.active){background:var(--gold-50);border-color:var(--gold-300);color:var(--gold-700)}.page-num.active{background:var(--gold-600);color:#fff;border-color:var(--gold-600);font-weight:700;box-shadow:0 2px 8px #8b691440}.page-ellipsis{padding:0 6px;color:var(--text-muted);font-size:1rem}@media(max-width:600px){.pagination{gap:6px}.page-btn{padding:8px 14px;font-size:.8rem}.page-num{width:34px;height:34px;font-size:.8rem}}.results-list{max-width:800px;margin:0 auto}.results-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:14px 20px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:8px}.meta-text{font-size:.85rem;color:var(--text-secondary)}.meta-page{font-size:.82rem;color:var(--gold-600);font-weight:700;background:var(--gold-50);padding:4px 12px;border-radius:20px;border:1px solid var(--gold-200)}.results-verify{text-align:center;font-size:.85rem;color:var(--text-muted);margin-bottom:20px;padding:10px 16px;background:var(--gold-50);border:1px dashed var(--gold-200);border-radius:var(--radius-sm)}.results-verify a{color:var(--gold-600);font-weight:600}.no-results{text-align:center;padding:80px 20px;color:var(--text-muted)}.no-results p{font-size:1.1rem}.results-login-wall{position:relative;margin-top:12px;padding:40px 20px;background:var(--gold-50);border:1.5px dashed var(--gold-300);border-radius:var(--radius-lg);text-align:center}.login-wall-content{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--gold-700)}.login-wall-content h3{margin:0;font-size:1.1rem;font-weight:700}.login-wall-content p{margin:0;font-size:.9rem;color:var(--text-muted)}.login-wall-btn{margin-top:12px;padding:12px 32px;border:none;border-radius:var(--radius-md);background:var(--gold-600);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}.login-wall-btn:hover{background:var(--gold-500);transform:translateY(-1px)}.saved-list{max-width:800px;margin:0 auto}.saved-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}.saved-header h2{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.saved-count{font-size:.82rem;color:var(--gold-600);font-weight:700;background:var(--gold-50);padding:4px 14px;border-radius:20px;border:1px solid var(--gold-200)}.saved-empty{text-align:center;padding:80px 20px;max-width:400px;margin:0 auto}.saved-empty-icon{width:72px;height:72px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:var(--gold-50);border-radius:50%;color:var(--gold-400);border:2px dashed var(--gold-200)}.saved-empty p{font-size:1.05rem;font-weight:600;color:var(--text-secondary);margin:0 0 6px}.saved-empty span{font-size:.85rem;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border-radius:var(--radius-xl);padding:36px 32px 28px;width:100%;max-width:400px;position:relative;box-shadow:0 20px 60px #0003;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:8px;transition:all .15s;display:flex}.modal-close:hover{background:var(--gold-50);color:var(--text-primary)}.modal-header{text-align:center;margin-bottom:24px}.modal-header h2{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.modal-desc{font-size:.85rem;color:var(--text-muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.82rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.form-group input{padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:var(--surface);color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px #8b691414}.form-group input::placeholder{color:var(--text-muted)}.auth-error{padding:10px 14px;background:var(--danger-bg);color:#dc2626;border-radius:var(--radius-sm);font-size:.85rem;border:1px solid #fca5a5}.auth-success{padding:10px 14px;background:#f0fdf4;color:#16a34a;border-radius:var(--radius-sm);font-size:.85rem;border:1px solid #86efac}.auth-submit{padding:13px;background:linear-gradient(135deg,var(--gold-600),var(--gold-500));color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:4px}.auth-submit:hover{background:linear-gradient(135deg,var(--gold-700),var(--gold-600));box-shadow:0 4px 12px #8b691440}.auth-switch{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.auth-switch p{font-size:.85rem;color:var(--text-muted);margin:0}.auth-switch button{background:none;border:none;color:var(--gold-600);font-weight:700;cursor:pointer;font-size:.85rem;padding:0}.auth-switch button:hover{color:var(--gold-700);text-decoration:underline}.auth-options{display:flex;align-items:center;justify-content:space-between;margin-top:-4px}.remember-me{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.remember-me input[type=checkbox]{width:15px;height:15px;accent-color:var(--gold-600);cursor:pointer}.remember-me span{line-height:1}.forgot-btn{background:none;border:none;color:var(--gold-600);font-size:.82rem;cursor:pointer;padding:0;font-family:inherit}.forgot-btn:hover{color:var(--gold-700);text-decoration:underline}.profile-modal{max-width:440px}.profile-loading{text-align:center;padding:32px;color:var(--text-muted)}.email-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-light)}.email-current label{font-size:.82rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px;margin-bottom:8px}.email-row{display:flex;align-items:center;gap:10px}.email-value{font-size:.95rem;color:var(--text-primary);font-weight:500}.email-edit-btn{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:5px 12px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s;font-family:inherit}.email-edit-btn:hover{border-color:var(--gold-500);color:var(--gold-600);background:var(--gold-50)}.pending-email-note{margin:8px 0 0;font-size:.8rem;color:var(--gold-600);background:var(--gold-50);padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--gold-200, #e5d5a0)}.email-change-form{margin-top:12px;display:flex;flex-direction:column;gap:10px}.email-change-form input{padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:var(--surface);color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.email-change-form input:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px #8b691414}.email-change-actions{display:flex;gap:8px}.email-change-actions .auth-submit{flex:1;font-size:.9rem;padding:10px}.email-cancel-btn{padding:10px 16px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s}.email-cancel-btn:hover{background:#f5f5f5}.email-msg{margin-top:10px;padding:8px 12px;background:#f0fdf4;color:#16a34a;border:1px solid #86efac;border-radius:var(--radius-sm);font-size:.82rem}.password-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-light)}.password-header{display:flex;align-items:center;justify-content:space-between}.password-header label{font-size:.82rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.password-change-form{margin-top:12px;display:flex;flex-direction:column;gap:10px}.password-change-form input{padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:var(--surface);color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.password-change-form input:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px #8b691414}.app{min-height:100vh;display:flex;flex-direction:column;background:#f5f2eb}.verify-modal{max-width:380px;text-align:center;padding:40px 32px 32px}.verify-icon{width:64px;height:64px;border-radius:50%;color:#fff;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.verify-icon.success{background:#16a34a}.verify-icon.error{background:#dc2626}.verify-title{margin:0 0 24px;color:var(--text-primary);font-size:1.15rem;font-weight:600;line-height:1.5}.app-header{background:linear-gradient(160deg,#1a1610,#2e2408 25%,#4a3a10 55%,#8b6914);padding:36px 24px 32px;text-align:center;position:relative;overflow:hidden}.app-header:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 0%,rgba(201,168,60,.15) 0%,transparent 60%),radial-gradient(ellipse at 70% 100%,rgba(201,168,60,.1) 0%,transparent 50%);pointer-events:none}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold-400),var(--gold-300),var(--gold-400),transparent)}.header-content{max-width:800px;margin:0 auto;position:relative;z-index:1}.header-top-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.header-actions{display:flex;align-items:center;gap:8px}.user-greeting-btn{display:inline-flex;align-items:center;gap:5px;color:var(--gold-300);font-size:.85rem;font-weight:500;padding:4px 10px;background:none;border:1.5px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;font-family:inherit}.user-greeting-btn:hover{border-color:var(--gold-500);background:#8b69141a;color:var(--gold-200)}.header-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;border:1.5px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;white-space:nowrap}.header-btn:hover{background:#fff3;border-color:#ffffff59}.register-btn{background:var(--gold-600);border-color:var(--gold-500)}.register-btn:hover{background:var(--gold-500)}.login-btn{background:#ffffff14;border-color:#ffffff40}.login-btn:hover{background:#ffffff2e;border-color:#fff6}.logout-btn{padding:7px 8px;border-color:#ffffff1f;background:#ffffff0f}.logout-btn:hover{background:#dc262633;border-color:#dc262666;color:#fca5a5}.app-title{margin:0;font-size:2.6rem;font-weight:800;color:#fff;letter-spacing:-.5px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.title-icon{margin-right:10px;font-size:2.4rem}.app-subtitle{margin:8px 0 0;color:var(--gold-300);font-size:1.05rem;font-weight:400;letter-spacing:.5px}.nav-tabs{display:flex;justify-content:center;gap:0;background:var(--surface);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.nav-tab{display:inline-flex;align-items:center;gap:6px;padding:14px 28px;border:none;background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.nav-tab:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2.5px;background:var(--gold-600);border-radius:2px 2px 0 0;transition:width .25s}.nav-tab.active{color:var(--gold-700);font-weight:700}.nav-tab.active:after{width:80%}.nav-tab:hover:not(.active){color:var(--text-secondary);background:var(--gold-50)}.app-main{flex:1;padding:36px 24px 48px;max-width:860px;width:100%;margin:0 auto;box-sizing:border-box}.error-box{max-width:720px;margin:0 auto 24px;padding:16px 20px;background:var(--danger-bg);border:1px solid #fca5a5;border-radius:var(--radius-md);color:#991b1b;font-size:.92rem;display:flex;align-items:flex-start;gap:8px}.loading-state{text-align:center;padding:80px 0;color:var(--gold-600)}.loading-state p{font-size:.95rem;font-weight:500}.loading-spinner{width:44px;height:44px;margin:0 auto 18px;border:3px solid var(--gold-100);border-top-color:var(--gold-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-footer{text-align:center;padding:24px;color:var(--text-muted);font-size:.82rem;border-top:1px solid var(--border-light);background:var(--gold-50)}.app-footer a{color:var(--gold-600);font-weight:500}@media(max-width:600px){.app-header{padding:20px 16px 18px}.header-top-row{flex-wrap:wrap;gap:10px}.app-title{font-size:1.6rem}.app-subtitle{font-size:.85rem}.header-actions{gap:6px}.header-btn{padding:6px 10px;font-size:.78rem}.user-greeting-btn{font-size:.78rem}.nav-tab{padding:12px 20px;font-size:.84rem}.app-main{padding:20px 14px 36px}}
