/* Bundle dashboard — généré par tools/build_css_bundles.py. Ne pas éditer : modifier css/*.css puis relancer le script. */
/* variables.css */
:root{--font-main:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--bg-app:#0d1117;--bg-card:rgba(22,27,34,0.85);--bg-card-hover:rgba(30,37,46,0.95);--bg-input:#161b22;--border-color:#30363d;--border-focus:#58a6ff;--text-main:#f0f6fc;--text-muted:#8b949e;--text-dim:#9198a1;--accent:#58a6ff;--accent-btn:#1668dc;--accent-btn-hover:#1f6feb;--accent-glow:rgba(88,166,255,0.25);--success:#3fb950;--success-glow:rgba(63,185,80,0.25);--warning:#d29922;--danger:#f85149;--tier-ice:#38bdf8;--tier-cold:#60a5fa;--tier-cool:#34d399;--tier-warm:#fbbf24;--tier-fire:#f87171;--gradient-dashboard:linear-gradient(90deg,#075985 0%,#075985 16%,#3b82f6 24%,#3b82f6 36%,#10b981 44%,#10b981 56%,#f59e0b 64%,#f59e0b 76%,#c20000 84%,#c20000 100%);--gradient-game:linear-gradient(90deg,#fcf161 0%,#f59e0b 25%,#f97316 60%,#c20000 100%);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 14px rgba(0,0,0,0.4);--shadow-glow:0 0 25px rgba(88,166,255,0.15);--transition:all 0.2s cubic-bezier(0.4,0,0.2,1);--scrollbar-thumb:rgba(255,255,255,0.22);--scrollbar-thumb-hover:#58a6ff;--scrollbar-track:rgba(255,255,255,0.03);}
[data-theme="light"]{--bg-app:#f6f8fa;--bg-card:rgba(255,255,255,0.95);--bg-card-hover:#ffffff;--bg-input:#f6f8fa;--border-color:#d0d7de;--border-focus:#0969da;--text-main:#1f2328;--text-muted:#656d76;--text-dim:#8c959f;--accent:#0969da;--accent-btn:#0969da;--accent-btn-hover:#0860c5;--accent-glow:rgba(9,105,218,0.15);--success:#1a7f37;--success-glow:rgba(26,127,55,0.15);--warning:#9a6700;--danger:#cf222e;--shadow-sm:0 1px 3px rgba(0,0,0,0.08);--shadow-md:0 4px 14px rgba(0,0,0,0.1);--shadow-glow:0 0 20px rgba(9,105,218,0.1);--scrollbar-thumb:rgba(0,0,0,0.22);--scrollbar-thumb-hover:#0969da;--scrollbar-track:rgba(0,0,0,0.03);}
/* base.css */
*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:9999px;}
::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:9999px;transition:background-color 0.2s ease,box-shadow 0.2s ease;}
::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);box-shadow:0 0 8px var(--accent-glow);}
html,body{width:100%;max-width:100vw;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-main);line-height:1.5;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;transition:background-color 0.3s ease,color 0.3s ease;}
a:not(.btn):not(.nav-tab):not(.brand):not(.logo):not(.history-row-clickable){color:#58a6ff;text-decoration:underline;text-underline-offset:3px;font-weight:600;position:relative;display:inline;transition:color 0.25s ease,text-shadow 0.25s ease;}
[data-theme="light"] a:not(.btn):not(.nav-tab):not(.brand):not(.logo):not(.history-row-clickable){color:#0969da;}
a:not(.btn):not(.nav-tab):not(.brand):not(.logo):not(.history-row-clickable)::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:linear-gradient(90deg,var(--accent),#79c0ff);transition:width 0.3s cubic-bezier(0.4,0,0.2,1);border-radius:1px;}
a:not(.btn):not(.nav-tab):not(.brand):not(.logo):not(.history-row-clickable):hover{color:#a5d6ff;text-shadow:0 0 12px var(--accent-glow);}
a:not(.btn):not(.nav-tab):not(.brand):not(.logo):not(.history-row-clickable):hover::after{width:100%;}
[data-theme="light"] a:not(.btn):not(.nav-tab):not(.brand):not(.logo):not(.history-row-clickable):hover{color:#0550ae;text-shadow:0 0 8px rgba(9,105,218,0.25);}
.status-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.35rem 0.75rem;border-radius:9999px;font-size:0.8rem;font-weight:500;border:1px solid var(--border-color);background:var(--bg-input);}
.status-pulse{width:8px;height:8px;border-radius:50%;background-color:var(--success);box-shadow:0 0 8px var(--success);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}
50%{opacity:0.4;transform:scale(0.9);}
}
.status-sleeping .status-pulse{background-color:var(--accent);box-shadow:0 0 8px var(--accent);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:var(--transition);text-decoration:none;}
.btn-sm{padding:0.3rem 0.65rem;font-size:0.8rem;}
.btn-primary{background:var(--accent-btn,#1668dc);color:#ffffff;border:1px solid rgba(88,166,255,0.35);}
.btn-primary:hover{background:var(--accent-btn-hover,#1f6feb);filter:brightness(1.1);box-shadow:0 0 14px var(--accent-glow);}
.btn-secondary{background:var(--bg-input);border-color:var(--border-color);color:var(--text-main);}
.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--accent);}
.btn-danger{background:var(--danger,#da3633);border-color:rgba(248,81,73,0.45);color:#ffffff;}
.btn-danger:hover{background:#f85149;border-color:#f85149;box-shadow:0 0 14px rgba(248,81,73,0.45);transform:translateY(-1px);}
.btn-ghost{background:transparent;border-color:var(--border-color);color:var(--text-muted);}
.btn-ghost:hover{color:var(--text-main);background:var(--bg-input);}
.btn-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:var(--transition);}
.btn-icon:hover{border-color:var(--accent);background:var(--bg-card-hover);}
.pill-group{display:inline-flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-color);border-radius:9999px;padding:3px;gap:2px;}
.pill-btn{background:transparent;border:none;padding:0.35rem 0.85rem;border-radius:9999px;font-size:0.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:var(--transition);}
.pill-btn:hover:not(.active){color:var(--text-main);}
.pill-btn.active{background:var(--accent-btn,#1668dc);color:#ffffff;box-shadow:0 0 10px var(--accent-glow);}
.badge{display:inline-flex;align-items:center;padding:0.2rem 0.6rem;font-size:0.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:0.04em;}
.badge-accent{background:rgba(56,139,253,0.15);color:#79b8ff;border:1px solid rgba(88,166,255,0.35);}
[data-theme="light"] .badge-accent{background:rgba(9,105,218,0.1);color:#0969da;border:1px solid rgba(9,105,218,0.3);}
.badge-success{background:rgba(46,160,67,0.15);color:#56d364;border:1px solid rgba(63,185,80,0.35);}
[data-theme="light"] .badge-success{background:rgba(26,127,55,0.12);color:#1a7f37;border:1px solid rgba(26,127,55,0.3);}
.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:var(--transition);}
.card:hover{box-shadow:var(--shadow-md);border-color:rgba(88,166,255,0.4);}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border-color);}
.card-title-group h3,.card-header h3{font-size:1.1rem;font-weight:600;}
.card-subtitle{font-size:0.75rem;color:var(--text-muted);display:block;}
@media (max-width:640px){.card{padding:1rem 0.85rem;border-radius:var(--radius-md);}
.card-header{margin-bottom:0.85rem;padding-bottom:0.5rem;}
.card-title-group h3,.card-header h3{font-size:1rem;}
.card-subtitle{font-size:0.7rem;}
}
.toast{position:fixed;bottom:5.5rem;right:2rem;background:var(--accent-btn,#1668dc);color:#ffffff;padding:0.75rem 1.25rem;border-radius:var(--radius-md);font-size:0.85rem;font-weight:600;box-shadow:var(--shadow-md);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity 0.3s ease,transform 0.3s ease;z-index:1000;}
.toast.show{opacity:1;transform:translateY(0);}
@media (max-width:768px){.toast{bottom:1.5rem;right:1rem;left:1rem;text-align:center;display:flex;justify-content:center;align-items:center;}
}
/* layout.css */
.app-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;padding-top:env(safe-area-inset-top,0px);}
.header-container{max-width:1200px;margin:0 auto;padding:0.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;}
.brand{display:flex;align-items:center;gap:0.75rem;min-width:0;}
.brand-icon{font-size:1.8rem;filter:drop-shadow(0 0 8px var(--accent));flex-shrink:0;}
.brand-text{min-width:0;}
.brand-text h1{font-size:1.25rem;font-weight:700;letter-spacing:-0.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-subtitle{font-size:0.75rem;color:var(--text-muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.header-actions{display:flex;align-items:center;gap:0.75rem;flex-shrink:0;}
@media (max-width:768px){.header-container{padding:0.6rem 0.85rem;}
.brand{gap:0.5rem;}
.brand-icon{font-size:1.5rem;}
.brand-text h1{font-size:1.05rem;}
.brand-subtitle{font-size:0.68rem;}
.header-actions{gap:0.4rem;}
}
@media (max-width:520px){#daemon-badge{padding:0.4rem 0.45rem;min-width:32px;justify-content:center;}
#daemon-status-text{display:none;}
}
.main-content{max-width:1200px;width:100%;margin:0 auto;padding:1.5rem 1.5rem 7.5rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:1.5rem;box-sizing:border-box;}
.section{display:flex;flex-direction:column;gap:1rem;width:100%;}
.section-title h3{font-size:1.15rem;font-weight:600;color:var(--text-main);}
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch;}
@media (max-width:768px){.main-content{padding:0.85rem 0.85rem 2rem 0.85rem;gap:1rem;}
.grid-2col{grid-template-columns:1fr;gap:1rem;}
}
.nav-tabs{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin-bottom:0.5rem;}
.nav-tab{display:inline-flex;align-items:center;gap:0.5rem;padding:0.65rem 1.4rem;border-radius:var(--radius-lg);font-size:0.95rem;font-weight:600;cursor:pointer;transition:var(--transition);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.nav-tab:hover:not(.active){color:var(--text-main);border-color:rgba(88,166,255,0.4);transform:translateY(-1px);}
.nav-tab.active{background:var(--accent-btn,#1668dc);color:#ffffff;border-color:rgba(88,166,255,0.4);box-shadow:0 0 20px var(--accent-glow);}
.tab-badge{font-size:0.65rem;font-weight:700;text-transform:uppercase;padding:0.15rem 0.45rem;border-radius:9999px;background:rgba(255,255,255,0.25);color:#ffffff;}
.view-content{display:flex;flex-direction:column;gap:1.5rem;width:100%;}
@media (max-width:768px){.nav-tabs{flex-direction:row;width:100%;gap:0.35rem;margin-bottom:0.25rem;padding:4px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-sizing:border-box;}
.nav-tab{flex:1;width:auto;justify-content:center;padding:0.55rem 0.45rem;font-size:0.82rem;border-radius:calc(var(--radius-lg) - 4px);border:1px solid transparent;background:transparent;white-space:nowrap;text-align:center;}
.nav-tab:hover:not(.active){transform:none;}
.nav-tab.active{background:var(--accent-btn,#1668dc);color:#ffffff;border-color:rgba(88,166,255,0.4);box-shadow:0 2px 10px var(--accent-glow);}
.tab-badge{display:none;}
}
@media (max-width:380px){.nav-tab{font-size:0.75rem;padding:0.5rem 0.25rem;gap:0.25rem;}
}
.app-footer{position:fixed;bottom:0;left:0;width:100%;border-top:1px solid var(--border-color);background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:0.85rem 1.5rem;z-index:100;box-shadow:0 -4px 16px rgba(0,0,0,0.12);}
.footer-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-left p{font-size:0.85rem;color:var(--text-main);}
.footer-sub{font-size:0.8rem;color:#c9d1d9;margin-top:0.2rem;}
[data-theme="light"] .footer-sub{color:#424a53;}
.footer-author-link,.footer-sub a{color:#58a6ff;text-decoration:underline;text-underline-offset:3px;font-weight:600;position:relative;display:inline;transition:color 0.25s ease,text-shadow 0.25s ease;}
[data-theme="light"] .footer-author-link,[data-theme="light"] .footer-sub a{color:#0969da;}
.footer-author-link::after,.footer-sub a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:linear-gradient(90deg,var(--accent),#79c0ff);transition:width 0.3s cubic-bezier(0.4,0,0.2,1);border-radius:1px;}
.footer-author-link:hover,.footer-sub a:hover{color:#a5d6ff;text-shadow:0 0 12px var(--accent-glow);}
.footer-author-link:hover::after,.footer-sub a:hover::after{width:100%;}
[data-theme="light"] .footer-author-link:hover,[data-theme="light"] .footer-sub a:hover{color:#0550ae;text-shadow:0 0 8px rgba(9,105,218,0.25);}
.footer-right{display:flex;align-items:center;gap:0.75rem;}
.footer-right .btn-ghost{color:#c9d1d9;border-color:rgba(240,246,252,0.2);}
.footer-right .btn-ghost:hover{color:#ffffff;border-color:var(--accent);}
[data-theme="light"] .footer-right .btn-ghost{color:#24292f;border-color:#d0d7de;}
[data-theme="light"] .footer-right .btn-ghost:hover{color:#0969da;border-color:#0969da;}
.footer-time{font-size:0.78rem;font-weight:500;color:#c9d1d9;}
[data-theme="light"] .footer-time{color:#424a53;}
@media (max-width:768px){.app-footer{position:static;margin-top:auto;padding:1.25rem 1rem max(1rem,env(safe-area-inset-bottom,1rem)) 1rem;box-shadow:none;}
.footer-container{flex-direction:column;text-align:center;gap:0.75rem;align-items:center;justify-content:center;}
.footer-left{text-align:center;}
.footer-right{flex-direction:column;gap:0.4rem;align-items:center;justify-content:center;}
}
/* dashboard.css */
.hero-card{background:linear-gradient(135deg,rgba(88,166,255,0.05) 0%,rgba(63,185,80,0.05) 100%),var(--bg-card);border:1px solid rgba(88,166,255,0.3);box-shadow:var(--shadow-glow);}
.hero-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:0.75rem;flex-wrap:wrap;}
@media (max-width:640px){.hero-header{flex-direction:column;align-items:stretch;gap:0.6rem;margin-bottom:1rem;}
.puzzle-meta{width:100%;justify-content:space-between;align-items:center;}
#win-badge{align-self:flex-start;}
}
.puzzle-meta{display:flex;align-items:center;gap:0.75rem;}
.meta-date{font-size:0.95rem;color:var(--text-muted);font-weight:500;}
.hero-body-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.25rem;align-items:stretch;}
.secret-container{display:flex;width:100%;height:100%;margin:0;}
.secret-word-card{position:relative;width:100%;max-width:100%;height:100%;min-height:230px;box-sizing:border-box;background:var(--bg-input);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;overflow:hidden;transition:border-color 0.2s ease,box-shadow 0.2s ease;display:flex;align-items:center;justify-content:center;}
.secret-word-card:not(.is-spoiled){border-style:solid;border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow);}
.secret-word-revealed{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.2s ease,filter 0.2s ease;}
.spoiler-overlay{display:none;position:absolute;inset:0;background:var(--bg-input);flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;padding:1.5rem;z-index:10;border-radius:calc(var(--radius-lg) - 2px);}
.secret-word-card.is-spoiled{cursor:pointer;}
.secret-word-card.is-spoiled .spoiler-overlay{display:flex;}
.secret-word-card.is-spoiled .secret-word-revealed{filter:blur(14px);user-select:none;pointer-events:none;opacity:0.15;}
.spoiler-icon-large{font-size:2.5rem;}
.spoiler-prompt{font-size:0.85rem;color:var(--text-muted);max-width:320px;}
.secret-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent);font-weight:700;margin-bottom:0.5rem;display:block;}
.secret-word-text{font-family:var(--font-mono);font-size:2.75rem;font-weight:800;text-transform:uppercase;letter-spacing:0.15em;color:var(--text-main);margin-bottom:1rem;text-shadow:0 0 20px var(--accent-glow);}
@media (max-width:640px){.secret-word-card{min-height:180px;padding:1.15rem 0.75rem;}
.secret-word-text{font-size:clamp(1.4rem,6.5vw,2.2rem);letter-spacing:clamp(0.04em,1.5vw,0.1em);overflow-wrap:anywhere;word-break:break-all;max-width:100%;margin-bottom:0.75rem;}
.spoiler-icon-large{font-size:2rem;}
.spoiler-prompt{font-size:0.8rem;}
.secret-actions{gap:0.5rem;}
.secret-actions .btn{padding:0.45rem 0.85rem;font-size:0.8rem;}
}
.secret-actions{display:flex;justify-content:center;gap:0.75rem;}
.metrics-grid{display:flex;flex-direction:column;justify-content:space-between;gap:0.75rem;height:100%;}
.metric-card{flex:1;display:flex;align-items:center;gap:1rem;padding:0.85rem 1.25rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color 0.2s ease,background 0.2s ease,transform 0.15s ease;}
.metric-card:hover{background:var(--bg-card-hover);border-color:rgba(88,166,255,0.35);transform:translateX(2px);}
.metric-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(88,166,255,0.08);border-radius:var(--radius-sm);flex-shrink:0;}
.metric-info{display:flex;flex-direction:column;gap:0.15rem;}
.metric-label{font-size:0.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em;font-weight:600;}
.metric-value{font-size:1.05rem;font-weight:700;color:var(--text-main);}
.metric-value a{color:var(--accent);text-decoration:none;}
.metric-value a:hover{text-decoration:underline;}
@media (max-width:860px){.hero-body-grid{grid-template-columns:1fr;gap:1rem;}
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;}
}
@media (max-width:640px){.metrics-grid{grid-template-columns:repeat(3,1fr);gap:0.4rem;width:100%;}
.metric-card{padding:0.55rem 0.35rem;flex-direction:column;text-align:center;align-items:center;justify-content:center;gap:0.25rem;}
.metric-card:hover{transform:none;}
.metric-icon{width:32px;height:32px;font-size:1.1rem;}
.metric-label{font-size:0.62rem;letter-spacing:0.02em;}
.metric-value{font-size:0.85rem;}
}
.thermometer-visual{margin-bottom:1.5rem;}
.temp-bar{display:flex;height:38px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);background:var(--gradient-dashboard);font-size:0.75rem;font-weight:600;text-align:center;line-height:38px;color:#ffffff;text-shadow:0 1px 2px rgba(0,0,0,0.6);box-shadow:inset 0 1px 2px rgba(255,255,255,0.15);}
.temp-tier{flex:1;background:transparent;transition:background-color 0.2s ease;}
.temp-tier:hover{background:rgba(255,255,255,0.15);}
.guess-temp.tier-ice{color:var(--tier-ice);}
.guess-temp.tier-cold{color:var(--tier-cold);}
.guess-temp.tier-cool{color:var(--tier-cool);}
.guess-temp.tier-warm{color:var(--tier-warm);}
.guess-temp.tier-fire{color:var(--tier-fire);}
.countdown-box{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;text-align:center;}
.countdown-header{display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-bottom:0.75rem;}
.countdown-icon{font-size:1.2rem;}
.countdown-title{font-size:0.85rem;font-weight:600;color:var(--text-muted);}
.countdown-timer{display:flex;align-items:center;justify-content:center;gap:0.4rem;margin-bottom:0.5rem;}
.time-block{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:0.35rem 0.65rem;min-width:54px;}
.time-num{font-family:var(--font-mono);font-size:1.75rem;font-weight:800;color:var(--accent);}
.time-unit{font-size:0.75rem;color:var(--text-dim);margin-left:2px;}
.time-sep{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--text-dim);}
.countdown-note{font-size:0.75rem;color:var(--text-muted);}
@media (max-width:480px){.temp-bar{height:32px;line-height:32px;font-size:0.65rem;}
.temp-tier{padding:0 1px;white-space:nowrap;overflow:hidden;text-overflow:clip;}
.countdown-box{padding:0.85rem 0.6rem;}
.countdown-timer{gap:0.25rem;}
.time-block{min-width:44px;padding:0.3rem 0.4rem;}
.time-num{font-size:1.35rem;}
.time-sep{font-size:1.1rem;}
.countdown-note{font-size:0.7rem;}
}
.clues-card{display:flex;flex-direction:column;height:100%;box-sizing:border-box;}
.clues-wrapper{position:relative;height:290px;min-height:290px;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-md);}
.clues-list{display:flex;flex-direction:column;gap:0.5rem;height:290px;max-height:290px;overflow-y:auto;padding-right:0.4rem;transition:opacity 0.2s ease,filter 0.2s ease;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;}
.clues-list::-webkit-scrollbar{width:5px;}
.clues-list::-webkit-scrollbar-track{background:rgba(255,255,255,0.02);border-radius:9999px;margin:4px 0;}
.clues-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:9999px;transition:background-color 0.2s ease,box-shadow 0.2s ease;}
.clues-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);box-shadow:0 0 8px var(--accent-glow);}
.clues-overlay{display:none;position:absolute;inset:0;background:var(--bg-card);flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;border-radius:var(--radius-md);z-index:5;text-align:center;padding:1.5rem;}
.clues-wrapper.is-hidden .clues-overlay{display:flex;}
.clues-wrapper.is-hidden .clues-list{filter:blur(10px);user-select:none;pointer-events:none;opacity:0.15;}
.clue-item{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0.85rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:0.85rem;}
.clue-word{font-family:var(--font-mono);font-weight:600;}
.clue-meta{display:flex;align-items:center;gap:0.6rem;}
.clue-temp{font-weight:700;}
.clue-permille{font-size:0.75rem;color:var(--text-muted);}
@media (max-width:640px){.clues-wrapper,.clues-list{height:250px;max-height:250px;min-height:250px;}
.clue-item{padding:0.45rem 0.65rem;font-size:0.8rem;}
.clue-word{font-size:0.82rem;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.clue-meta{gap:0.4rem;}
.clue-temp{font-size:0.8rem;}
.clue-permille{font-size:0.72rem;}
}
.clues-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:0.85rem;}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
@media (max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:480px){.stats-row{gap:0.5rem;}
.stat-card{padding:0.75rem 0.4rem;}
.stat-icon{font-size:1.3rem;margin-bottom:0.15rem;}
.stat-value{font-size:1.35rem;margin-bottom:0.1rem;}
.stat-label{font-size:0.68rem;}
}
.stat-card{text-align:center;padding:1.25rem 1rem;}
.stat-icon{font-size:1.75rem;margin-bottom:0.25rem;display:inline-block;}
.stat-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:800;color:var(--text-main);margin-bottom:0.2rem;}
.stat-label{font-size:0.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;}
.history-header{flex-wrap:wrap;gap:1rem;}
.search-box{display:flex;align-items:center;gap:0.5rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:0.35rem 0.75rem;}
.search-box input{background:transparent;border:none;outline:none;color:var(--text-main);font-size:0.85rem;min-width:220px;}
@media (max-width:640px){.history-header{flex-direction:column;align-items:stretch;gap:0.65rem;}
.search-box{width:100%;padding:0.45rem 0.75rem;box-sizing:border-box;}
.search-box input{width:100%;min-width:0;font-size:0.85rem;}
.table-responsive{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
.history-table th,.history-table td{padding:0.55rem 0.65rem;font-size:0.78rem;white-space:nowrap;}
.btn-trajectory{padding:0.25rem 0.45rem;font-size:0.72rem;}
}
.search-icon{font-size:0.85rem;color:var(--text-muted);}
.table-responsive{width:100%;overflow-x:auto;padding-bottom:0.35rem;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;}
.table-responsive::-webkit-scrollbar{height:6px;}
.table-responsive::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:9999px;}
.table-responsive::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:9999px;transition:background-color 0.2s ease;}
.table-responsive::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);}
.history-table{width:100%;border-collapse:collapse;text-align:left;font-size:0.85rem;}
.history-table th{padding:0.65rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-muted);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;font-weight:600;}
.history-table td{padding:0.75rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-main);}
.history-table tr:hover td{background:var(--bg-card-hover);}
.history-row-clickable{cursor:pointer;transition:var(--transition);}
.history-row-clickable:hover{background:rgba(88,166,255,0.08) !important;}
.word-spoiler{font-family:var(--font-mono);font-weight:700;cursor:pointer;padding:0.2rem 0.4rem;border-radius:var(--radius-sm);background:var(--bg-input);transition:var(--transition);}
.word-spoiler.is-hidden{filter:blur(6px);user-select:none;}
.word-spoiler.is-hidden:hover{filter:blur(3px);}
.btn-trajectory{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.78rem;font-weight:600;padding:0.3rem 0.65rem;border-radius:var(--radius-sm);background:rgba(88,166,255,0.12);color:var(--accent);border:1px solid rgba(88,166,255,0.3);transition:var(--transition);white-space:nowrap;}
.btn-trajectory:hover{background:var(--accent-btn,#1668dc);color:#fff;border-color:rgba(88,166,255,0.4);transform:translateY(-1px);box-shadow:0 2px 8px var(--accent-glow);}
.seo-section{margin-top:2rem;content-visibility:auto;contain-intrinsic-size:auto 520px;}
@media print{.seo-section{content-visibility:visible;}
}
.seo-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-md);backdrop-filter:blur(8px);}
#resume-du-jour .card-subtitle{color:#c9d1d9;font-size:0.85rem;}
[data-theme="light"] #resume-du-jour .card-subtitle{color:#424a53;}
#seo-daily-summary{font-size:0.95rem;line-height:1.65;color:var(--text-main);margin-bottom:0.75rem;}
#seo-daily-summary strong{color:#ffffff;font-weight:700;}
[data-theme="light"] #seo-daily-summary strong{color:#0969da;}
#resume-du-jour .seo-list{color:#c9d1d9;font-size:0.88rem;padding-left:0;margin-top:0.5rem;}
[data-theme="light"] #resume-du-jour .seo-list{color:#424a53;}
#resume-du-jour a{color:#58a6ff;text-decoration:underline;text-underline-offset:3px;font-weight:600;}
[data-theme="light"] #resume-du-jour a{color:#0969da;}
.seo-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);}
.seo-header h2{font-size:1.35rem;font-weight:700;color:var(--text-main);margin-bottom:0.35rem;}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem;margin-bottom:2rem;}
@media (max-width:768px){.seo-card{padding:1.15rem 0.85rem;}
.seo-header h2{font-size:1.15rem;}
.seo-grid{grid-template-columns:1fr;gap:0.85rem;margin-bottom:1.25rem;}
.seo-article{padding:0.85rem;gap:0.5rem;}
.seo-article h3{font-size:0.95rem;}
.seo-article p,.seo-list{font-size:0.82rem;}
.faq-question{padding:0.75rem 0.85rem;font-size:0.88rem;}
.faq-answer{padding:0 0.85rem 0.85rem 0.85rem;font-size:0.82rem;}
}
.seo-article{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;}
.seo-article h3{font-size:1.05rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:0.5rem;}
.seo-article p{font-size:0.88rem;line-height:1.6;color:var(--text-muted);}
.seo-article strong{color:var(--text-main);}
.seo-list{padding-left:1.25rem;font-size:0.85rem;line-height:1.6;color:var(--text-muted);}
.seo-list li{margin-bottom:0.35rem;}
.seo-list strong{color:var(--text-main);}
.seo-faq-container{border-top:1px solid var(--border-color);padding-top:1.5rem;display:flex;flex-direction:column;gap:0.85rem;}
.seo-faq-container h3{font-size:1.15rem;font-weight:700;color:var(--text-main);margin-bottom:0.5rem;}
.faq-item{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition);}
.faq-item[open]{border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow);}
.faq-question{padding:1rem 1.25rem;font-size:0.95rem;font-weight:600;color:var(--text-main);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;}
.faq-question::-webkit-details-marker{display:none;}
.faq-question::after{content:"▾";font-size:1.1rem;color:var(--text-muted);transition:transform 0.2s ease;}
.faq-item[open] .faq-question::after{transform:rotate(180deg);color:var(--accent);}
.faq-answer{padding:0 1.25rem 1.25rem 1.25rem;font-size:0.88rem;line-height:1.6;color:var(--text-muted);}
.faq-answer strong{color:var(--text-main);}
.faq-answer p{margin:0;}
/* modal.css */
.toast{position:fixed;bottom:5.5rem;right:2rem;background:var(--accent-btn,#1668dc);color:#ffffff;padding:0.75rem 1.25rem;border-radius:var(--radius-md);font-size:0.85rem;font-weight:600;box-shadow:var(--shadow-md);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity 0.3s ease,transform 0.3s ease;z-index:1000;}
.toast.show{opacity:1;transform:translateY(0);}
@media (max-width:768px){.toast{bottom:1.5rem;right:1rem;left:1rem;text-align:center;display:flex;justify-content:center;align-items:center;}
}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:modalFadeIn 0.2s cubic-bezier(0.16,1,0.3,1);}
@keyframes modalFadeIn{from{opacity:0;}
to{opacity:1;}
}
@keyframes modalScaleIn{from{opacity:0;transform:scale(0.96) translateY(10px);}
to{opacity:1;transform:scale(1) translateY(0);}
}
.trajectory-modal-card{max-width:860px;width:100%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--border-color);box-shadow:0 20px 50px rgba(0,0,0,0.6),var(--shadow-glow);animation:modalScaleIn 0.25s cubic-bezier(0.16,1,0.3,1);background:var(--bg-card);}
.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:flex-start;justify-content:space-between;background:rgba(255,255,255,0.02);}
.modal-title-group h2{font-size:1.3rem;font-weight:700;color:var(--text-main);margin:0.2rem 0;}
.modal-badges{display:flex;gap:0.5rem;align-items:center;}
.modal-target-word{font-size:0.95rem;color:var(--text-muted);}
.modal-close-btn{background:none;border:none;color:var(--text-muted);font-size:1.35rem;cursor:pointer;padding:0.25rem 0.6rem;border-radius:var(--radius-sm);transition:var(--transition);line-height:1;}
.modal-close-btn:hover{color:var(--text-main);background:rgba(255,255,255,0.1);}
.trajectory-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0.75rem;padding:1rem 1.5rem;background:rgba(0,0,0,0.2);border-bottom:1px solid var(--border-color);}
.summary-metric{display:flex;align-items:center;gap:0.75rem;padding:0.55rem 0.85rem;background:var(--bg-app);border:1px solid var(--border-color);border-radius:var(--radius-md);}
.summary-metric .metric-icon{font-size:1.35rem;}
.summary-metric .metric-body{display:flex;flex-direction:column;}
.summary-metric .metric-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-dim);}
.summary-metric .metric-num{font-size:1rem;font-weight:700;color:var(--text-main);font-family:var(--font-mono);}
.trajectory-filter-bar{padding:0.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--border-color);background:rgba(255,255,255,0.01);}
.filter-group-wrapper{display:flex;align-items:center;gap:0.65rem;}
.filter-label{font-size:0.82rem;color:var(--text-muted);font-weight:500;}
.trajectory-scroll-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;max-height:calc(88vh - 280px);}
.trajectory-list{display:flex;flex-direction:column;gap:0.5rem;}
.trajectory-step-card{display:flex;align-items:center;justify-content:space-between;padding:0.7rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:rgba(255,255,255,0.02);transition:var(--transition);gap:1rem;}
.trajectory-step-card:hover{border-color:var(--border-focus);transform:translateX(4px);background:var(--bg-card-hover);}
.trajectory-step-card.is-record{border-left:3px solid var(--warning);background:rgba(210,153,34,0.05);}
.trajectory-step-card.is-win{border-left:4px solid var(--success);background:rgba(63,185,80,0.12);box-shadow:0 0 15px rgba(63,185,80,0.2);}
.step-left{display:flex;align-items:center;gap:0.75rem;min-width:0;}
.step-num{font-family:var(--font-mono);font-size:0.8rem;font-weight:700;color:var(--text-dim);width:2.2rem;text-align:right;flex-shrink:0;}
.step-source-badge{font-size:0.68rem;font-weight:600;padding:2px 7px;border-radius:999px;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:0.03em;}
.source-seed{background:rgba(56,189,248,0.15);color:#38bdf8;border:1px solid rgba(56,189,248,0.35);}
.source-rag{background:rgba(88,166,255,0.15);color:#58a6ff;border:1px solid rgba(88,166,255,0.35);}
.source-llm{background:rgba(168,85,247,0.15);color:#c084fc;border:1px solid rgba(168,85,247,0.35);}
.source-sniper{background:rgba(239,68,68,0.15);color:#f87171;border:1px solid rgba(239,68,68,0.35);}
.step-word{font-size:0.98rem;font-weight:700;color:var(--text-main);cursor:pointer;transition:color 0.15s ease;}
.step-word:hover{color:var(--accent);text-decoration:underline;}
.step-record-star{color:var(--warning);font-size:0.85rem;margin-left:0.35rem;cursor:help;}
.step-right{display:flex;align-items:center;gap:0.85rem;flex-shrink:0;}
.step-weather{font-size:1.15rem;}
.step-temp{font-family:var(--font-mono);font-size:0.92rem;font-weight:600;color:var(--text-main);min-width:4.8rem;text-align:right;}
.step-permille-badge{font-family:var(--font-mono);font-size:0.78rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-sm);min-width:3.8rem;text-align:center;}
.step-mini-gauge{width:60px;height:6px;background:rgba(255,255,255,0.08);border-radius:999px;overflow:hidden;}
.step-mini-gauge-bar{height:100%;border-radius:999px;transition:width 0.3s ease;}
.step-permille-badge.tier-ice{background:rgba(56,189,248,0.15);color:var(--tier-ice);}
.step-permille-badge.tier-cold{background:rgba(96,165,250,0.15);color:var(--tier-cold);}
.step-permille-badge.tier-cool{background:rgba(52,211,153,0.15);color:var(--tier-cool);}
.step-permille-badge.tier-warm{background:rgba(251,191,36,0.15);color:var(--tier-warm);}
.step-permille-badge.tier-fire{background:rgba(248,113,113,0.15);color:var(--tier-fire);}
.step-mini-gauge-bar.tier-ice{background:var(--tier-ice);}
.step-mini-gauge-bar.tier-cold{background:var(--tier-cold);}
.step-mini-gauge-bar.tier-cool{background:var(--tier-cool);}
.step-mini-gauge-bar.tier-warm{background:var(--tier-warm);}
.step-mini-gauge-bar.tier-fire{background:var(--tier-fire);}
.modal-footer{padding:0.85rem 1.5rem;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,0.2);}
.modal-footer-note{font-size:0.78rem;color:var(--text-dim);}
@media (max-width:768px){.modal-backdrop{padding:0.5rem;align-items:flex-end;}
.trajectory-modal-card{max-height:94vh;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);}
.modal-header{padding:0.85rem 1rem;}
.modal-title-group h2{font-size:1.05rem;}
.modal-target-word{font-size:0.82rem;}
.trajectory-summary-bar{grid-template-columns:repeat(3,1fr);gap:0.35rem;padding:0.5rem 0.75rem;}
.summary-metric{padding:0.35rem 0.25rem;gap:0.35rem;flex-direction:column;text-align:center;align-items:center;justify-content:center;}
.summary-metric .metric-icon{font-size:1rem;}
.summary-metric .metric-label{font-size:0.62rem;}
.summary-metric .metric-num{font-size:0.82rem;}
.trajectory-filter-bar{padding:0.5rem 0.75rem;flex-direction:column;align-items:stretch;gap:0.45rem;}
.filter-group-wrapper{flex-direction:column;align-items:stretch;gap:0.35rem;width:100%;}
.pill-group{width:100%;display:flex;flex-wrap:wrap;}
.pill-btn{flex:1;padding:0.3rem 0.45rem;font-size:0.72rem;white-space:nowrap;text-align:center;}
#copy-trajectory-btn{width:100%;justify-content:center;padding:0.4rem;}
.trajectory-scroll-body{padding:0.65rem 0.75rem;max-height:calc(94vh - 290px);}
.trajectory-step-card{padding:0.5rem 0.65rem;gap:0.4rem;}
.step-left{gap:0.4rem;min-width:0;}
.step-num{font-size:0.72rem;width:1.6rem;}
.step-source-badge{font-size:0.58rem;padding:1px 4px;}
.step-word{font-size:0.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px;}
.step-mini-gauge{display:none;}
.step-right{gap:0.35rem;flex-shrink:0;}
.step-weather{font-size:1rem;}
.step-temp{font-size:0.78rem;min-width:3.8rem;}
.step-permille-badge{font-size:0.68rem;padding:1px 4px;min-width:2.8rem;}
.modal-footer{padding:0.65rem 1rem;flex-direction:column;gap:0.5rem;}
.modal-footer-note{font-size:0.72rem;text-align:center;}
.modal-footer .btn{width:100%;min-height:40px;}
}
.confirm-modal-card{max-width:480px;width:100%;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 24px 60px rgba(0,0,0,0.8),0 0 35px rgba(248,81,73,0.18);animation:modalScaleIn 0.22s cubic-bezier(0.16,1,0.3,1);overflow:hidden;display:flex;flex-direction:column;}
.confirm-modal-card.is-accent{box-shadow:0 24px 60px rgba(0,0,0,0.8),0 0 35px rgba(88,166,255,0.18);}
.confirm-modal-body{padding:1.75rem 1.75rem 1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.85rem;}
.confirm-modal-icon{font-size:3rem;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.5));animation:confirmPulse 1.8s ease-in-out infinite;}
@keyframes confirmPulse{0%,100%{transform:scale(1);}
50%{transform:scale(1.08);}
}
.confirm-modal-title{font-size:1.3rem;font-weight:800;color:var(--text-main);margin:0;line-height:1.3;}
.confirm-modal-message{font-size:0.95rem;color:var(--text-muted);line-height:1.5;margin:0;}
.confirm-modal-footer{padding:1rem 1.75rem 1.35rem;display:flex;align-items:center;justify-content:flex-end;gap:0.75rem;border-top:1px solid var(--border-color);background:rgba(0,0,0,0.18);}
.confirm-modal-footer .btn{min-height:40px;padding:0.55rem 1.25rem;font-size:0.88rem;font-weight:600;}
@media (max-width:768px){.confirm-modal-card{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);}
.confirm-modal-body{padding:1.35rem 1rem 1rem;gap:0.65rem;}
.confirm-modal-icon{font-size:2.5rem;}
.confirm-modal-title{font-size:1.15rem;}
.confirm-modal-message{font-size:0.85rem;}
.confirm-modal-footer{flex-direction:column-reverse;gap:0.5rem;padding:0.85rem 1rem 1rem;}
.confirm-modal-footer .btn{width:100%;min-height:44px;justify-content:center;}
}
