:root,html[data-theme=dark]{--bg:#0a0a0a;--bg-elevated:#111111;--bg-hover:#161616;--border:#1f1f1f;--border-strong:#2a2a2a;--border-hover:#3a3a3a;--text:#ededed;--text-secondary:#a1a1a1;--text-muted:#666666;--accent:#ffffff;--accent-dim:rgba(255,255,255,0.06);--focus-ring:rgba(255,255,255,0.08);--focus-border:#555555;--primary-bg:#ffffff;--primary-fg:#0a0a0a;--spinner-track:rgba(0,0,0,0.18);--spinner-head:#0a0a0a;--selection:rgba(255,255,255,0.16);--glow:rgba(255,255,255,0.06);--grid-line:rgba(255,255,255,0.02);--bookmark-hover-bg:#121212;--bookmark-hover-border:#333333;--avatar-bg:#141414;--avatar-grad:linear-gradient(145deg,#1a1a1a,#0e0e0e);--error-border:rgba(255,80,80,0.28);--error-bg:rgba(255,80,80,0.08);--error-text:#ff8a8a;--green:#3ecf8e;--green-dim:rgba(62,207,142,0.12);--amber:#f5a524;--amber-dim:rgba(245,165,36,0.12);--radius:12px;--radius-sm:8px;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"JetBrains Mono","SF Mono",ui-monospace,Menlo,Consolas,monospace;color-scheme:dark}html[data-theme=light]{--bg:#fafafa;--bg-elevated:#ffffff;--bg-hover:#f4f4f4;--border:#eaeaea;--border-strong:#e0e0e0;--border-hover:#cfcfcf;--text:#171717;--text-secondary:#666666;--text-muted:#8f8f8f;--accent:#171717;--accent-dim:rgba(23,23,23,0.04);--focus-ring:rgba(23,23,23,0.06);--focus-border:#999999;--primary-bg:#171717;--primary-fg:#ffffff;--spinner-track:rgba(255,255,255,0.25);--spinner-head:#ffffff;--selection:rgba(23,23,23,0.1);--glow:rgba(23,23,23,0.04);--grid-line:rgba(23,23,23,0.04);--bookmark-hover-bg:#ffffff;--bookmark-hover-border:#d4d4d4;--avatar-bg:#f0f0f0;--avatar-grad:linear-gradient(145deg,#f5f5f5,#ebebeb);--error-border:rgba(220,38,38,0.22);--error-bg:rgba(220,38,38,0.05);--error-text:#b91c1c;--green:#16a34a;--green-dim:rgba(22,163,74,0.1);--amber:#d97706;--amber-dim:rgba(217,119,6,0.1);color-scheme:light}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;letter-spacing:-.011em;transition:background-color .2s ease,color .2s ease}::selection{background:var(--selection)}button,input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}input,textarea{outline:none;border:none;background:transparent}.page-bg{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,var(--glow),transparent),linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:100% 100%,48px 48px,48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0,black,transparent);mask-image:radial-gradient(ellipse 70% 60% at 50% 0,black,transparent);z-index:0}.shell{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:48px 20px 96px}@media (min-width:768px){.shell{padding:72px 24px 120px}}.header{margin-bottom:40px}.header-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated)}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-dim)}.theme-toggle{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:-.01em;transition:background .15s ease,color .15s ease,border-color .15s ease}.theme-toggle:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.theme-toggle:disabled{opacity:.6}.theme-toggle-label{line-height:1}@media (max-width:420px){.theme-toggle-label{display:none}.theme-toggle{width:32px;padding:0;justify-content:center}}h1{font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:1.15;margin-bottom:8px}@media (min-width:768px){h1{font-size:32px}}.subtitle{font-size:15px;color:var(--text-secondary);letter-spacing:-.01em;max-width:42ch}.panel{border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--radius);margin-bottom:16px;transition:background-color .2s ease,border-color .2s ease}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.panel-title{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.panel-body{padding:16px}.key-row{display:flex;gap:8px;align-items:stretch}.key-input-wrap{flex:1 1;display:flex;align-items:center;gap:10px;padding:0 12px;height:42px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);transition:border-color .15s ease,box-shadow .15s ease}.key-input-wrap:focus-within{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring)}.key-input-wrap input{flex:1 1;min-width:0;font-size:13px;font-family:var(--mono);letter-spacing:.02em}.key-input-wrap input::placeholder{color:var(--text-muted);font-family:var(--font);letter-spacing:-.01em}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);transition:background .15s ease,color .15s ease,border-color .15s ease}.icon-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.hint{margin-top:10px;font-size:12px;color:var(--text-muted);line-height:1.45}.hint a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.hint a:hover{color:var(--text)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.mode-card{text-align:left;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);transition:border-color .15s ease,background .15s ease}.mode-card:hover{border-color:var(--border-hover);background:var(--bg-hover)}.mode-card.active,.mode-card.active:hover{border-color:var(--border-strong);background:var(--accent-dim)}.mode-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;letter-spacing:-.02em;margin-bottom:4px}.mode-meta{font-size:11px;font-family:var(--mono);letter-spacing:0}.mode-desc,.mode-meta{color:var(--text-muted)}.mode-desc{font-size:12px;line-height:1.4}.field{margin-bottom:12px}.field:last-child{margin-bottom:0}.field label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;letter-spacing:-.01em}.field-input{width:100%;height:42px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease;color-scheme:inherit}.field-input:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring)}.field-input::placeholder{color:var(--text-muted)}.dates{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.primary-btn{width:100%;height:44px;margin-top:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;letter-spacing:-.02em;border-radius:var(--radius-sm);background:var(--primary-bg);color:var(--primary-fg);transition:opacity .15s ease,transform .1s ease}.primary-btn:hover:not(:disabled){opacity:.92}.primary-btn:active:not(:disabled){transform:scale(.99)}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.meta-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-family:var(--mono);color:var(--text-secondary);padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated)}.chip.warn{color:var(--amber);border-color:var(--amber-dim)}.bookmarks{display:flex;flex-direction:column;gap:10px}.bookmark{position:relative;display:block;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);overflow:hidden;transition:border-color .15s ease,background .15s ease,transform .15s ease}.bookmark:hover{border-color:var(--bookmark-hover-border);background:var(--bookmark-hover-bg);transform:translateY(-1px)}.bookmark-inner{display:grid;grid-template-columns:40px 1fr auto;grid-gap:12px;gap:12px;padding:14px 16px;align-items:start}.bookmark-mark{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-strong);background:var(--avatar-grad);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;position:relative;overflow:hidden}.bookmark-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:var(--avatar-bg)}.bookmark-avatar .avatar-fallback{font-size:13px;font-weight:500;color:var(--text-muted);z-index:0;letter-spacing:-.02em}.bookmark:hover .bookmark-avatar{border-color:var(--border-hover)}.bookmark-body{min-width:0}.bookmark-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:4px}.bookmark-handle{font-size:13px;font-weight:500;letter-spacing:-.02em}.bookmark-date{font-size:11px;font-family:var(--mono);color:var(--text-muted)}.bookmark-summary{font-size:13px;color:var(--text-secondary);line-height:1.45;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bookmark-url{margin-top:8px;font-size:11px;font-family:var(--mono);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookmark-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.pill{font-size:10px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;padding:3px 7px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.pill.direct{color:var(--green);border-color:var(--green-dim);background:var(--green-dim)}.pill.unverified{color:var(--amber);border-color:var(--amber-dim);background:var(--amber-dim)}.external{color:var(--text-muted);opacity:.7;transition:opacity .15s ease,color .15s ease}.bookmark:hover .external{opacity:1;color:var(--text)}.state-box{padding:32px 16px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);font-size:13px}.error-box{padding:14px 16px;border:1px solid var(--error-border);background:var(--error-bg);border-radius:var(--radius-sm);color:var(--error-text);font-size:13px;margin-bottom:16px;line-height:1.45}.raw-answer{margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:12px;font-family:var(--mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;line-height:1.5;max-height:240px;overflow:auto}.spinner{width:14px;height:14px;border:1.5px solid var(--spinner-track);border-top-color:var(--spinner-head);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;font-size:12px;color:var(--text-muted)}.footer a:hover{color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:8px}.header-history-count{display:inline-flex;margin-left:4px;font-family:var(--mono);font-size:10px;color:var(--text-muted);padding:0 5px;border:1px solid var(--border);border-radius:999px;vertical-align:middle}.text-btn{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:-.01em;padding:4px 6px;border-radius:6px;transition:color .15s ease,background .15s ease}.text-btn:hover{color:var(--text);background:var(--bg-hover)}.history-list{list-style:none;display:flex;flex-direction:column;gap:2px}.history-item{display:grid;grid-template-columns:1fr auto;align-items:stretch;grid-gap:2px;gap:2px;border-radius:var(--radius-sm);border:1px solid transparent}.history-item:hover{border-color:var(--border);background:var(--bg-hover)}.history-main{text-align:left;min-width:0;padding:12px 14px;border-radius:var(--radius-sm)}.history-query{display:block;font-size:14px;font-weight:500;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.history-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11px;font-family:var(--mono);color:var(--text-muted)}.history-mode{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.history-dates{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-remove{display:inline-flex;align-items:center;justify-content:center;width:40px;margin:6px 6px 6px 0;border-radius:var(--radius-sm);color:var(--text-muted);transition:background .15s ease,color .15s ease}.history-remove:hover{background:var(--bg);color:var(--text)}.history-chip{color:var(--text-secondary)}.history-detail{display:flex;flex-direction:column;gap:4px}.modal-root{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);border:none;cursor:default}html[data-theme=light] .modal-backdrop{background:rgba(15,15,15,.35)}.modal-panel{position:relative;z-index:1;width:min(720px,100%);max-height:min(860px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1}.modal-title{font-size:15px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.modal-close{width:36px;height:36px}.modal-back{flex-shrink:0}.modal-body{flex:1 1;overflow:auto;padding:12px;overscroll-behavior:contain}.modal-empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin:24px 8px;color:var(--text-muted)}.modal-empty p{max-width:32ch;line-height:1.45}.modal-history-list{gap:4px}.date-field{position:relative}.date-field-row{display:flex;gap:6px;align-items:stretch}.date-trigger{flex:1 1;display:flex;align-items:center;justify-content:space-between;gap:8px;height:42px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);font-size:13px;letter-spacing:-.01em;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;text-align:left}.date-trigger.is-empty .date-trigger-text{color:var(--text-muted)}.date-trigger.is-open,.date-trigger:hover{border-color:var(--focus-border)}.date-trigger.is-open{box-shadow:0 0 0 3px var(--focus-ring)}.date-trigger-icon{color:var(--text-muted);display:flex}.date-clear{flex-shrink:0;padding:0 10px;height:42px;font-size:12px;font-weight:500;color:var(--text-muted);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease}.date-clear:hover{color:var(--text);background:var(--bg-hover)}.date-popover{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:min(280px,calc(100vw - 48px));padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);box-shadow:0 12px 40px rgba(0,0,0,.28)}.date-pop-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.date-month-label{font-size:13px;font-weight:500;letter-spacing:-.02em}.date-nav{width:28px;height:28px;border-radius:6px;color:var(--text-secondary);font-size:16px;line-height:1;transition:background .15s ease,color .15s ease}.date-nav:hover{background:var(--bg-hover);color:var(--text)}.date-weekdays{margin-bottom:4px;text-align:center;font-size:10px;font-family:var(--mono);color:var(--text-muted)}.date-grid,.date-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.date-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:12px;font-weight:500;color:var(--text);transition:background .12s ease,color .12s ease}.date-day:not(.is-empty):not(.is-disabled):hover{background:var(--bg-hover)}.date-day.is-empty{pointer-events:none}.date-day.is-disabled{opacity:.28;cursor:not-allowed}.date-day.is-selected{background:var(--primary-bg);color:var(--primary-fg)}.date-day.is-selected:hover{background:var(--primary-bg);opacity:.92}