*,*:before,*:after{box-sizing:border-box}.theme-btn{background:#fff3;border:none;color:#fff;padding:.75rem;min-width:44px;min-height:44px;border-radius:8px;font-size:1.1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.theme-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.input-label{font-size:.9rem;font-weight:600;color:var(--primary-600);margin-bottom:.25rem}.helper-text{font-size:.85rem;color:var(--muted)}*{margin:0;padding:0}html{color-scheme:light}:root{--primary-600: #4f46e5;--primary-500: #667eea;--primary-700: #764ba2;--bg: #f8f9fa;--text: #333333;--muted: #6b7280;--surface: rgba(255, 255, 255, .95);--surface-alt: rgba(243, 244, 246, .5);--border: rgba(229, 231, 235, .5);--shadow: rgba(0, 0, 0, .04);--header-start: rgba(112, 137, 184, .92);--header-end: rgba(168, 189, 220, .92)}@media(prefers-color-scheme:dark){:root{--bg: #0f172a;--text: #e5e7eb;--muted: #9ca3af;--surface: rgba(17, 24, 39, .7);--surface-alt: rgba(11, 18, 32, .5);--border: rgba(51, 65, 85, .4);--shadow: rgba(0, 0, 0, .3);--header-start: rgba(30, 41, 59, .8);--header-end: rgba(51, 65, 85, .8)}}html[data-theme=light]{--bg: #f8f9fa;--text: #333333;--muted: #6b7280;--surface: rgba(255, 255, 255, .95);--surface-alt: rgba(243, 244, 246, .5);--border: rgba(229, 231, 235, .5);--shadow: rgba(0, 0, 0, .04);--header-start: rgba(112, 137, 184, .92);--header-end: rgba(168, 189, 220, .92)}html[data-theme=dark]{--bg: #0f172a;--text: #e5e7eb;--muted: #9ca3af;--surface: rgba(17, 24, 39, .7);--surface-alt: rgba(11, 18, 32, .5);--border: rgba(51, 65, 85, .4);--shadow: rgba(0, 0, 0, .3);--header-start: rgba(30, 41, 59, .8);--header-end: rgba(51, 65, 85, .8)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text);background:var(--bg);overflow-x:hidden;transition:background .2s ease,color .2s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(102,126,234,.2);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}#root,.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,var(--header-start) 0%,var(--header-end) 100%);color:#fff;padding:1.25rem 1rem;box-shadow:0 2px 16px var(--shadow);position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid var(--border);transition:transform .3s ease-in-out;padding-top:max(1.25rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.header-hidden{transform:translateY(-100%)}.header-visible{transform:translateY(0)}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo-container{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.logo{font-size:1.5rem;font-weight:700;margin:0;white-space:nowrap}.logo-subscript{font-size:.65rem;font-weight:400;margin:0;opacity:.75;font-style:italic;line-height:1;white-space:nowrap}.date-nav{display:flex;align-items:center;gap:1rem;flex:1;justify-content:center}.nav-btn{background:#fff3;border:none;color:#fff;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:50%;font-size:1.4rem;font-family:monospace;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:0;padding-bottom:2px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.nav-btn:hover:not(:disabled){background:#ffffff4d;transform:scale(1.05)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.nav-btn:focus-visible{outline:2px solid white;outline-offset:2px}.current-date{font-weight:600;font-size:1.1rem;min-width:200px;text-align:center;word-break:break-word;line-height:1.3}.archive-btn{background:#fff3;border:none;color:#fff;padding:.75rem;min-width:44px;min-height:44px;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.archive-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.about-btn{background:#fff3;border:none;color:#fff;padding:.75rem;min-width:44px;min-height:44px;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.about-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.archive-btn:focus-visible,.theme-btn:focus-visible,.about-btn:focus-visible{outline:2px solid white;outline-offset:2px}.main-content{flex:1;padding:2.5rem 1.5rem;max-width:1200px;margin:0 auto;width:100%;padding-top:calc(2.5rem + 80px);padding-bottom:max(2.5rem,env(safe-area-inset-bottom))}.content-container{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 32px var(--shadow);overflow:hidden}.content-tabs{display:flex;background:var(--surface-alt);border-bottom:1px solid var(--border)}.tab-btn{flex:1;padding:1rem;min-height:48px;border:none;background:transparent;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--muted);transition:all .2s ease;border-bottom:3px solid transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tab-btn:hover:not(:disabled){background:var(--surface);color:var(--text)}.tab-btn.active{background:var(--surface);color:var(--primary-500);border-bottom-color:var(--primary-500)}.tab-btn:disabled{opacity:.5;cursor:not-allowed}.tab-btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:-2px}.content-text{padding:2.5rem;line-height:1.8;font-size:1rem;color:var(--text);min-height:400px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow-x:hidden}.content-text img{max-width:100%;height:auto;display:block}.content-text pre{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.content-text table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.content-text h1,.content-text h2,.content-text h3{margin-bottom:1rem;color:var(--text)}.content-text h1{font-size:1.8rem;border-bottom:2px solid var(--primary-500);padding-bottom:.5rem}.content-text h2{font-size:1.2rem;margin-top:1.5rem;margin-bottom:1rem;color:var(--text)}.content-text h3{font-size:1.2rem;margin-top:1.5rem}.content-text h4{font-size:1.2rem;margin-top:1.5rem;margin-bottom:1rem;color:var(--text)}.content-text p{margin-bottom:1rem}.content-text ul,.content-text ol{margin-bottom:1rem;padding-left:2rem}.content-text li{margin-bottom:.5rem}.content-text strong{color:var(--text)}.content-text em{color:var(--muted)}.content-text a{color:var(--primary-600);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .2s ease;touch-action:manipulation}.content-text a:hover{color:var(--primary-500)}.content-text a:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px;border-radius:2px}.new-reports-indicator{position:fixed;top:20px;right:20px;z-index:1000;animation:slideInRight .3s ease-out}.indicator-content{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 24px #0000001f;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.indicator-icon{font-size:16px;animation:pulse 2s infinite}.indicator-text{display:flex;flex-direction:column;gap:2px}.update-time{font-size:11px;opacity:.9;font-weight:400}.refresh-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 12px;min-height:32px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap}.refresh-button:hover{background:#ffffff4d;transform:translateY(-1px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:2rem;gap:1.5rem}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{font-size:1rem;color:var(--muted);font-weight:500}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:2rem;gap:1rem;text-align:center}.error-icon{font-size:3rem;line-height:1}.error-state h2{font-size:1.5rem;color:var(--text);font-weight:600;margin:0}.error-state p{font-size:1rem;color:var(--muted);max-width:500px}.retry-btn{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-700) 100%);border:none;color:#fff;padding:.875rem 1.5rem;min-height:48px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.retry-btn:active{transform:translateY(0)}.retry-btn:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal.active{opacity:1;visibility:visible}.modal-content{background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px var(--shadow);transform:scale(.96);transition:transform .15s ease}.modal.active .modal-content{transform:scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{color:var(--primary-600);font-size:1.25rem;font-weight:600;margin:0;line-height:1.2}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted);padding:.5rem;border-radius:.5rem;transition:all .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--surface-alt);color:var(--text);transform:scale(1.1)}.close-btn:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.modal-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.about-content{line-height:1.8;color:var(--text)}.about-content h2{font-size:1.4rem;font-weight:600;color:var(--primary-600);margin-bottom:1rem;margin-top:0}.about-content h3{font-size:1.15rem;font-weight:600;color:var(--primary-500);margin-top:1.5rem;margin-bottom:.75rem}.about-content p{margin-bottom:1rem;color:var(--text);font-size:.95rem}.about-content p:last-child{margin-bottom:0}.date-picker{width:100%;padding:.75rem .9rem;font-size:1rem;border-radius:.75rem;color:var(--text);background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--primary-500),var(--primary-700)) border-box;border:1px solid transparent;transition:box-shadow .2s ease;box-shadow:0 2px 10px #0000000a;cursor:pointer}.date-picker:hover{box-shadow:0 4px 16px #667eea26}.date-picker:focus,.date-picker:focus-visible{outline:none;box-shadow:0 0 0 4px #4f46e524,0 8px 24px #764ba22e}.date-picker::-webkit-calendar-picker-indicator{cursor:pointer;filter:hue-rotate(10deg) saturate(120%) brightness(1);opacity:.8}.date-picker::-webkit-calendar-picker-indicator:hover{opacity:1}.date-picker::-moz-focus-inner{border:0}@media(max-width:768px){.header{padding:.75rem;padding-top:max(.75rem,env(safe-area-inset-top))}.header-content{flex-direction:column;gap:.75rem;align-items:stretch}.logo-container{align-items:center;order:1;width:100%}.logo{font-size:1.25rem;text-align:center}.logo-subscript{font-size:.55rem;text-align:center}.date-nav{order:2;width:100%}.current-date{font-size:.95rem;min-width:unset;flex:1;padding:0 .5rem}.nav-btn{flex-shrink:0}.header-content>div{order:3;justify-content:center}.main-content{padding:1rem .75rem;padding-top:calc(1rem + 160px);padding-bottom:max(1rem,env(safe-area-inset-bottom))}.content-container{border-radius:8px}.content-text{padding:1.25rem;font-size:.95rem;line-height:1.7}.content-text h1{font-size:1.5rem}.content-text h2,.content-text h3,.content-text h4{font-size:1.15rem}.content-tabs{flex-wrap:wrap}.tab-btn{font-size:.85rem;padding:.875rem .5rem}.modal-content{width:95%;margin:.75rem;border-radius:16px}.modal-header{padding:.875rem 1.25rem}.modal-body{padding:1rem 1.25rem 1.25rem}.date-picker{font-size:1rem;padding:.875rem;min-height:48px}.new-reports-indicator{top:10px;right:10px;left:10px;width:auto}.indicator-content{font-size:13px;padding:10px 12px}.refresh-button{font-size:11px;padding:6px 10px;min-height:36px}.loading-state,.error-state{min-height:300px;padding:1.5rem 1rem}.error-state h2{font-size:1.25rem}.retry-btn{width:100%;max-width:300px}}@media(max-width:480px){.logo{font-size:1.1rem}.logo-subscript{font-size:.5rem}.current-date{font-size:.85rem;line-height:1.2}.content-text{padding:1rem;font-size:.9rem}.content-text h1{font-size:1.3rem}.content-text h2,.content-text h3,.content-text h4{font-size:1.05rem}.tab-btn{font-size:.8rem;padding:.75rem .25rem}.modal-content{width:96%;max-height:85vh}.modal-header h2{font-size:1.1rem}.loading-state{min-height:250px;padding:1rem}.loading-spinner{width:40px;height:40px;border-width:3px}.loading-state p{font-size:.9rem}.error-state{min-height:250px;padding:1rem}.error-icon{font-size:2.5rem}.error-state h2{font-size:1.15rem}.error-state p{font-size:.9rem}}.app-footer{padding:2rem 1.5rem;text-align:center;background:var(--surface-alt);border-top:1px solid var(--border);margin-top:auto}.copyright-text{font-size:.75rem;color:var(--muted);line-height:1.5;max-width:800px;margin:0 auto}@media(max-width:768px){.app-footer{padding:1.5rem 1rem}.copyright-text{font-size:.7rem}}@media(max-width:480px){.app-footer{padding:1rem .75rem}.copyright-text{font-size:.65rem}}
