@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;800&family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--bg:#faf9f7;--surface:#fff;--ink:#171512;--muted:#77726a;--hairline:#e5e2dc;--hairline-strong:#171512;--accent:#c8102e;--font-body:"Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-logo:"Playfair Display", "Noto Sans JP", serif}@media (prefers-color-scheme:dark){:root{--bg:#121110;--surface:#1a1917;--ink:#ebe8e3;--muted:#8f8a82;--hairline:#2b2926;--hairline-strong:#ebe8e3;--accent:#ff5c6e}}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}body{font-family:var(--font-body);background-color:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;color:inherit;background:0 0;border:none}input,select{font-family:var(--font-body)}::selection{background:var(--accent);color:#fff}.app-container{max-width:1160px;margin:0 auto;padding:1.5rem 2rem 4rem}.masthead{text-align:center;border-bottom:2px solid var(--hairline-strong);margin-bottom:0;padding-bottom:1.2rem}.masthead-top{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;margin-bottom:1.6rem;padding-bottom:.6rem;display:flex}.masthead-date{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.masthead-actions{gap:.4rem;display:flex}.icon-btn{border:1px solid var(--hairline);width:34px;height:34px;color:var(--ink);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn:hover:not(:disabled){background:var(--ink);color:var(--bg);border-color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.spinning svg{animation:1.4s linear infinite icon-spin}@keyframes icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.icon-btn.spinning svg{animation:none}}.masthead-logo{font-family:var(--font-logo);letter-spacing:.01em;color:var(--ink);font-size:max(2.4rem,min(6vw,4.2rem));font-weight:800}.masthead-tagline{letter-spacing:.06em;color:var(--muted);margin-top:.4rem;font-size:.9rem}.category-nav{z-index:100;background:var(--bg);border-bottom:1px solid var(--hairline);padding:.2rem 0;position:sticky;top:0}.category-tabs{scrollbar-width:none;scroll-padding-inline:3rem;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tabs.fade-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),#0000)}.category-tabs.fade-left{-webkit-mask-image:linear-gradient(90deg,#0000,#000 3rem);mask-image:linear-gradient(90deg,#0000,#000 3rem)}.category-tabs.fade-left.fade-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 3rem calc(100% - 3rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 3rem calc(100% - 3rem),#0000)}.tab{letter-spacing:.02em;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:.85rem .9rem;font-size:.86rem;font-weight:500;transition:color .2s}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.topic-chip-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.topic-chip-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.add-topic-form button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.my-topics{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:2.5rem;padding:.75rem 0;display:flex}.my-topics-label{letter-spacing:.14em;color:var(--ink);align-items:baseline;gap:.45rem;margin-right:.35rem;font-size:.72rem;font-weight:700;display:inline-flex}.my-topics-count{letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.my-topics-count.full{color:var(--accent)}.topic-chip{border:1px solid var(--hairline);border-radius:999px;align-items:center;font-size:.82rem;transition:border-color .2s,background .2s;display:inline-flex}.topic-chip:hover{border-color:var(--ink)}.topic-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:14em;color:var(--ink);padding:.3rem .15rem .3rem .8rem;overflow:hidden}.topic-chip-remove{color:var(--muted);padding:.3rem .65rem .3rem .4rem;font-size:.95rem;line-height:1;transition:color .2s}.topic-chip-remove:hover{color:var(--accent)}.topic-chip-remove:focus-visible{color:var(--accent)}.topic-chip.active{background:var(--ink);border-color:var(--ink)}.topic-chip.active .topic-chip-name,.topic-chip.active .topic-chip-remove{color:var(--bg)}.topic-chip.active .topic-chip-remove:hover{color:var(--accent)}.topic-chip.active .topic-chip-remove:focus-visible{color:var(--accent)}.add-topic-form{border:1px solid var(--hairline);border-radius:999px;flex-shrink:0;align-items:center;padding:.1rem .1rem .1rem .8rem;transition:border-color .2s;display:flex}.add-topic-form:focus-within{border-color:var(--ink)}.add-topic-form input{color:var(--ink);background:0 0;border:none;outline:none;width:10em;font-size:.82rem}.add-topic-form input::placeholder{color:var(--muted)}.add-topic-form button{width:26px;height:26px;color:var(--muted);border-radius:50%;font-size:1.05rem;line-height:1;transition:all .2s}.add-topic-form button:hover{background:var(--ink);color:var(--bg)}.topic-error{color:var(--accent);margin:-1.8rem 0 1.8rem;font-size:.82rem}.notice-bar{border-left:2px solid var(--accent);background:var(--surface);color:var(--ink);justify-content:space-between;align-items:flex-start;gap:1rem;margin:-1rem 0 2rem;padding:.7rem .9rem .7rem 1rem;font-size:.84rem;line-height:1.6;display:flex}.notice-bar button{color:var(--muted);border-bottom:1px solid var(--hairline);flex-shrink:0;font-size:.8rem}.notice-bar button:hover{color:var(--ink);border-bottom-color:var(--ink)}.news-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.75rem 2.5rem;display:grid}.story{border-top:1px solid var(--hairline-strong);flex-direction:column;padding-top:1rem;display:flex}.story-image-link{background:var(--surface);margin-bottom:1rem;display:block;overflow:hidden}.story-image{aspect-ratio:16/9;object-fit:cover;filter:saturate(.92);width:100%;transition:transform .5s,filter .4s;display:block}.story:hover .story-image{filter:saturate();transform:scale(1.03)}.story-kicker{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.kicker-group{align-items:baseline;gap:.55rem;min-width:0;display:flex}.coverage{letter-spacing:.04em;color:var(--muted);white-space:nowrap;cursor:default;align-items:baseline;gap:.55rem;font-size:.72rem;display:inline-flex}.coverage:before{content:"";background:var(--hairline-strong);opacity:.35;align-self:center;width:1px;height:.8em}.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}.story-kicker time{color:var(--muted);letter-spacing:.04em;font-size:.75rem}.story-title{letter-spacing:-.01em;margin-bottom:.6rem;font-size:1.28rem;font-weight:700}.story-title a{background-image:linear-gradient(var(--ink), var(--ink));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .3s}.story-title a:hover{background-size:100% 1px}.story-summary{color:var(--muted);white-space:pre-line;flex-grow:1;margin-bottom:1rem;font-size:.92rem;line-height:1.75}.story-footer{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:.8rem;padding-top:.7rem;display:flex}.story-source{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:600;overflow:hidden}.story-actions{flex-shrink:0;align-items:center;gap:.9rem;display:flex}.follow-btn{color:var(--muted);font-size:.8rem;transition:color .2s}.follow-btn:hover{color:var(--accent)}.follow-btn.liked{color:var(--accent);font-weight:600}.original-link{color:var(--ink);font-size:.8rem;font-weight:600;transition:color .2s}.original-link:hover{color:var(--accent)}.stream-indicator{letter-spacing:.05em;color:var(--muted);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.8rem;font-size:.8rem;display:flex}.stream-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite stream-pulse}@keyframes stream-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.card-enter{animation:.55s cubic-bezier(.22,1,.36,1) card-enter}@keyframes card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.globe-loader{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4.5rem 0 5rem;display:flex}.globe-scene{width:150px;height:150px;margin-bottom:1rem;position:relative}.globe{border:1.5px solid var(--ink);border-radius:50%;position:absolute;top:22px;bottom:22px;left:22px;right:22px;overflow:hidden}.globe-meridians{background:linear-gradient(to bottom, transparent 49%, var(--hairline) 49%, var(--hairline) 51%, transparent 51%), repeating-linear-gradient(90deg, transparent 0px, transparent 14px, var(--hairline) 14px, var(--hairline) 15.5px);border-radius:50%;animation:3.2s linear infinite meridian-scroll;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes meridian-scroll{0%{background-position-x:0,0}to{background-position-x:0,29.5px}}.orbit{border:1px dashed var(--hairline);border-radius:50%;animation:5s linear infinite orbit-spin;position:absolute;top:0;bottom:0;left:0;right:0}.orbit-plane{color:var(--ink);font-size:1.1rem;position:absolute;top:-11px;left:50%;transform:translate(-50%)}@keyframes orbit-spin{to{transform:rotate(360deg)}}.bureau-message{color:var(--ink);text-align:center;min-height:1.7em;font-size:1rem;font-weight:500;animation:.5s message-fade}.bureau-message .ellipsis:after{content:"…";animation:1.2s steps(4,end) infinite ellipsis-blink}@keyframes ellipsis-blink{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"…"}}@keyframes message-fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.progress-bar-container{background:var(--hairline);width:260px;height:2px;overflow:hidden}.progress-bar-fill{background:var(--ink);height:100%;transition:width .4s ease-out}.progress-text{letter-spacing:.05em;color:var(--muted);font-size:.76rem}.world-clocks{flex-wrap:wrap;justify-content:center;gap:1.6rem;margin-top:1.2rem;display:flex}.world-clock{align-items:baseline;gap:.45rem;display:flex}.world-clock-city{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.world-clock-time{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.empty-state{color:var(--muted);flex-direction:column;align-items:center;gap:1.2rem;padding:5rem 0;display:flex}.primary-btn{background:var(--ink);color:var(--bg);letter-spacing:.03em;padding:.65rem 1.3rem;font-size:.85rem;font-weight:600;transition:opacity .2s}.primary-btn:hover:not(:disabled){opacity:.82}.primary-btn:disabled{opacity:.35;cursor:not-allowed}.ghost-btn{border:1px solid var(--hairline);color:var(--muted);padding:.55rem 1.2rem;font-size:.85rem;transition:all .2s}.ghost-btn:hover{border-color:var(--ink);color:var(--ink)}.delete-btn{color:var(--muted);border-bottom:1px solid #0000;flex-shrink:0;font-size:.78rem;transition:color .2s}.delete-btn:hover{color:var(--accent)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#14120f73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--bg);border:1px solid var(--hairline);width:100%;max-width:560px;max-height:85vh;padding:2.2rem;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000040}.modal-content h2{font-family:var(--font-logo);margin-bottom:1.2rem;font-size:1.5rem}.modal-close{color:var(--muted);font-size:1.7rem;line-height:1;position:absolute;top:.9rem;right:1.2rem}.modal-close:hover{color:var(--ink)}.modal-content.onboarding{max-width:500px}.onboarding-steps{color:var(--ink);margin:.8rem 0;padding-left:1.3rem;font-size:.92rem;line-height:2}.onboarding-steps a{color:var(--accent);font-weight:600}.privacy-note{color:var(--muted);border-left:2px solid var(--accent);margin:.9rem 0 1rem;padding:.3rem 0 .3rem .9rem;font-size:.8rem;line-height:1.6}.instruction{color:var(--muted);font-size:.9rem;line-height:1.7}.warning{color:var(--accent);margin-top:.5rem;font-size:.82rem}.skip-section{border-top:1px dashed var(--hairline);text-align:center;flex-direction:column;align-items:center;gap:.6rem;margin-top:1.4rem;padding-top:1.2rem;display:flex}.settings-tabs{border-bottom:1px solid var(--hairline);margin-bottom:1.4rem;display:flex}.settings-tabs button{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.7rem 1rem;font-size:.85rem}.settings-tabs button:hover{color:var(--ink)}.settings-tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.settings-panel h3{margin-bottom:.5rem;font-size:1.02rem}.settings-panel .link{color:var(--accent);margin:.6rem 0 1rem;font-size:.88rem;font-weight:500;display:inline-block}.settings-panel .link:hover{text-decoration:underline}.input-row{gap:.5rem;margin:.6rem 0;display:flex}.input-row input{background:var(--surface);border:1px solid var(--hairline);min-width:0;color:var(--ink);outline:none;flex:1;padding:.65rem .9rem;font-size:.88rem;transition:border-color .2s}.input-row input:focus{border-color:var(--ink)}.input-row select{background:var(--surface);border:1px solid var(--hairline);color:var(--ink);max-width:150px;padding:.6rem;font-size:.88rem}.trusted-list{max-height:220px;margin-top:1rem;padding:0;list-style:none;overflow-y:auto}.trusted-list li{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.trusted-info{align-items:center;gap:.7rem;display:flex;overflow:hidden}.trusted-url{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.usage-list{color:var(--muted);padding-left:1.2rem;font-size:.9rem;line-height:1.9}.usage-list li{margin-bottom:.5rem}@media (max-width:720px){.app-container{padding:1rem 1.1rem 3rem}.my-topics{gap:.45rem;margin-bottom:2rem}.add-topic-form{flex:100%}.add-topic-form input{flex:1;width:100%}.news-grid{grid-template-columns:1fr;gap:2.2rem}.modal-content{padding:1.5rem}}
