:root{--bg-page: #F0EDF8;--bg-card: #FFFFFF;--accent-primary: #5B1A8A;--accent-active: #E0007A;--accent-light: #7B2CBF;--text-primary: #1A0A2E;--text-secondary: #5A4A7A;--text-muted: #9B8CB8;--divider: #EBE5F5;--chip-bg: #E8E4F8;--chip-border: #DDD4EC;--radius-card: 16px;--radius-chip: 20px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg-page);font-family:Segoe UI,system-ui,sans-serif;color:var(--text-primary);margin:0;overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh}@media (min-width: 640px){.app{max-width:1200px;margin:0 auto;width:100%;box-shadow:0 0 0 1px var(--divider);background:var(--bg-page)}}.card-list{padding:12px 14px 16px;display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 640px){.card-list{grid-template-columns:repeat(2,1fr);padding:16px 20px 24px;gap:12px}}@media (min-width: 1100px){.card-list{grid-template-columns:repeat(3,1fr);padding:20px 24px 28px;gap:14px}}.state-msg{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:13px;padding:32px 0;display:flex;align-items:center;justify-content:center;gap:8px}.state-msg--error{color:#c0392b}.spinner{width:16px;height:16px;border:2px solid var(--divider);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.filter-chips{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--divider);scrollbar-width:none;flex-wrap:wrap}.filter-chips::-webkit-scrollbar{display:none}@media (min-width: 640px){.filter-chips{padding:12px 20px;gap:10px;overflow-x:visible}}.chip{flex-shrink:0;padding:6px 16px;border-radius:var(--radius-chip);font-size:11px;font-weight:400;cursor:pointer;border:1.5px solid var(--chip-border);color:var(--text-secondary);background:transparent;transition:all .15s}@media (min-width: 640px){.chip{font-size:12px;padding:7px 18px}}.chip--active{border-color:var(--accent-light);color:var(--accent-light);background:var(--chip-bg);font-weight:700}.learn-card{background:var(--bg-card);border-radius:var(--radius-card);border:.5px solid var(--divider);display:flex;align-items:stretch;cursor:pointer;overflow:hidden;transition:box-shadow .15s;align-self:stretch}.learn-card:hover{box-shadow:0 4px 16px #5b1a8a1a}.learn-card__bar{width:4px;flex-shrink:0}.learn-card__body{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:4px}@media (min-width: 640px){.learn-card__body{padding:16px 14px}}.learn-card__tag{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.learn-card__title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4}@media (min-width: 640px){.learn-card__title{font-size:15px}}.learn-card__summary{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:2px}@media (min-width: 640px){.learn-card__summary{font-size:13px}}.learn-card__arrow{padding:0 14px;font-size:20px;color:var(--text-muted);display:flex;align-items:center}.detail{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-page)}@media (min-width: 640px){.detail{max-width:1200px;margin:0 auto;width:100%;box-shadow:0 0 0 1px var(--divider)}}.detail__header{background:#fff;padding:16px 20px 18px;display:flex;align-items:flex-start;gap:12px}@media (min-width: 640px){.detail__header{padding:20px 28px 22px}}.detail__back{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px;flex-shrink:0;margin-top:2px}.detail__back:hover{color:var(--accent-primary)}.detail__header-text{display:flex;flex-direction:column;gap:4px}.detail__tag{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.detail__title{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.3}@media (min-width: 640px){.detail__title{font-size:22px}}.detail__meta{font-size:11px;color:var(--text-muted);margin-top:2px}.detail__content{flex:1;padding:20px;display:flex;flex-direction:column;gap:12px}@media (min-width: 640px){.detail__content{padding:24px 28px 32px}}@media (min-width: 1100px){.detail__content{padding:28px 36px 40px}}.detail__content p{font-size:14px;line-height:1.7;color:var(--text-secondary)}@media (min-width: 640px){.detail__content p{font-size:15px}}.protocol-detail-grid{display:flex;flex-direction:column}@media (min-width: 768px){.protocol-detail-grid{display:grid;grid-template-columns:2fr 3fr;gap:0 36px;align-items:start}}.protocol-panel{display:flex;flex-direction:column}@media (min-width: 768px){.protocol-panel--steps{border-left:1px solid var(--divider);padding-left:32px;position:sticky;top:0}}.detail__empty{color:var(--text-muted);font-style:italic}.app--block{background:transparent}.card-list--block{padding:0}.card-list--block .learn-card{margin:0}.kiosk-learn{height:100%;display:flex;flex-direction:column;background:var(--bg-page, #F0EDF8)}.kiosk-scroll{flex:1;overflow-y:auto;padding:20px 24px 32px}.kiosk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}.kiosk-state{grid-column:1 / -1;text-align:center;color:var(--text-muted, #9B8CB8);font-size:14px;padding:40px 0}.kiosk-finder{flex:1;display:flex;min-height:0}.kiosk-finder__rail{width:260px;flex-shrink:0;overflow-y:auto;padding:16px 12px;background:#fff;border-right:1px solid var(--divider, #EBE5F5)}.kiosk-rail__label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9b8cb8;padding:0 8px;margin-bottom:10px}.kiosk-concern{display:flex;align-items:center;gap:10px;width:100%;padding:6px 12px 6px 6px;margin-bottom:6px;border:1.5px solid transparent;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;text-align:left;transition:all .12s}.kiosk-concern__img{width:40px;height:40px;border-radius:8px;flex-shrink:0}.kiosk-finder__main{flex:1;overflow-y:auto;padding:16px 24px 32px}.kiosk-filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:12px 16px;background:#fff;border:1px solid var(--divider, #EBE5F5);border-radius:12px;margin-bottom:16px}.kiosk-filtergroup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.kiosk-filterlabel{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9b8cb8;margin-right:2px}.kiosk-filter-clear{margin-left:auto;padding:6px 12px;border-radius:20px;border:1.5px solid var(--divider, #EBE5F5);background:transparent;font-size:12px;color:#9b8cb8;cursor:pointer}.kiosk-results__hdr{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}.kiosk-tech-detail{display:flex;gap:28px;align-items:flex-start}.kiosk-tech-imgbox{width:220px;height:220px;flex-shrink:0;border-radius:16px;background:#f7f4fc;display:flex;align-items:center;justify-content:center;overflow:hidden}.kiosk-tech-imgbox img{width:100%;height:100%;object-fit:contain;padding:16px}.kiosk-tech-text{flex:1;min-width:0}.kiosk-tech-name{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.kiosk-tech-meta{font-size:14px;font-weight:600;color:#7b2fbe;margin-bottom:14px}.kiosk-tech-desc{font-size:15px;color:#4b5563;line-height:1.7}@media (max-width: 900px){.kiosk-tech-detail{flex-direction:column}.kiosk-tech-imgbox{width:160px;height:160px}}.kiosk-tech-list{display:flex;flex-direction:column;gap:10px;max-width:1000px}.kiosk-tech-row{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--divider, #EBE5F5);border-radius:12px;padding:12px 16px}.kiosk-tech-row__img{width:60px;height:60px;flex-shrink:0;border-radius:10px}.kiosk-tech-row__body{flex:1;min-width:0}.kiosk-tech-row__head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.kiosk-tech-row__name{font-size:16px;font-weight:700;color:#1a1a2e}.kiosk-tech-row__meta{font-size:12px;font-weight:600;margin-left:auto;white-space:nowrap}.kiosk-tech-row__desc{font-size:13px;color:#4b5563;line-height:1.5;margin:0}.kiosk-video-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px;margin-bottom:6px;border:1.5px solid transparent;border-radius:12px;cursor:pointer;text-align:left;font-size:14px;font-weight:600;color:#2a1a3a;transition:all .12s}.kiosk-video-thumb{position:relative;width:84px;height:52px;flex-shrink:0;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.kiosk-video-play{width:22px;height:22px;border-radius:50%;background:#ffffffeb;color:#5b1a8a;font-size:9px;padding-left:2px;display:flex;align-items:center;justify-content:center}.kiosk-video-dur{position:absolute;bottom:3px;right:3px;background:#000000bf;color:#fff;font-size:9px;font-weight:700;padding:1px 4px;border-radius:4px}.kiosk-video-name{flex:1;min-width:0;line-height:1.35}.kiosk-grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}:root{--color-primary: #5B1A8A;--color-primary-light: #7B2FBE;--color-primary-dim: #EBE5F5;--color-accent: #9B59D0;--color-bg: #F7F4FC;--color-card: #FFFFFF;--color-text: #1A1A2E;--color-text-secondary:#6B7280;--color-divider: #E8E0F0;--color-success: #16A34A;--color-danger: #DC2626;--tab-bar-height: 72px;--top-bar-height: 56px;--radius-card: 16px;--radius-btn: 12px;--shadow-card: 0 2px 12px rgba(91,26,138,.08);--shadow-elevated: 0 8px 32px rgba(91,26,138,.16)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}input,textarea{font-family:inherit;outline:none}.card{background:var(--color-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-btn);padding:12px 24px;font-size:15px;font-weight:600;transition:background .15s}.btn-primary:active{background:var(--color-primary-light)}.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-btn);padding:10px 20px;font-size:14px;font-weight:600}.page-scroll{height:100%;overflow-y:auto;padding:24px 28px 32px}.section-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:10px}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
