@import"https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Sora:wght@400;600;700&family=Space+Mono:wght@400;700&display=swap";:root{line-height:1.5;font-weight:400;text-size-adjust:100%;-webkit-text-size-adjust:100%;--font-display: "Sora", "BIZ UDPGothic", "Noto Sans JP", sans-serif;--font-body: "BIZ UDPGothic", "Sora", "Noto Sans JP", sans-serif;--font-mono: "Space Mono", "BIZ UDPGothic", monospace;--bg-deep: #eef3fb;--bg-surface: rgba(255, 255, 255, .92);--bg-surface-strong: #ffffff;--text-primary: #0b1324;--text-muted: #4a5a70;--accent-1: #2f6bff;--accent-2: #14b8a6;--accent-3: #f59e0b;--accent-warm: #f97316;--border-subtle: rgba(11, 19, 36, .12);--border-strong: rgba(11, 19, 36, .22);--glass-fill: rgba(255, 255, 255, .86);--shadow-soft: 0 26px 70px rgba(14, 20, 36, .14);--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.22, .61, .36, 1);--ease-swipe: cubic-bezier(.2, .85, .2, 1);--duration-fast: .18s;--duration-medium: .32s;--duration-slow: .52s;color:var(--text-primary);background-color:var(--bg-deep);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg-deep)}a{color:inherit;text-decoration:none}a:visited{color:inherit}button{font-family:inherit}.news-app{position:relative;min-height:100vh;padding:clamp(16px,3vw,34px) clamp(12px,3vw,30px) 24px;overflow:hidden;background:radial-gradient(1500px 900px at -15% -12%,rgba(50,112,255,.34) 0%,transparent 58%),radial-gradient(920px 760px at 118% 12%,rgba(255,133,76,.34) 0%,transparent 62%),linear-gradient(168deg,#0b1220,#141f33 48%,#10182a);color:#edf2ff}.news-app:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.055) .7px,transparent .7px);background-size:3px 3px;opacity:.2}.ambient{position:absolute;border-radius:999px;filter:blur(72px);opacity:.46;pointer-events:none}.ambient-a{width:340px;height:340px;top:-160px;left:-90px;background:#4f86ff}.ambient-b{width:300px;height:300px;right:-120px;bottom:-120px;background:#f18042}.app-frame{position:relative;z-index:1;width:min(100%,600px);margin:0 auto;display:grid;gap:12px}.topbar,.today-strip,.category-rail,.deck-shell,.control-panel,.status-banner,.gesture-tip{animation:rise-in .56s var(--ease-spring) both}.topbar{animation-delay:20ms}.today-strip{animation-delay:80ms}.category-rail{animation-delay:.14s}.deck-shell{animation-delay:.2s}.control-panel{animation-delay:.26s}.status-banner,.gesture-tip{animation-delay:.32s}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-block{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:34px;height:34px;border-radius:10px;display:inline-grid;place-items:center;background:linear-gradient(140deg,#7ea0ff,#4f86ff);color:#001227;font-family:var(--font-mono);font-weight:700;font-size:.86rem}.eyebrow{margin:0;font-size:.74rem;color:#e9f0ffb8;letter-spacing:.05em;text-transform:uppercase}.topbar h1{margin:2px 0 0;font-family:var(--font-display);font-size:clamp(1.46rem,3vw,1.9rem);line-height:1;letter-spacing:.02em}.auto-toggle{border:1px solid rgba(206,220,255,.38);border-radius:999px;padding:9px 14px;background:#111c31b3;color:#dbe6ff;font-size:.77rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth),background-color var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth)}.auto-toggle.on{background:linear-gradient(140deg,#8aa8ff,#5a8fff);border-color:#ecf2ffc2;color:#09152a}.auto-toggle:hover:not(:disabled){transform:translateY(-1px)}.auto-toggle:disabled{opacity:.45;cursor:default}.today-strip{border-radius:14px;border:1px solid rgba(190,206,245,.26);background:#1622388f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.strip-category{max-width:68%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;color:#f5f8ff;font-weight:700}.strip-count{font-size:.78rem;color:#e0eaffd6;font-family:var(--font-mono)}.category-rail{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none}.category-rail::-webkit-scrollbar{display:none}.category-rail button{border:0;border-radius:999px;padding:8px 12px;white-space:nowrap;background:#e1eaff1f;color:#e7efffd6;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth),background-color var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.category-rail button.active{background:linear-gradient(145deg,#dbe4ff,#8af);color:#071426;box-shadow:0 8px 18px #6b96ff61}.category-rail button:hover{transform:translateY(-1px)}.deck-shell{position:relative;padding:2px 2px 4px}.deck-glow{position:absolute;inset:20% 7% -8%;border-radius:32px;background:radial-gradient(circle at center,rgba(127,168,255,.24),transparent 68%);filter:blur(28px);pointer-events:none}.deck{--deck-x: 0px;--deck-rot-z: 0deg;--deck-rot-y: 0deg;--deck-lift: 0px;--deck-progress: 0;--deck-sign: 1;position:relative;height:min(68vh,650px);min-height:530px;perspective:1500px;touch-action:pan-y;-webkit-user-select:none;user-select:none}.news-card{position:absolute;inset:0;border-radius:30px;overflow:hidden;background:linear-gradient(160deg,#f8fbfffa,#f0f5fff5);color:#091225;border:1px solid rgba(174,196,239,.66);box-shadow:0 30px 72px #060e1d5c;display:grid;grid-template-rows:52% 48%;transition:transform .32s var(--ease-smooth),opacity .32s var(--ease-smooth),box-shadow .24s var(--ease-smooth);transform-style:preserve-3d;will-change:transform}.hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#95b2ff,#dce7ff)}.hero img{width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#08101e8a,#08101e14 62%)}.hero-meta{position:absolute;left:14px;right:14px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#f0f6fff0;font-size:.73rem;font-weight:700}.pill{border-radius:999px;background:#e6f0ff33;border:1px solid rgba(226,236,255,.34);padding:4px 9px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.body{padding:16px 16px 14px;display:grid;grid-template-rows:auto auto 1fr auto;gap:9px}.source-row{display:flex;justify-content:space-between;align-items:center;min-width:0}.source{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:#4a5770}.title{margin:0;font-size:clamp(1.02rem,2.1vw,1.34rem);line-height:1.35;letter-spacing:.01em;color:#0a1427}.summary{margin:0;color:#32435f;font-size:.92rem;line-height:1.54;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.link-row{display:flex;justify-content:flex-end;align-items:center}.link-row a,.link-row .muted-link{border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:700}.link-row a{color:#081527;background:linear-gradient(140deg,#dce7ff,#bad1ff)}.link-row .muted-link{color:#7f8faa;background:#96a9c929}.news-card.depth-1{transform:translate3d(var(--deck-x),var(--deck-lift),0) rotate(var(--deck-rot-z)) rotateY(var(--deck-rot-y));z-index:4}.news-card.depth-2{transform:translate3d(calc(var(--deck-sign) * 16px),18px,-18px) scale(calc(.962 + var(--deck-progress) * .028));opacity:calc(.62 + var(--deck-progress) * .33);z-index:3}.news-card.depth-3{transform:translate3d(calc(var(--deck-sign) * 26px),33px,-40px) scale(calc(.928 + var(--deck-progress) * .018));opacity:calc(.4 + var(--deck-progress) * .34);z-index:2}.news-card.depth-2 .summary,.news-card.depth-3 .summary,.news-card.depth-2 .link-row,.news-card.depth-3 .link-row,.news-card.depth-3 .hero-meta{opacity:0}.news-card.depth-2 .body,.news-card.depth-3 .body{gap:6px}.news-card.depth-3 .title{font-size:1rem}.news-card.muted .title{color:#1a2a44}.news-card.empty{background:linear-gradient(160deg,#dee9fff0,#c8daffe0)}.news-card.empty .hero{background:linear-gradient(135deg,#9eb9ff,#dce7ff)}.news-card.empty .hero:before{content:"NEWS";position:absolute;left:14px;bottom:12px;color:#0a172c73;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em}.deck.dragging .news-card.depth-1{box-shadow:0 40px 90px #030a1780}.control-panel{border-radius:16px;border:1px solid rgba(190,206,245,.28);background:#141e31a6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:12px}.control-panel label{display:block;font-size:.8rem;font-weight:700;color:#eaf2ffeb;margin-bottom:8px}.control-panel input[type=range]{width:100%;accent-color:#85a9ff}.speed-scale{margin-top:2px;display:flex;justify-content:space-between;font-size:.72rem;color:#cedbf7b8}.manual-buttons{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manual-buttons button{min-height:44px;border:1px solid rgba(183,201,236,.34);border-radius:12px;background:#e1eaff24;color:#edf3ff;font-size:.84rem;font-weight:700;cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth),background-color var(--duration-fast) var(--ease-smooth)}.manual-buttons button:hover:not(:disabled){transform:translateY(-1px);background:#e1eaff38}.manual-buttons button:disabled{opacity:.48;cursor:default}.status-banner{margin:0;border-radius:12px;border:1px solid rgba(255,201,146,.45);background:#fb984729;color:#ffe7d1;font-size:.8rem;padding:10px 12px}.gesture-tip{margin:0;text-align:center;color:#dce7fccc;font-size:.78rem;line-height:1.5}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:780px){.news-app{padding:14px 10px 18px}.deck{min-height:500px;height:min(68vh,600px)}.news-card{border-radius:24px;grid-template-rows:49% 51%}.body{padding:13px 13px 11px}.summary{-webkit-line-clamp:5}}@media(prefers-reduced-motion:reduce){.topbar,.today-strip,.category-rail,.deck-shell,.control-panel,.status-banner,.gesture-tip,.news-card,.manual-buttons button,.auto-toggle,.category-rail button{animation:none!important;transition:none!important}}
