.portal-main{width:min(1030px,calc(100% - 36px));margin:34px auto 74px}.portal-card{padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.portal-heading{margin-bottom:24px}.portal-heading .section-kicker{margin-bottom:7px}.portal-heading h1{margin:0;font-size:clamp(30px,5vw,46px);line-height:1.1;letter-spacing:-.045em}.portal-heading p{margin:9px 0 0;color:var(--muted)}.portal-form{display:grid;gap:14px;margin-top:22px}.portal-form label,.portal-field label{display:grid;gap:6px;font-size:13px;font-weight:800}.portal-form input,.portal-field input,.portal-field select,.portal-field textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #bdcce3;border-radius:11px;background:#fff;color:var(--ink);font:inherit}.portal-form input:focus,.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus{outline:3px solid #1457e626;border-color:var(--teal)}.portal-status{margin-top:14px;padding:13px 15px;border-radius:12px;background:#e8f7ef;color:#216148;font-size:14px}.portal-status.error{background:#fff0ee;color:#923b31}.portal-status[hidden]{display:none}.portal-muted{color:var(--muted);font-size:13px}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.profile-card{padding:21px;border:1px solid #dce4f0;border-radius:20px;background:linear-gradient(145deg,#fff,#f3f6ff)}.profile-card h2{margin:0;font-size:22px}.profile-card p{margin:5px 0 15px;color:var(--muted);font-size:13px}.profile-card .button{width:100%}.profile-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#e8f6eb;color:#25714e;font-size:11px;font-weight:850}.portal-section{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.portal-section h2{margin:0 0 8px;font-size:22px}.portal-section>p{margin:0;color:var(--muted);font-size:14px}.session-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.session-card{padding:14px;border-radius:14px;background:#f0f4ff}.session-card small{display:block;color:#526887;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.session-card strong{display:block;margin-top:4px;font-size:14px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.check-item{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dce4f0;border-radius:13px;background:#fbfcff;cursor:pointer}.check-item input{width:19px;height:19px;flex:0 0 19px;margin:2px 0 0;accent-color:#1457e6}.check-item span{font-size:13px;line-height:1.4}.mission-list{display:grid;gap:10px;margin-top:15px;padding:0;list-style:none}.mission-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid #dce4f0;border-radius:15px;background:#fff}.mission-number{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#eaf0ff;color:#1457e6;font-weight:900}.mission-item h3{margin:0;font-size:14px}.mission-item p{margin:2px 0 0;color:var(--muted);font-size:12px}.mission-state{color:#526887;font-size:11px;font-weight:800}.idea-summary{padding:17px;border:1px solid #dce4f0;border-radius:15px;background:#f7f9fe}.idea-summary h3{margin:0 0 4px}.idea-summary p{margin:5px 0;color:#506970;font-size:13px}.idea-prompt{margin-top:12px;padding:15px;border-radius:12px;background:#edf5ff;color:#294c6b;white-space:pre-wrap;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.lab-shell{width:min(790px,calc(100% - 34px));margin:34px auto 75px}.lab-progress{height:11px;overflow:hidden;border-radius:999px;background:#e6ecf7}.lab-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#1457e6,#6d93f5);transition:width .25s}.lab-step-label{margin:12px 0;color:#526887;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.lab-card{padding:clamp(22px,5vw,42px);border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.lab-card h1,.lab-card h2{margin:0;font-size:clamp(29px,5vw,43px);line-height:1.1;letter-spacing:-.04em}.lab-card>p{color:var(--muted)}.lab-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.lab-choice{min-height:76px;padding:15px;display:flex;align-items:center;gap:12px;border:1px solid #dce4f0;border-radius:16px;background:#fbfcff;color:var(--ink);text-align:left;font-weight:800;cursor:pointer}.lab-choice:hover,.lab-choice[aria-pressed="true"]{border-color:#1457e6;background:#edf3ff;box-shadow:0 0 0 2px #1457e620}.lab-choice-icon{font-size:24px}.lab-field{display:grid;gap:7px;margin:16px 0}.lab-field label{font-size:13px;font-weight:850}.lab-field input,.lab-field textarea,.lab-field select{width:100%;padding:13px;border:1px solid #bdcce3;border-radius:12px;background:#fff;color:var(--ink);font:inherit}.lab-field textarea{min-height:112px;resize:vertical}.lab-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.lab-feature{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #dce4f0;border-radius:13px;font-size:13px;font-weight:750;cursor:pointer}.lab-feature input{accent-color:var(--teal)}.lab-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.lab-actions .button{min-width:135px}.lab-summary{display:grid;gap:9px;margin:18px 0}.lab-summary div{padding:13px;border-radius:12px;background:#f2f5fc}.lab-summary small{display:block;color:#526887;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lab-summary strong,.lab-summary span{display:block;margin-top:3px;font-size:14px}.lab-toast{margin-top:14px;padding:12px 14px;border-radius:12px;background:#e8f7ef;color:#216148;font-size:13px}.lab-toast.error{background:#fff0ee;color:#923b31}.idea-status-tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff3cf;color:#806312;font-size:11px;font-weight:900}.idea-status-tag.green{background:#e5f6e9;color:#24714e}.idea-status-tag.red{background:#fff0ee;color:#a3463b}.signout{border:1px solid #bdcce3;background:#fff;color:#1457e6}.portal-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media(max-width:680px){.portal-main,.lab-shell{margin-top:18px}.portal-grid,.profile-grid,.session-list,.check-grid,.lab-choice-grid,.lab-feature-list{grid-template-columns:1fr}.mission-item{grid-template-columns:38px 1fr}.mission-state{grid-column:2}.lab-actions{flex-direction:column-reverse}.lab-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.lab-progress span{transition:none}}

/* Family access: blue and yellow identity shared with the workshop landing. */
.access-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 8% 30%,#edf2ff 0,transparent 48%),#f8faff}
.access-page .site-header{background:#ffffffef}.access-page .site-header::before{content:"";display:block;height:5px;background:var(--blue)}
.access-page .portal-main{width:min(1080px,calc(100% - 48px));flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px;margin:64px auto 80px}
.access-welcome h1{max-width:480px;margin:18px 0;font-size:clamp(38px,4.6vw,58px);line-height:1.06;letter-spacing:-.05em}.access-welcome h1 span{color:var(--blue)}
.access-welcome>p:not(.section-kicker){max-width:430px;color:var(--muted);font-size:17px;line-height:1.7}
.access-badge{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 12px;border:1px solid #e7d99a;border-radius:9px;background:#fff8df;color:#624e10;font-size:12px;font-weight:750}
.access-page .portal-card{padding:36px;border-radius:22px;box-shadow:0 20px 60px #1427470b;border-color:#dce4f0;border-top:4px solid var(--blue)}
.access-page .portal-heading h2{margin:8px 0 12px;font-size:30px;line-height:1.15;letter-spacing:-.035em}.access-page .portal-heading p{font-size:14px;line-height:1.65}
.access-page .portal-form{gap:19px;margin-top:24px}.access-page .portal-form input{min-height:54px;border-radius:10px;background:#fbfcff}.access-page .portal-form .button{min-height:52px;border-radius:10px;background:var(--yellow);color:var(--ink)}.access-page .portal-form .button:hover{background:#f3bf20}.access-page .portal-form .button:disabled{opacity:.65;cursor:wait;transform:none}
.access-page .portal-muted{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.65}
.access-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:12px}.access-links a{color:var(--blue);font-weight:750;text-decoration:none}.access-links a:hover{text-decoration:underline}
.access-page .site-footer{background:transparent;border-top:1px solid var(--line);color:var(--ink);padding:22px}.access-page .footer-inner p,.access-page .footer-links a{color:var(--muted)}
.access-mini-app{max-width:330px;margin-top:30px;padding:17px 19px;border:1px solid #dae3f4;border-radius:16px;background:#ffffffc9;box-shadow:0 12px 24px #14274706;transform:rotate(-2deg)}
.access-mini-bar{display:flex;gap:5px;margin-bottom:18px}.access-mini-bar i{height:7px;width:7px;border-radius:50%;background:#ccd7ea}.access-mini-bar i:first-child{background:var(--yellow)}
.access-mini-body{display:flex;align-items:center;gap:13px}.access-mini-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:#eaf0ff;color:var(--blue);font-size:23px;font-weight:900}.access-mini-body strong{display:block;font-size:14px}.access-mini-body small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
@media(max-width:760px){.access-page .portal-main{width:min(510px,calc(100% - 32px));grid-template-columns:1fr;gap:27px;margin:32px auto 44px}.access-welcome h1{font-size:39px;margin:12px 0}.access-welcome>p:not(.section-kicker){font-size:15px;margin-bottom:0}.access-mini-app,.access-badge{display:none}.access-page .portal-card{padding:25px}.access-page .portal-heading h2{font-size:27px}.access-page .footer-inner{gap:8px}}

.access-creators{margin-top:27px;max-width:430px;transform:rotate(-2deg)}.access-creators img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:5px solid #fff;border-radius:22px;box-shadow:0 14px 35px #14274714}
@media(max-width:760px){.access-creators{max-width:100%;margin-top:20px;transform:none}.access-creators img{max-height:190px;object-position:center 35%;border-radius:17px}}

/* Rediseño 2026: portal alineado con los tokens de miapp.css */
.portal-card,.lab-card{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.portal-heading h1,.lab-card h1,.lab-card h2{font-weight:800;letter-spacing:-.035em}
.portal-form input,.portal-field input,.portal-field select,.portal-field textarea,.lab-field input,.lab-field textarea,.lab-field select{border-color:var(--line-strong);border-radius:var(--radius-sm);background:#fbfcff;transition:border-color .18s,box-shadow .18s,background .18s}
.portal-form input:hover,.portal-field input:hover,.portal-field select:hover,.portal-field textarea:hover,.lab-field input:hover,.lab-field textarea:hover{border-color:#a9bbd8}
.portal-form input:focus,.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus,.lab-field input:focus,.lab-field textarea:focus,.lab-field select:focus{outline:0;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px #1457e622}
.portal-status{border:1px solid #c9ebd7;border-radius:var(--radius-sm)}.portal-status.error{border-color:#f3cdc8}
.profile-card{border-color:var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-xs);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.profile-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.profile-chip{background:var(--green-50);color:var(--green)}
.session-card{border:1px solid var(--blue-100);border-radius:16px;background:var(--blue-50)}
.check-item,.mission-item,.lab-choice,.lab-feature{border-color:var(--line);border-radius:16px;background:#fff;transition:border-color .18s,background .18s,box-shadow .18s}
.check-item:hover,.lab-feature:hover{border-color:var(--line-strong);background:#fbfcff}
.check-item:has(input:checked),.lab-feature:has(input:checked){border-color:var(--blue);background:var(--blue-50)}
.lab-choice:hover,.lab-choice[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-50);box-shadow:0 0 0 3px #1457e61f}
.mission-number{border-radius:12px;background:var(--blue-50);color:var(--blue)}
.lab-progress{height:10px;background:var(--blue-100)}
.lab-progress span{background:linear-gradient(90deg,var(--blue),#4f7dff)}
.idea-summary,.lab-summary div{border-color:var(--line);border-radius:16px;background:var(--paper)}
.signout{min-height:40px;padding:8px 14px;border-radius:999px;border-color:var(--line-strong);font-size:13px}
.access-page{background:radial-gradient(50% 60% at 0% 30%,#e3ebff 0,transparent 60%),radial-gradient(35% 45% at 100% 100%,#fff3c8 0,transparent 60%),var(--paper)}
.access-page .site-header::before{height:4px;background:linear-gradient(90deg,var(--blue),var(--yellow))}
.access-page .portal-card{position:relative;padding:38px;border-top:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.access-page .portal-form input{min-height:54px;border-radius:14px}
.access-page .portal-form .button{min-height:54px;border-radius:14px;background:var(--blue);color:#fff}
.access-page .portal-form .button:hover{background:var(--blue-600)}
.access-welcome h1{font-weight:800}
.access-welcome h1 span{background:linear-gradient(100deg,var(--blue) 10%,#4f7dff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.access-creators img{border-width:6px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
@media(max-width:760px){.access-page .portal-card{padding:24px}}

/* Portal familiar (mi-taller): panel por participante */
.family-portal-page{background:radial-gradient(50% 40% at 100% 0,#dfe8ff 0,transparent 70%),radial-gradient(40% 30% at 0 30%,#fff3c8 0,transparent 70%),var(--paper)}
.family-portal-page .portal-main{width:min(1120px,calc(100% - 36px));margin:28px auto 72px}
.fp-family-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.fp-family-title{margin:4px 0 0;font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.03em}
.fp-family-note{margin:4px 0 0;color:var(--muted);font-size:14px}
.fp-switch{display:flex;flex-wrap:wrap;gap:8px;padding:5px;border:1px solid var(--line);border-radius:18px;background:#ffffffcc;box-shadow:var(--shadow-xs)}
.fp-pill{display:flex;align-items:center;gap:10px;min-width:170px;padding:8px 14px 8px 8px;border:0;border-radius:14px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background .18s,box-shadow .18s}
.fp-pill:hover{background:var(--blue-50)}
.fp-pill[aria-pressed="true"]{background:var(--blue);color:#fff;box-shadow:0 10px 22px -12px #1457e6}
.fp-pill b,.fp-pill small{display:block;line-height:1.25}
.fp-pill b{font-size:14px}
.fp-pill small{font-size:11px;opacity:.75}
.fp-avatar{display:grid;flex:none;width:36px;height:36px;place-items:center;border-radius:11px;background:var(--yellow);color:var(--ink);font-weight:800}

.fp-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:clamp(24px,4vw,40px);border-radius:var(--radius-lg);background:radial-gradient(60% 120% at 100% 0,#3a72ff 0,transparent 60%),linear-gradient(125deg,#0f3fae,var(--blue));color:#fff;box-shadow:var(--shadow-lg)}
.fp-hero::after{content:"✦";position:absolute;right:30%;top:14px;color:var(--yellow);font-size:26px;opacity:.9}
.fp-kicker{margin:0;color:var(--yellow);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.fp-hero h1{margin:8px 0;font-size:clamp(32px,5vw,50px);font-weight:800;line-height:1.05;letter-spacing:-.04em}
.fp-hero-copy>p:not(.fp-kicker){max-width:520px;margin:0;color:#dbe6ff;font-size:16px}
.fp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.fp-ghost{border:1px solid #ffffff4d;background:#ffffff14;color:#fff}
.fp-ghost:hover{background:#ffffff26}
.fp-hero-stats{display:flex;gap:14px}
.fp-stat{display:grid;justify-items:center;gap:8px;padding:16px 18px;border:1px solid #ffffff2e;border-radius:20px;background:#ffffff14}
.fp-stat small{color:#dbe6ff;font-size:12px;font-weight:700}
.fp-ring{--value:0;display:grid;width:84px;height:84px;place-items:center;border-radius:50%;background:radial-gradient(closest-side,#1a4fd0 76%,transparent 78% 100%),conic-gradient(var(--yellow) calc(var(--value) * 1%),#ffffff33 0)}
.fp-ring b{font-size:19px;font-weight:800}

.fp-guide{position:relative;overflow:hidden;margin-top:16px;padding:clamp(19px,3vw,28px);border:1px solid #c9dcff;border-radius:var(--radius-lg);background:radial-gradient(35% 55% at 100% 0,#fff2c5 0,transparent 100%),linear-gradient(135deg,#f2f8ff,#f8f5ff 58%,#fff);box-shadow:var(--shadow)}
.fp-guide::before{position:absolute;right:8%;top:-54px;width:150px;height:150px;border:1px dashed #b6ccff;border-radius:50%;content:"";pointer-events:none}
.fp-guide-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px}
.fp-guide-kicker{margin:0 0 6px;color:#6e4ddd;font-size:11px;font-weight:900;letter-spacing:.1em}
.fp-guide-heading h2{margin:0;color:var(--ink);font-size:clamp(21px,3vw,28px);font-weight:900;letter-spacing:-.035em}
.fp-guide-heading>div:first-child>p:last-child{margin:5px 0 0;color:var(--muted);font-size:14px}
.fp-guide-trophy{display:grid;flex:none;width:68px;height:68px;place-content:center;justify-items:center;border:1px solid #ffdfa0;border-radius:22px;background:#fff6d9;font-size:28px;transform:rotate(5deg)}
.fp-guide-trophy span{color:#795600;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.fp-guide-progress{height:8px;overflow:hidden;margin:19px 0 13px;border-radius:99px;background:#e4eaf5}
.fp-guide-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3bbfa1,#67a7ff,#a178ed,#ffbf45);transition:width .3s ease}
.fp-guide-stops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.fp-guide-stop{display:flex;align-items:center;gap:9px;min-height:46px;padding:7px 11px;border:1px solid #d9e3f4;border-radius:15px;background:#ffffffb8;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.fp-guide-stop:hover{border-color:#8daeff;transform:translateY(-1px)}
.fp-guide-stop[aria-current="step"]{border-color:#6b82ff;background:#edf1ff;box-shadow:0 4px 14px #355dd01c}
.fp-guide-stop>span{display:grid;flex:none;width:28px;height:28px;place-items:center;border-radius:10px;background:#e8f2ff;color:#1556df;font-size:13px;font-weight:900}
.fp-guide-stop.is-complete>span{background:#dff6e9;color:#11734f}
.fp-guide-stop small{font-size:12px;font-weight:800}
.fp-guide-content{min-height:250px;overflow:hidden;border:1px solid #e0e7f4;border-radius:21px;background:#fff}
.fp-guide-panel{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);align-items:stretch;gap:clamp(18px,3vw,32px);padding:clamp(16px,2.5vw,24px)}
.fp-guide-panel[hidden]{display:none}
.fp-guide-art{position:relative;display:grid;min-height:220px;overflow:hidden;place-items:center;border-radius:19px;background:radial-gradient(circle at 27% 22%,#fff 0 5px,transparent 6px),radial-gradient(circle at 78% 70%,#fff8 0 8px,transparent 9px),linear-gradient(145deg,#d7efff,#e7e4ff 58%,#fff0cf)}
.fp-guide-art::before,.fp-guide-art::after{position:absolute;border:2px solid #ffffffb3;border-radius:50%;content:""}
.fp-guide-art::before{width:155px;height:155px;transform:rotate(-20deg) scaleY(.45)}
.fp-guide-art::after{width:120px;height:120px;transform:rotate(30deg) scaleY(.48)}
.fp-guide-art-2{background:radial-gradient(circle at 24% 25%,#fff 0 5px,transparent 6px),linear-gradient(145deg,#d9f8ee,#e7edff 60%,#fff0c9)}
.fp-guide-art-3{background:radial-gradient(circle at 77% 25%,#fff 0 6px,transparent 7px),linear-gradient(145deg,#e4e0ff,#ddf4ff 62%,#ffebd8)}
.fp-guide-art-4{background:radial-gradient(circle at 20% 77%,#fff 0 7px,transparent 8px),linear-gradient(145deg,#fff0c9,#ffe0e8 54%,#d9f5eb)}
.fp-guide-illustration{position:relative;z-index:1;width:100%;height:100%;max-width:248px;max-height:235px;object-fit:contain;filter:drop-shadow(0 12px 13px #253b6920)}
.fp-guide-art-label{position:absolute;z-index:2;bottom:13px;left:50%;padding:7px 12px;border:1px solid #fff;border-radius:99px;background:#fff;color:var(--ink);font-size:11px;font-weight:900;white-space:nowrap;box-shadow:0 6px 16px #1832561c;transform:translateX(-50%) rotate(-2deg)}
.fp-guide-art-spark{position:absolute;z-index:1;color:#ffae00;font-size:27px;font-weight:900}
.fp-guide-art-spark-one{top:20px;left:22px;transform:rotate(-12deg)}
.fp-guide-art-spark-two{right:24px;top:34px;color:#5e73ff;transform:rotate(18deg)}
.fp-guide-copy{align-self:center}
.fp-guide-step-label{margin:0 0 5px;color:#6174d9;font-size:10px;font-weight:900;letter-spacing:.1em}
.fp-guide-copy h3{margin:0;color:var(--ink);font-size:clamp(20px,2.5vw,25px);font-weight:900;letter-spacing:-.03em}
.fp-guide-intro{margin:7px 0 13px;color:var(--ink-soft);font-size:14px;line-height:1.6}
.fp-guide-example,.fp-guide-challenge{padding:12px 14px;border-radius:15px}
.fp-guide-example{border:1px solid #dce8ff;background:#f4f7ff}
.fp-guide-example strong{color:#184cbe;font-size:12px}
.fp-guide-example p{margin:4px 0 0;color:var(--ink);font-size:13px;line-height:1.5}
.fp-guide-detail{margin-top:9px;border:1px solid #e4ddff;border-radius:14px;background:#faf8ff}
.fp-guide-detail summary{padding:10px 12px;color:#6148c8;font-size:12px;font-weight:800;cursor:pointer}
.fp-guide-detail[open] summary{padding-bottom:2px}
.fp-guide-detail>div{padding:4px 12px 12px}
.fp-guide-detail strong{color:#48369c;font-size:12px}
.fp-guide-detail p{margin:4px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.55}
.fp-guide-challenge{display:flex;align-items:flex-start;gap:9px;margin-top:9px;background:#fff7dc}
.fp-guide-challenge>span{font-size:19px}
.fp-guide-challenge p{margin:0;color:#55471d;font-size:12px;line-height:1.5}
.fp-guide-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.fp-guide-count{margin:0;color:var(--muted);font-size:12px;font-weight:800}
.fp-guide-count span{padding:0 4px;color:#b0bacb}
.fp-guide-buttons{display:flex;flex-wrap:wrap;gap:8px}
.fp-guide-buttons .button{min-height:42px;padding:10px 14px;font-size:12px}
.fp-guide-understood{border:1px solid #f1cc68;background:#fff1bd;color:#604700}
.fp-guide-understood:hover{background:#ffe9a0}
.fp-guide-save-status{margin:11px 0 0;color:#286c53;font-size:12px;min-height:16px}
.fp-guide-footnote{margin:13px 0 0;padding:11px 13px;border-radius:13px;background:#edf8f5;color:#306453;font-size:12px;line-height:1.5}

.fp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:16px}
.fp-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.fp-card-head{display:flex;align-items:flex-start;gap:12px;width:100%}
.fp-card-head>div{flex:1;min-width:0}
.fp-card-head h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em}
.fp-card-head p{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.fp-icon{display:grid;flex:none;width:44px;height:44px;place-items:center;border-radius:14px;font-size:21px}
.fp-icon-blue{background:var(--blue-50)}.fp-icon-lilac{background:#efe9fd}.fp-icon-green{background:var(--green-50)}.fp-icon-yellow{background:var(--yellow-50)}
.fp-note{margin:0;color:var(--muted);font-size:14px}
.fp-sessions{display:grid;gap:10px;width:100%}
.fp-session{padding:14px 16px;border:1px solid var(--blue-100);border-left:4px solid var(--blue);border-radius:14px;background:var(--blue-50)}
.fp-session small{display:block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.fp-session strong{display:block;margin-top:4px;font-size:16px;line-height:1.4}
.fp-zoom{width:100%;min-height:52px}
.fp-details{width:100%;border-top:1px solid var(--line);padding-top:12px}
.fp-details summary{cursor:pointer;color:var(--blue);font-size:13px;font-weight:700}
.fp-details p{margin:8px 0 0;color:var(--muted);font-size:13px}
.fp-empty{display:grid;justify-items:start;gap:8px;width:100%;padding:18px;border:2px dashed var(--line-strong);border-radius:16px;background:#fbfcff}
.fp-empty strong{font-size:16px}
.fp-empty p{margin:0 0 6px;color:var(--muted);font-size:14px}
.fp-project .idea-status-tag{flex:none}
.fp-idea{width:100%;padding:16px;border-radius:16px;background:linear-gradient(135deg,#f5f1ff,#f3f7ff)}
.fp-idea h3{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em}
.fp-idea p{margin:6px 0 0;color:var(--ink-soft);font-size:14px}
.fp-comment{width:100%;margin:0;padding:12px 14px;border-left:4px solid var(--yellow);border-radius:0 12px 12px 0;background:var(--yellow-50);color:#4b4220;font-size:14px}
.fp-comment small{display:block;margin-bottom:2px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.fp-prompt{display:grid;gap:10px;width:100%}
.fp-prompt p{margin:0;font-size:14px}
.fp-prompt .button{justify-self:start}
.fp-bar{width:100%;height:10px;overflow:hidden;border-radius:999px;background:var(--green-50)}
.fp-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#3cc48a);transition:width .35s var(--ease)}
.fp-prep .check-grid{width:100%;grid-template-columns:1fr;gap:8px;margin:0}
.fp-prep .check-item{align-items:center;padding:11px 13px}
.fp-prep .check-item:has(input:checked){border-color:#b9e3c9;background:var(--green-50)}
.fp-prep .check-item:has(input:checked) span{color:#1c5e3f}
.fp-prep .check-item input{margin:0;accent-color:var(--green)}
.fp-prep #preparation-status{margin:0;min-height:18px}
.fp-missions .mission-list{width:100%;margin:0;gap:0}
.fp-missions .mission-item{position:relative;grid-template-columns:38px 1fr auto;gap:4px 12px;padding:10px 0;border:0;border-radius:0;background:transparent}
.fp-missions .mission-item:not(:last-child)::before{content:"";position:absolute;left:18px;top:46px;bottom:-8px;width:2px;background:var(--line)}
.fp-missions .mission-number{position:relative;z-index:1;width:38px;height:38px;border:2px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font-size:14px}
.fp-missions .mission-item.is-done .mission-number{border-color:var(--green);background:var(--green);color:#fff}
.fp-missions .mission-item.is-done::before{background:var(--green)}
.fp-missions .mission-item.is-current .mission-number{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 0 0 5px var(--blue-50)}
.fp-missions .mission-item.is-current h3{color:var(--blue)}
.fp-missions .mission-item h3{font-size:15px}
.fp-missions .mission-state{grid-column:3;grid-row:1;align-self:center;padding:4px 9px;border-radius:999px;background:var(--paper);font-size:10px}
.fp-missions .mission-item.is-current .mission-state{background:var(--blue-50);color:var(--blue)}
.fp-missions .mission-item.is-done .mission-state{background:var(--green-50);color:var(--green)}
.fp-missions .mission-item .text-link{grid-column:2;margin-top:2px;font-size:13px}
@media(max-width:860px){.fp-grid{grid-template-columns:1fr}.fp-hero{grid-template-columns:1fr}.fp-hero::after{right:24px}}
@media(max-width:680px){.fp-guide-panel{grid-template-columns:1fr}.fp-guide-art{min-height:170px}.fp-guide-illustration{max-width:210px;max-height:178px}.fp-guide-stops{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-guide-stop{min-height:42px}.fp-guide-controls{align-items:flex-start}.fp-guide-buttons{width:100%}.fp-guide-buttons .button{flex:1}.fp-guide-trophy{width:56px;height:56px;border-radius:18px;font-size:24px}}
@media(max-width:520px){.fp-hero-stats{gap:10px}.fp-stat{flex:1;padding:12px}.fp-ring{width:70px;height:70px}.fp-ring b{font-size:16px}.fp-hero-actions .button{flex:1 1 100%}.fp-pill{flex:1 1 100%}.fp-card{padding:18px}.fp-missions .mission-state{display:none}}
@media(prefers-reduced-motion:reduce){.fp-bar span,.fp-guide-progress span,.fp-guide-stop{transition:none}}
