:root{--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg: #ffffff;--color-page: #fafafa;--color-surface: #ffffff;--color-surface-soft: #f7f7f7;--color-border: #dddddd;--color-border-soft: #eeeeee;--color-text: #222222;--color-muted: #6a6a6a;--color-accent: #d7043d;--color-accent-strong: #b0002a;--color-accent-soft: #fff1f3;--color-accent-wash: #fff7f8;--shadow-soft: 0 8px 24px rgba(0, 0, 0, .06);--shadow-float: 0 18px 48px rgba(0, 0, 0, .12);--radius-card: 8px;--radius-control: 999px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{direction:rtl}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#ffffff 0,#ffffff 180px,var(--color-page) 460px),var(--color-page)}button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(215,4,61,.34);outline-offset:3px}#app{min-height:100vh}.app-shell{width:min(1188px,100%);margin:0 auto;padding:18px 20px 28px}.top-strip,.context-bar,.comparison-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.top-strip{position:relative;padding:12px 0 22px}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--color-muted);font-size:.9rem;font-weight:800}.eyebrow:before{width:10px;height:10px;border-radius:3px;background:var(--color-accent);content:""}h1,h2,h3,p{margin-top:0}h1{max-width:680px;margin-bottom:0;font-size:clamp(1.7rem,4vw,3rem);line-height:1.04;letter-spacing:0;color:var(--color-text)}h2{margin-bottom:10px;font-size:1.55rem}h3{margin-bottom:10px;font-size:1.05rem}.view-actions,.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.onboarding{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);gap:22px;align-items:start;padding:26px;border:1px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);animation:rise-in .42s ease both}.onboarding-copy p{max-width:54ch;color:var(--color-muted);line-height:1.65}.data-note{display:inline-flex;min-height:36px;align-items:center;padding:7px 12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-surface-soft);color:var(--color-text);font-weight:700}.loading-note{color:#5f4a14;background:#fff4cf;border-color:#ead487}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-panel{display:grid;gap:14px}.role-button,.primary-button,.ghost-button,.segmented,.chip,.icon-button,.primary-link,.source-link,.disabled-link{min-height:42px;border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text);background:var(--color-surface);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease}.role-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:19px 12px;font-weight:800;box-shadow:0 2px 10px #00000009}.role-button:hover,.activity-card:hover,.timetable-activity:hover,.suggestions button:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.role-button.selected,.segmented.active,.chip.active,.icon-button.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.planning-panel{grid-column:1 / -1;padding-top:14px;border-top:1px solid var(--color-border)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-weight:700}.chip.large{min-width:118px}.chip small{color:var(--color-muted);font-weight:600}.primary-button,.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-color:var(--color-accent);background:var(--color-accent);color:#fff;font-weight:800;box-shadow:0 10px 22px #d7043d33}.primary-button:hover,.primary-link:hover,.filter-confirm:hover{background:var(--color-accent-strong)}.ghost-button,.segmented,.source-link,.disabled-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;font-weight:700}.ghost-button.subtle{color:var(--color-muted)}.ghost-button.danger{border-color:#cc8d86;color:#8a241a}.text-button{border:0;padding:4px 0;color:var(--color-text);background:transparent;font-weight:800}.context-bar{position:sticky;top:0;z-index:12;flex-wrap:wrap;margin:0 -20px;padding:8px 20px;border-block:1px solid var(--color-border-soft);background:#fffffff5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 18px #00000009}.context-meta{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:4px}.view-actions{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;min-width:0}.segmented{white-space:nowrap}.context-pill{display:inline-flex;border:0;margin:2px;padding:7px 11px;border-radius:var(--radius-control);background:var(--color-text);color:#fff;font-weight:800;cursor:pointer}.context-pill.muted{background:var(--color-surface-soft);color:var(--color-text)}.filters{position:sticky;top:var(--context-bar-offset, 53px);z-index:11;margin:0 -20px 18px;padding:10px 20px;border-bottom:1px solid var(--color-border-soft);background:#fffffff5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 24px #0000000b}.filter-heading,.filter-heading>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.filter-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.filter-group{position:relative}.filter-group summary{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-weight:800;list-style:none;cursor:pointer}.filter-group summary::-webkit-details-marker{display:none}.filter-group mark{min-width:24px;padding:2px 7px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);text-align:center}.filter-options{position:absolute;right:0;left:0;max-height:340px;overflow:auto;display:flex;flex-wrap:wrap;gap:7px;margin-top:6px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-float)}.filter-actions{position:sticky;bottom:-10px;flex-basis:100%;display:flex;justify-content:flex-start;margin:2px -10px -10px;padding:10px;border-top:1px solid var(--color-border-soft);background:var(--color-surface)}.filter-confirm{min-height:38px;padding:8px 18px;border:0;border-radius:var(--radius-control);background:var(--color-accent);color:#fff;font-weight:850}.warning{padding:10px 12px;border:1px solid #dec16d;border-radius:8px;background:#fff4cf;color:#5f4a14;font-weight:700}.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.empty-results{grid-column:1 / -1;display:grid;justify-items:start;gap:10px;padding:28px;border:1px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.relax-card{display:grid;align-content:center;gap:12px;min-height:156px;padding:18px;border:1px dashed #ffb3c0;border-radius:var(--radius-card);background:var(--color-accent-wash);box-shadow:0 3px 14px #d7043d0a}.empty-results h2,.relax-card h2,.empty-results p{margin-bottom:0}.empty-results p,.relax-card p{max-width:52ch;color:var(--color-muted);line-height:1.6}.relax-actions{display:flex;flex-wrap:wrap;gap:8px}.relax-actions button{min-height:36px;border:1px solid var(--color-accent);border-radius:var(--radius-control);padding:7px 13px;background:var(--color-surface);color:var(--color-accent-strong);font-weight:850}.relax-actions button:hover{background:var(--color-accent-soft)}.activity-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden;box-shadow:0 3px 14px #00000009;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;animation:fade-up .26s ease both}.activity-card.expanded{border-color:#ff9aac;box-shadow:0 16px 36px #d7043d1a}.card-main{min-width:0;border:0;padding:14px 14px 13px;background:transparent;text-align:start}.card-title{display:block;margin-bottom:7px;color:var(--color-text);font-weight:900;line-height:1.3}.card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;color:var(--color-muted);font-size:.9rem}.card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-actions{display:flex;align-items:center;gap:6px;padding:8px;color:var(--color-muted)}.icon-button{display:inline-grid;width:42px;height:42px;min-height:42px;place-items:center;padding:0}.activity-details{grid-column:1 / -1;padding:14px;border-top:1px solid var(--color-border-soft);background:var(--color-bg);animation:details-open .18s ease both}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}.detail-grid div{min-width:0}dt{color:var(--color-muted);font-size:.82rem;font-weight:800}dd{margin:2px 0 0;overflow-wrap:anywhere}.description{white-space:pre-line;color:#484848;line-height:1.6}.source-link{color:var(--color-text)}.disabled-link{color:var(--color-muted);background:var(--color-surface-soft)}.comparison-view,.timetable-view{padding-top:16px}.timetable-wrap{overflow-x:auto;margin-top:12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.activity-timetable{width:100%;min-width:1120px;border-collapse:collapse}.activity-timetable caption{padding:10px;color:var(--color-muted);text-align:start;font-size:.92rem;font-weight:700}.activity-timetable th,.activity-timetable td{vertical-align:top;border:1px solid var(--color-border-soft);padding:8px}.activity-timetable thead th{position:sticky;top:0;z-index:2;background:var(--color-text);color:#fff}.activity-timetable tbody th{position:sticky;right:0;z-index:1;width:82px;background:var(--color-surface-soft);color:var(--color-text)}.activity-timetable td{width:148px;min-width:148px}.timetable-cell-list{display:grid;gap:6px}.timetable-activity{display:grid;gap:3px;padding:7px;border-right:4px solid var(--color-accent);border-radius:7px;background:var(--color-accent-wash);transition:transform .16s ease,box-shadow .16s ease}.timetable-activity strong,.timetable-activity span,.timetable-activity small{overflow-wrap:anywhere}.timetable-activity span,.timetable-activity small{color:var(--color-muted)}.timetable-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.timetable-actions button{min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:4px 7px;background:var(--color-surface);color:var(--color-text);font-weight:800}.timetable-actions button.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.empty-cell{color:#92887d}.unscheduled{margin-top:16px;padding:12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface)}.comparison-header p{margin-bottom:0;color:var(--color-muted)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.day-column{min-height:360px;padding:12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 3px 14px #00000008}.week-item{display:grid;gap:5px;margin-bottom:8px;padding:10px;border-right:4px solid var(--color-accent);border-radius:7px;background:var(--color-accent-wash);box-shadow:0 6px 16px #d7043d14}.week-item.conflict{border-right-color:#a83a2f;background:#fff0ed}.week-item em{color:#8a241a;font-style:normal;font-weight:800}.empty-slot{display:grid;width:100%;min-height:86px;align-content:center;gap:4px;padding:10px;border:1px dashed var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);color:var(--color-muted);text-align:start}.empty-slot strong{color:var(--color-accent-strong)}.empty-slot:hover{border-color:var(--color-accent);background:var(--color-accent-wash)}.suggestions{display:grid;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border-soft)}.suggestions span{color:var(--color-muted);font-size:.82rem;font-weight:900}.suggestions button{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:9px;background:var(--color-surface);color:var(--color-text);text-align:start;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.suggestions button span{display:block;margin-bottom:2px;color:var(--color-accent-strong)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes details-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:820px){.app-shell{padding:12px}.top-strip,.comparison-header{align-items:stretch;flex-direction:column}.top-strip{gap:8px;padding:6px 0 8px}.eyebrow{display:none}h1{max-width:100%;font-size:1.35rem;line-height:1.1}.context-bar{align-items:center;flex-direction:row;gap:8px}.view-actions{flex:1 1 auto;width:auto;gap:5px}.view-actions>*{flex:1 1 0;min-height:34px;min-width:0;padding:6px 5px;font-size:.76rem}.view-actions svg{width:15px;height:15px}.context-pill{padding:5px 9px;white-space:nowrap;font-size:.82rem}.onboarding{grid-template-columns:1fr;padding:16px}.filters{top:var(--context-bar-offset, 49px);padding:6px 12px 7px}.filter-heading{align-items:center;min-height:28px}.filter-heading strong{font-size:.84rem}.filter-heading svg{width:16px;height:16px}.filter-groups{display:flex;gap:8px;overflow-x:auto;overflow-y:visible;padding:5px 0 1px;scrollbar-width:none;scroll-snap-type:x proximity}.filter-groups::-webkit-scrollbar{display:none}.filter-group{flex:0 0 auto;scroll-snap-align:start}.filter-group summary{min-width:96px;min-height:32px;padding:5px 9px;border-radius:999px;font-size:.82rem;white-space:nowrap}.filter-group mark{min-width:20px;padding:1px 6px}.filter-options{position:fixed;right:0;top:calc(var(--context-bar-offset, 49px) + 67px);bottom:auto;left:0;z-index:30;max-height:min(52vh,calc(100vh - 132px));margin:0;padding:14px;border-width:0 0 1px;border-radius:0 0 16px 16px;box-shadow:0 18px 40px #00000029;animation:sheet-down .16s ease both}.results,.detail-grid,.card-meta{grid-template-columns:1fr}.card-meta span{white-space:normal}}@media(max-width:480px){.role-grid{grid-template-columns:1fr}.context-bar,.filters{margin-right:-12px;margin-left:-12px}}@keyframes sheet-down{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
