:root{--color-bg: #f6f7fb;--color-surface: #ffffff;--color-text: #161a23;--color-text-muted: #5d6474;--color-border: #e3e6ee;--color-primary: #1f4fd1;--color-primary-contrast: #ffffff;--color-skeleton: #eceef4;--cat-economy: #0f7b4f;--cat-tech: #1f4fd1;--cat-world: #a2450e;--cat-life: #8a2fb3;--cat-news: #b0123b;--cat-stock: #0b6e8a;--color-up: #d1242f;--color-down: #1f5fd1;--radius: 14px;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 8%);--max-width: 720px;font-family:system-ui,-apple-system,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;line-height:1.5;color:var(--color-text);background:var(--color-bg);color-scheme:light dark;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}@media(prefers-color-scheme:dark){:root{--color-bg: #0f1218;--color-surface: #181c25;--color-text: #e8eaf0;--color-text-muted: #a0a7b6;--color-border: #2a303c;--color-primary: #7d9cff;--color-primary-contrast: #0f1218;--color-skeleton: #222733;--cat-economy: #4fd39b;--cat-tech: #7d9cff;--cat-world: #ff9d61;--cat-life: #d48cff;--cat-news: #ff7a9c;--cat-stock: #5fd0f0;--color-up: #ff6b6b;--color-down: #6ea8ff;--shadow: none}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--color-bg)}h1,h2,p{margin:0}button,input{font:inherit;color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-header{position:sticky;top:0;z-index:10;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__inner{display:flex;align-items:center;gap:20px;max-width:var(--max-width);margin:0 auto}.app-header__brand{font-weight:700;font-size:1.05rem;color:var(--color-text);text-decoration:none}.main-nav{display:flex;gap:4px;margin:0;padding:0;list-style:none}.main-nav__link{display:block;padding:6px 12px;border-radius:999px;color:var(--color-text-muted);font-size:.95rem;font-weight:600;text-decoration:none}.main-nav__link[aria-current=page]{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}@media(hover:hover){.main-nav__link:not([aria-current=page]):hover{color:var(--color-text)}}.app-main{max-width:var(--max-width);margin:0 auto;padding:16px 16px calc(env(safe-area-inset-bottom) + 32px)}.page{display:flex;flex-direction:column;gap:16px}.icon-button,.text-button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:background-color .15s}.icon-button{flex:none;width:44px;height:44px;border-radius:50%;font-size:1.5rem;line-height:1}.text-button{min-height:36px;padding:0 14px;border-radius:999px;font-size:.9rem}.icon-button:disabled,.text-button:disabled{opacity:.4;cursor:default}@media(hover:hover){.icon-button:not(:disabled):hover,.text-button:not(:disabled):hover{background:var(--color-bg)}}.date-nav{display:flex;align-items:center;gap:8px}.date-nav__center{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.date-nav__title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.date-nav__actions{display:flex;align-items:center;gap:8px}.date-input{min-height:36px;padding:0 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:.9rem}.date-strip{margin:0 -16px;overflow-x:auto;scrollbar-width:none;direction:rtl}.date-strip::-webkit-scrollbar{display:none}@media(min-width:752px){.date-strip{margin:0}.date-strip__list{padding:2px 0}}.date-strip__list{display:flex;gap:8px;margin:0;padding:2px 16px;list-style:none;direction:ltr;width:max-content}.date-chip{display:flex;flex-direction:column;align-items:center;width:52px;padding:8px 0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);cursor:pointer;font-size:.8rem;line-height:1.3}.date-chip[data-empty]{color:var(--color-text-muted)}.date-chip[aria-current=date]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast)}.date-chip__day{font-weight:600}.date-chip__count{font-variant-numeric:tabular-nums}.briefing-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.briefing-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow)}.briefing-card--skeleton{height:112px;background:var(--color-skeleton);animation:pulse 1.2s ease-in-out infinite}.briefing-card__title{font-size:1.05rem;font-weight:650;line-height:1.4}.briefing-card__summary{color:var(--color-text-muted);font-size:.95rem}.category-badge{align-self:flex-start;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--cat-color, var(--color-text-muted));background:color-mix(in srgb,var(--cat-color, var(--color-text-muted)) 12%,transparent)}.category-badge[data-category=ECONOMY]{--cat-color: var(--cat-economy)}.category-badge[data-category=TECH]{--cat-color: var(--cat-tech)}.category-badge[data-category=WORLD]{--cat-color: var(--cat-world)}.category-badge[data-category=LIFE]{--cat-color: var(--cat-life)}.category-badge[data-category=NEWS]{--cat-color: var(--cat-news)}.category-badge[data-category=STOCK]{--cat-color: var(--cat-stock)}.briefing-card--link{color:inherit;text-decoration:none;transition:border-color .15s}@media(hover:hover){.briefing-card--link:hover{border-color:var(--color-primary)}}.back-link{align-self:flex-start;color:var(--color-text-muted);font-size:.9rem;text-decoration:none}.briefing-detail__header{display:flex;flex-direction:column;gap:8px}.briefing-detail__title{font-size:1.4rem;font-weight:700;line-height:1.35;letter-spacing:-.01em}.briefing-detail__content{padding:16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem;line-height:1.7}.section-title{margin:8px 0 12px;font-size:1rem;font-weight:700}.link-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.link-item{display:flex;flex-direction:column;gap:2px;padding:12px 16px}.link-item+.link-item{border-top:1px solid var(--color-border)}.link-item__title{color:var(--color-text);font-weight:550;text-decoration:none;overflow-wrap:anywhere}a.link-item__title:hover{color:var(--color-primary);text-decoration:underline}.link-item__meta{color:var(--color-text-muted);font-size:.8rem}.state-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);text-align:center}@keyframes pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.briefing-card--skeleton{animation:none}}.page-section{display:flex;flex-direction:column;gap:12px;margin-top:8px}.page-section__title{font-size:1.1rem;font-weight:700}.section-skeleton{height:120px;border-radius:var(--radius);background:var(--color-skeleton);animation:pulse 1.2s ease-in-out infinite}.section-skeleton--small{height:40px}.empty-text{margin:0;color:var(--color-text-muted);font-size:.9rem}.quote{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums}.quote__close{font-weight:700}.quote__rate{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.quote__rate[data-direction=up]{color:var(--color-up)}.quote__rate[data-direction=down]{color:var(--color-down)}.quote--empty{color:var(--color-text-muted)}.quote__note{color:var(--color-text-muted);font-size:.72rem}.indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}@media(min-width:600px){.indicator-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.indicator-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.indicator-card__name{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.indicator-card .quote{align-items:flex-start}.article-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.article-list--card{gap:8px}.article-list--card .article-card{padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.article-list--compact>li+li{border-top:1px solid var(--color-border)}.article-list--compact .article-card{padding:10px 0}.article-card{display:flex;flex-direction:column;gap:4px}.article-card__title{margin:0;font-size:.98rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.article-card__title a{color:var(--color-text);text-decoration:none}.article-card__title a:hover{color:var(--color-primary);text-decoration:underline}.article-card__summary{color:var(--color-text-muted);font-size:.9rem}.article-card__meta{color:var(--color-text-muted);font-size:.78rem}.portfolio-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.portfolio-card{padding:14px 16px 6px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow)}.portfolio-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.portfolio-card__name{margin:0;font-size:1.05rem;font-weight:700}.portfolio-card__meta{color:var(--color-text-muted);font-size:.78rem}.portfolio-card>.empty-text{padding:10px 0}.portfolio-card__header:last-child{padding-bottom:8px;border-bottom:0}@media(prefers-reduced-motion:reduce){.section-skeleton{animation:none}}.index-title{font-size:1.5rem;font-weight:700}.menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.menu-tile{display:flex;flex-direction:column;gap:6px;min-height:120px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);color:var(--color-text);text-decoration:none;transition:border-color .15s}@media(hover:hover){.menu-tile:hover{border-color:var(--color-primary)}}.menu-tile__label{font-size:1.25rem;font-weight:700}.menu-tile__description{color:var(--color-text-muted);font-size:.9rem}
