/* Build 008D — Nordic Icon System v1.0 */
.icon-system-panel{overflow:hidden;position:relative}
.icon-system-panel::before{content:"";position:absolute;inset:-30% auto auto -15%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(130,190,170,.16),transparent 68%);pointer-events:none}
.icon-system-head{align-items:flex-end}.icon-system-head small{display:block;letter-spacing:.15em;font-size:.7rem;opacity:.62;margin-bottom:7px}
.icon-system-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 24px;padding:6px;width:max-content;max-width:100%;border:1px solid color-mix(in srgb,var(--line,#fff) 55%,transparent);border-radius:16px;background:color-mix(in srgb,var(--glass,#fff) 45%,transparent);backdrop-filter:blur(18px)}
.icon-state-button{border:0;border-radius:11px;padding:9px 15px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;opacity:.7;transition:.25s ease}
.icon-state-button:hover{opacity:1;background:rgba(255,255,255,.08)}.icon-state-button.active{opacity:1;background:rgba(255,255,255,.16);box-shadow:0 7px 18px rgba(20,36,40,.12),inset 0 1px rgba(255,255,255,.35)}
.nordic-icon-gallery-v1{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.nordic-icon-card{--icon-accent:#78a990;min-height:236px;padding:18px;border-radius:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.38);background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.08));box-shadow:0 18px 42px rgba(25,40,46,.12),inset 0 1px rgba(255,255,255,.54);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.nordic-icon-card::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.28) 43%,transparent 61%);transform:translateX(-120%);transition:transform .75s ease;pointer-events:none}.nordic-icon-card:hover{transform:translateY(-3px);box-shadow:0 24px 52px rgba(25,40,46,.18),inset 0 1px rgba(255,255,255,.65)}.nordic-icon-card:hover::before{transform:translateX(120%)}
.nordic-icon-stage{height:145px;display:grid;place-items:center;position:relative}.nordic-icon-stage::after{content:"";position:absolute;width:96px;height:24px;bottom:9px;border-radius:50%;background:radial-gradient(ellipse,rgba(23,37,43,.22),transparent 70%);filter:blur(5px)}
.nordic-glass-icon{width:112px;height:112px;border-radius:30px;display:grid;place-items:center;position:relative;z-index:1;color:white;background:linear-gradient(145deg,color-mix(in srgb,var(--icon-accent) 86%,white),color-mix(in srgb,var(--icon-accent) 62%,#253840));border:1px solid rgba(255,255,255,.65);box-shadow:0 20px 32px color-mix(in srgb,var(--icon-accent) 28%,transparent),inset 0 2px 1px rgba(255,255,255,.7),inset 0 -12px 24px rgba(10,30,35,.2);transition:.35s ease;transform:translateY(-2px)}
.nordic-glass-icon::before{content:"";position:absolute;inset:7px 9px auto;height:42%;border-radius:23px 23px 45% 45%;background:linear-gradient(rgba(255,255,255,.42),rgba(255,255,255,.04));pointer-events:none}.nordic-glass-icon::after{content:"";position:absolute;right:9px;bottom:10px;width:10px;height:10px;border-radius:50%;background:#bfe6d0;border:2px solid rgba(255,255,255,.8);box-shadow:0 0 12px #8fd7b0}
.nordic-glass-icon svg{width:62px;height:62px;position:relative;z-index:2;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 6px rgba(12,29,34,.28))}
.nordic-icon-card[data-state="night"]{background:linear-gradient(145deg,rgba(43,61,69,.74),rgba(18,30,37,.66));border-color:rgba(183,221,229,.2)}.nordic-icon-card[data-state="night"] .nordic-glass-icon{background:linear-gradient(145deg,color-mix(in srgb,var(--icon-accent) 54%,#253b49),color-mix(in srgb,var(--icon-accent) 24%,#101c25));box-shadow:0 22px 38px rgba(0,0,0,.3),0 0 22px color-mix(in srgb,var(--icon-accent) 22%,transparent),inset 0 2px rgba(255,255,255,.28)}
.nordic-icon-card[data-state="active"]{border-color:color-mix(in srgb,var(--icon-accent) 52%,white)}.nordic-icon-card[data-state="active"] .nordic-glass-icon{transform:translateY(-7px) scale(1.035);box-shadow:0 28px 42px color-mix(in srgb,var(--icon-accent) 38%,transparent),0 0 28px color-mix(in srgb,var(--icon-accent) 32%,transparent),inset 0 2px rgba(255,255,255,.75)}
.nordic-icon-card[data-state="alert"] .nordic-glass-icon{--icon-accent:#d79a48}.nordic-icon-card[data-state="alert"] .nordic-glass-icon::after{background:#ffd67c;box-shadow:0 0 16px #ffbd4a}
.nordic-icon-meta{position:relative;z-index:2}.nordic-icon-meta strong{display:block;font-size:1rem}.nordic-icon-meta span{display:block;font-size:.76rem;opacity:.62;margin-top:4px}.nordic-icon-version{position:absolute;right:14px;top:13px;font-size:.66rem;font-weight:800;letter-spacing:.08em;opacity:.5}
.icon-system-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.icon-system-foot>div{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}.icon-system-foot strong,.icon-system-foot span{display:block}.icon-system-foot span{font-size:.8rem;opacity:.65;margin-top:4px}
@media(max-width:700px){.nordic-icon-gallery-v1{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nordic-icon-card{min-height:196px;padding:13px;border-radius:21px}.nordic-icon-stage{height:120px}.nordic-glass-icon{width:88px;height:88px;border-radius:24px}.nordic-glass-icon svg{width:50px;height:50px}.icon-system-foot{grid-template-columns:1fr}}
@media(max-width:430px){.nordic-icon-gallery-v1{grid-template-columns:1fr 1fr}.nordic-icon-meta span{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.nordic-icon-card,.nordic-glass-icon,.nordic-icon-card::before{transition:none}}


/* Build 008E — one canonical icon source across navigation and modules */
aside nav button[data-route]{display:flex;align-items:center;gap:11px;min-height:44px;overflow:hidden}
.nordic-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nordic-compact-icon{--icon-accent:#77888c;position:relative;display:inline-grid;place-items:center;flex:0 0 auto;color:#f7fbfa;background:linear-gradient(145deg,color-mix(in srgb,var(--icon-accent) 82%,white),color-mix(in srgb,var(--icon-accent) 58%,#21343c));border:1px solid rgba(255,255,255,.52);box-shadow:0 5px 12px color-mix(in srgb,var(--icon-accent) 22%,transparent),inset 0 1px rgba(255,255,255,.58),inset 0 -5px 9px rgba(10,28,34,.18);overflow:hidden}
.nordic-compact-icon::before{content:"";position:absolute;inset:2px 3px auto;height:42%;border-radius:inherit;background:linear-gradient(rgba(255,255,255,.42),rgba(255,255,255,.04));pointer-events:none}
.nordic-compact-icon svg{position:relative;z-index:1;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(10,25,30,.28))}
.nordic-compact-icon--nav{width:25px;height:25px;border-radius:8px}.nordic-compact-icon--nav svg{width:16px;height:16px}
aside nav button.active .nordic-compact-icon--nav,aside nav button:hover .nordic-compact-icon--nav{transform:translateY(-1px);box-shadow:0 7px 16px color-mix(in srgb,var(--icon-accent) 30%,transparent),0 0 12px color-mix(in srgb,var(--icon-accent) 18%,transparent),inset 0 1px rgba(255,255,255,.68)}
.nordic-compact-icon--module{width:72px;height:72px;border-radius:21px}.nordic-compact-icon--module svg{width:42px;height:42px}
.car-icon:has(.nordic-compact-icon),.health-today-icon:has(.nordic-compact-icon),.house-today-icon:has(.nordic-compact-icon){background:none!important;width:auto!important;height:auto!important;font-size:inherit!important}
html[data-theme="night"] .nordic-compact-icon{background:linear-gradient(145deg,color-mix(in srgb,var(--icon-accent) 55%,#29404d),color-mix(in srgb,var(--icon-accent) 25%,#101d25));border-color:rgba(203,231,235,.34);box-shadow:0 7px 17px rgba(0,0,0,.28),0 0 12px color-mix(in srgb,var(--icon-accent) 16%,transparent),inset 0 1px rgba(255,255,255,.28)}
@media(max-width:800px){aside nav button[data-route]{min-height:46px}.nordic-compact-icon--nav{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.nordic-compact-icon{transition:none!important}}


/* Build 008F.3 — Feature Icon Library v1.0 */
.feature-icon-section{margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.feature-icon-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.feature-icon-head small{display:block;letter-spacing:.14em;font-size:.67rem;opacity:.6}.feature-icon-head h4{margin:5px 0 4px;font-size:1.1rem}.feature-icon-head p{margin:0;opacity:.65;font-size:.82rem}
.nordic-feature-gallery-v1{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nordic-feature-card{min-height:130px;padding:16px;border-radius:20px;display:grid;place-items:center;text-align:center;gap:10px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.18);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.nordic-feature-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--icon-accent) 42%,rgba(255,255,255,.22));box-shadow:0 12px 26px color-mix(in srgb,var(--icon-accent) 12%,transparent),inset 0 1px rgba(255,255,255,.24)}
.nordic-feature-card strong,.nordic-feature-card span{display:block}.nordic-feature-card strong{font-size:.86rem}.nordic-feature-card span{margin-top:3px;font-size:.69rem;opacity:.58}
.nordic-feature-icon,.nordic-symbol.nordic-feature-host{--icon-accent:#69c58f;position:relative;display:inline-grid;place-items:center;flex:0 0 auto;color:var(--icon-accent);border:1px solid color-mix(in srgb,var(--icon-accent) 26%,rgba(255,255,255,.2));background:linear-gradient(145deg,color-mix(in srgb,var(--icon-accent) 10%,rgba(255,255,255,.1)),rgba(12,29,35,.2));box-shadow:0 8px 18px rgba(6,20,25,.14),inset 0 1px rgba(255,255,255,.16);overflow:hidden;isolation:isolate}
.nordic-feature-icon::before,.nordic-symbol.nordic-feature-host::before{content:"";position:absolute;inset:3px 4px auto;height:40%;border-radius:inherit;background:linear-gradient(rgba(255,255,255,.16),transparent);pointer-events:none}
.nordic-feature-icon svg,.nordic-symbol.nordic-feature-host svg{position:relative;z-index:1;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(8,22,27,.24))}
.nordic-feature-icon--gallery{width:56px;height:56px;border-radius:18px}.nordic-feature-icon--gallery svg{width:29px;height:29px}
.nordic-symbol.nordic-feature-host{width:56px;height:56px;flex-basis:56px;border-radius:18px;--symbol-color:var(--icon-accent)}
.nordic-symbol.nordic-feature-host svg{width:29px;height:29px}
.nordic-symbol.nordic-feature-host.working::after{inset:4px;border-color:color-mix(in srgb,var(--icon-accent) 32%,transparent)}
.nordic-symbol.nordic-feature-host.attention{--icon-accent:#e5c955!important}.nordic-symbol.nordic-feature-host.working{--icon-accent:#80aef4!important}.nordic-symbol.nordic-feature-host.idle{--icon-accent:#a9bdc1!important}
html[data-theme="night"] .nordic-feature-icon,html[data-theme="night"] .nordic-symbol.nordic-feature-host{background:linear-gradient(145deg,color-mix(in srgb,var(--icon-accent) 10%,#20343d),rgba(8,20,27,.54));border-color:color-mix(in srgb,var(--icon-accent) 30%,rgba(255,255,255,.14));box-shadow:0 9px 20px rgba(0,0,0,.24),0 0 13px color-mix(in srgb,var(--icon-accent) 10%,transparent),inset 0 1px rgba(255,255,255,.13)}
@media(max-width:950px){.nordic-feature-gallery-v1{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.feature-icon-head{align-items:flex-start;flex-direction:column}.nordic-feature-gallery-v1{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.nordic-feature-gallery-v1{grid-template-columns:1fr}}
.nordic-feature-icon--inline{width:34px;height:34px;border-radius:11px;vertical-align:middle}.nordic-feature-icon--inline svg{width:18px;height:18px}
.nordic-feature-icon--card{width:46px;height:46px;border-radius:15px}.nordic-feature-icon--card svg{width:24px;height:24px}
.nordic-feature-icon--tiny{width:26px;height:26px;border-radius:9px}.nordic-feature-icon--tiny svg{width:14px;height:14px}
.nordic-feature-icon--plain{width:30px;height:30px;border-radius:10px}.nordic-feature-icon--plain svg{width:17px;height:17px}
.living b>.nordic-feature-icon,.glass b>.nordic-feature-icon,.morning-story-icon>.nordic-feature-icon,.quiet-recommendation-icon>.nordic-feature-icon,.intelligence-rule-icon>.nordic-feature-icon,.rotation-recommendation>span>.nordic-feature-icon{display:grid}
