.ib-layout { --ib-bg:#f6f8fc; --ib-panel:#ffffff; --ib-line:#dde7f3; --ib-ink:#152540; --ib-muted:#65758d; --ib-accent:#2f57ff; --ib-accent-soft:#eaf1ff; background:transparent; padding:24px 0 56px; }
#container_wr { width:1760px; max-width:calc(100% - 64px); margin:0 auto; padding:0; }
#container { float:none; width:100%; margin:0; min-height:0; }
#aside { display:none; }
.ib-wrap { width:100%; }
.ib-shell { display:grid; gap:22px; }
.ib-main { display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:22px; align-items:start; }
.ib-left { display:grid; gap:22px; min-width:0; }
.ib-sidebar { min-width:0; }
.ib-panel { background:var(--ib-panel); border:1px solid var(--ib-line); border-radius:26px; box-shadow:0 20px 45px rgba(130,150,180,0.10); }
.ib-hero { display:grid; grid-template-columns:minmax(0, 0.82fr) minmax(0, 1.18fr); gap:28px; padding:28px 32px; min-height:372px; align-items:center; overflow:hidden; background:
    radial-gradient(circle at 14% 30%, rgba(133,209,255,0.28), transparent 34%),
    radial-gradient(circle at 48% 18%, rgba(134,191,255,0.18), transparent 28%),
    linear-gradient(135deg,#f1fbff 0%,#eff6ff 38%,#ffffff 100%); }
.ib-hero-copy { position:relative; padding:8px 0 8px 12px; min-width:0; }
.ib-hero-copy:before,
.ib-hero-copy:after { content:""; position:absolute; border-radius:999px; border:1px solid rgba(116,177,255,0.22); pointer-events:none; }
.ib-hero-copy:before { width:320px; height:320px; top:-36px; left:-42px; }
.ib-hero-copy:after { width:460px; height:460px; top:-122px; left:120px; }
.ib-kicker { display:inline-flex; align-items:center; gap:10px; min-height:28px; padding:0 12px; border-radius:999px; background:rgba(255,255,255,0.78); color:#4160cc; font-size:11px; font-weight:800; letter-spacing:0; text-transform:uppercase; box-shadow:0 10px 24px rgba(95,129,199,0.10); }
.ib-kicker:before { content:""; width:8px; height:8px; border-radius:50%; background:#2f57ff; box-shadow:0 0 0 7px rgba(47,87,255,0.10); }
.ib-hero-copy h2 { margin:18px 0 16px; color:#14213f; font-size:38px; line-height:1.22; letter-spacing:0; word-break:keep-all; }
.ib-hero-copy h2 span { color:#1da6cf; }
.ib-hero-copy p { max-width:560px; margin:0; color:#52627c; font-size:15px; line-height:1.7; letter-spacing:0; word-break:keep-all; }
.ib-hero-actions { display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; }
.ib-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; height:46px; padding:0 18px; border-radius:10px; font-size:14px; font-weight:800; letter-spacing:0; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ib-btn:hover { text-decoration:none; transform:translateY(-2px); }
.ib-btn-primary { background:linear-gradient(135deg,#315cff,#2740c5); color:#fff; box-shadow:0 16px 30px rgba(49,92,255,0.20); }
.ib-btn-secondary { border:1px solid #c7d7f4; color:#2f4f90; background:#fff; }
.ib-btn-ghost { border:2px solid #8fd4df; color:#22a3b7; background:rgba(255,255,255,0.85); }
.ib-hero-media { justify-self:end; width:100%; max-width:760px; min-width:0; }
.ib-dashboard-image { display:block; width:100%; height:auto; aspect-ratio:760/410; object-fit:contain; }
.ib-hero-mock { position:relative; justify-self:end; width:100%; max-width:560px; min-height:318px; min-width:0; border-radius:20px; overflow:hidden; background:#fff; border:1px solid #dbe6f3; box-shadow:0 16px 36px rgba(91,118,159,0.12); }
.ib-mock-sidebar { position:absolute; inset:0 auto 0 0; width:124px; background:linear-gradient(180deg,#11284e 0%,#0f2140 100%); padding:20px 14px; color:#fff; }
.ib-mock-brand { display:flex; align-items:center; gap:10px; margin-bottom:22px; font-weight:800; letter-spacing:0; }
.ib-mock-brand span { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:8px; border:2px solid rgba(255,255,255,0.82); transform:rotate(45deg); }
.ib-mock-nav { display:grid; gap:10px; }
.ib-mock-nav li { display:flex; align-items:center; gap:8px; min-height:34px; padding:0 10px; border-radius:8px; color:rgba(238,245,255,0.9); font-size:12px; font-weight:700; background:rgba(255,255,255,0.04); }
.ib-mock-nav li:first-child { background:rgba(255,255,255,0.10); }
.ib-mock-main { margin-left:124px; padding:18px; }
.ib-mock-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; color:#172544; font-size:14px; font-weight:800; }
.ib-mock-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.ib-stat { min-height:72px; padding:12px 14px; border:1px solid #e7eef7; border-radius:12px; background:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,0.6); }
.ib-stat span { display:block; color:#7a8799; font-size:12px; font-weight:700; }
.ib-stat strong { display:block; margin-top:8px; color:#14213f; font-size:20px; letter-spacing:0; }
.ib-stat em { font-style:normal; color:#22b86a; }
.ib-chart { padding:14px; border:1px solid #e7eef7; border-radius:14px; background:linear-gradient(180deg,#fff 0%,#fbfdff 100%); }
.ib-chart-top { display:flex; align-items:center; justify-content:space-between; color:#5c6980; font-size:12px; font-weight:800; margin-bottom:16px; }
.ib-chart-top strong { color:#152540; font-size:15px; }
.ib-chart-line { position:relative; height:88px; border-radius:12px; background:
    linear-gradient(180deg,rgba(232,241,255,0.9) 0, rgba(232,241,255,0.9) 1px, transparent 1px) 0 0/100% 29px,
    linear-gradient(90deg,rgba(232,241,255,0.7) 0, rgba(232,241,255,0.7) 1px, transparent 1px) 0 0/68px 100%,
    linear-gradient(180deg,#f9fbff 0%,#f2f6ff 100%); overflow:hidden; }
.ib-chart-line:before { content:""; position:absolute; left:10px; right:10px; top:28px; bottom:18px; background:linear-gradient(180deg,rgba(85,144,255,0.22) 0%, rgba(85,144,255,0.03) 100%); clip-path:polygon(0% 35%,7% 25%,14% 44%,23% 31%,31% 52%,40% 38%,49% 47%,58% 33%,67% 55%,76% 40%,85% 49%,92% 30%,100% 41%,100% 100%,0 100%); }
.ib-chart-line:after { content:""; position:absolute; left:10px; right:10px; top:30px; bottom:20px; border-bottom:3px solid #4d8cff; clip-path:polygon(0% 35%,7% 25%,14% 44%,23% 31%,31% 52%,40% 38%,49% 47%,58% 33%,67% 55%,76% 40%,85% 49%,92% 30%,100% 41%); }
.ib-sidebar { display:grid; gap:18px; }
.ib-login-card,
.ib-status-card,
.ib-links-card { padding:24px; }
.ib-login-card h3,
.ib-status-card h3,
.ib-links-card h3,
.ib-section-head h3,
.ib-resources h3,
.ib-quick-start h3 { margin:0; color:#172544; font-size:16px; font-weight:900; letter-spacing:-0.03em; }
.ib-login-card { padding-bottom:18px; }
.ib-login-card .ol { margin:0; border:0; background:transparent; }
.ib-login-card #ol_be_cate { display:none; }
.ib-login-card .ol form { padding:0; }
.ib-login-card p { margin:0 0 16px; color:#5f6d82; font-size:14px; line-height:1.6; }
.ib-login-card #ol_before .ol_wr { margin-bottom:10px; }
.ib-login-card #ol_id,
.ib-login-card #ol_pw { height:48px; border:1px solid #d8e4f3; border-radius:12px; background:#fbfdff; font-size:14px; }
.ib-login-card #ol_submit { height:48px; border:0; border-radius:12px; background:linear-gradient(135deg,#315cff,#2740c5); color:#fff; font-size:20px; font-weight:900; box-shadow:0 14px 28px rgba(49,92,255,0.18); }
.ib-login-card #ol_svc { float:none; }
.ib-login-card #ol_svc a { display:block; border:0; color:#7b8799; padding:0; }
.ib-login-card #ol_auto { display:none; }
.ib-login-card .ol_auto_wr { display:flex; justify-content:center; margin-top:14px; padding-top:14px; border-top:1px solid #e9eef6; }
.ib-login-card .join-inline { display:block; color:#7b8799; font-size:14px; }
.ib-login-card .join-inline a { color:#6479a7; font-weight:700; }
.ib-login-card #ol_after { padding:0; }
.ib-login-card #ol_after_hd { height:auto; padding:0 0 18px 76px; }
.ib-login-card #ol_after_hd .profile_img { top:0; left:0; }
.ib-login-card #ol_after_hd .profile_img img { width:58px; height:58px; border:1px solid #d9e3ef; }
.ib-login-card #ol_after_hd strong { font-size:18px; color:#182746; margin:2px 0 10px; }
.ib-login-card #ol_after_info { border-radius:10px; border:1px solid #ccd8e9; padding:6px 10px; color:#2f57ff; }
.ib-login-card #ol_after_private li { border-top:1px solid #edf2f8; }
.ib-login-card #ol_after_private li:first-child { border-top:0; }
.ib-login-card #ol_after_private a { padding:14px 0; color:#4f5d74; }
.ib-login-card #ol_after_private a strong { color:#2f57ff; font-weight:900; }
.ib-login-card footer { margin-top:8px; padding-top:14px; border-top:1px solid #edf2f8; }
.ib-login-card #ol_after_logout { padding:0; border:0; color:#7b8799; }
.ib-status-card ul { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:12px; }
.ib-status-card li { display:flex; justify-content:space-between; gap:16px; color:#4f5d74; font-size:15px; font-weight:700; }
.ib-status-card li strong { color:#2f57ff; font-weight:900; }
.ib-links-card ul { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:16px; }
.ib-links-card a { display:flex; align-items:center; gap:12px; color:#516077; font-size:15px; font-weight:700; }
.ib-links-card a i { width:16px; color:#6072ff; }
.ib-side-menu-card { padding:24px; }
.ib-side-menu-card h3 { margin:0 0 18px; color:#172544; font-size:19px; line-height:1.25; font-weight:900; letter-spacing:0; }
.ib-side-menu-card .ib-side-cta { display:flex; align-items:center; justify-content:center; height:38px; margin-top:18px; border-radius:8px; border:1px solid #d8e4f6; background:#edf4ff; color:#2f57ff; font-weight:900; }
.ib-side-menu-card .ib-side-cta i { width:auto; margin-left:6px; color:inherit; }
.ib-side-menu-card--green .ib-side-cta { border-color:#cfeade; background:#ecf8f5; color:#20977d; }
.ib-quick-start { padding:26px; }
.ib-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.ib-section-head p,
.ib-resources > p { margin:10px 0 0; color:#66768f; font-size:15px; }
.ib-section-head a { color:#5d74ff; font-size:14px; font-weight:800; }
.ib-start-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ib-start-card { display:grid; grid-template-columns:54px minmax(0,1fr); gap:18px; min-height:150px; padding:22px; border-radius:12px; border:1px solid #dfe8f5; background:linear-gradient(180deg,#fff 0%,#fbfdff 100%); box-shadow:0 12px 24px rgba(134,156,192,0.08); }
.ib-start-card > i { align-self:start; justify-self:center; margin-top:4px; font-size:42px; }
.ib-start-card h4 { margin:0 0 8px; color:#20314f; font-size:18px; line-height:1.35; font-weight:900; letter-spacing:0; }
.ib-start-card p { margin:0; color:#697891; font-size:14px; line-height:1.6; min-height:48px; word-break:keep-all; }
.ib-start-card a { display:inline-flex; align-items:center; gap:10px; margin-top:16px; color:#3558ff; font-size:15px; font-weight:800; }
.ib-start-card--blue i { color:#2b8cf0; }
.ib-start-card--green i { color:#20bf8f; }
.ib-start-card--orange i { color:#ff9a25; }
.ib-start-card--violet i { color:#8e68ff; }
.ib-board-grid { display:grid; grid-template-columns:minmax(360px,0.9fr) minmax(660px,1.7fr); gap:18px; }
.ib-board-card { padding:22px 22px 14px; }
.ib-board-card--gallery { padding:22px; }
.ib-board-embed .lat { margin:0; background:transparent; }
.ib-board-embed .lat_title,
.ib-board-embed .lt_more { display:none; }
.ib-board-embed .lat ul { padding:0; }
.ib-board-embed .lat li { margin:0; padding:12px 0; border-bottom:1px solid #edf2f8; }
.ib-board-embed .lat li:last-child { border-bottom:0; }
.ib-board-embed .lat li a { display:block; color:#21314f; font-size:15px; font-weight:800; line-height:1.55; }
.ib-board-embed .lat li a:hover { color:#2f57ff; }
.ib-board-embed .lt_info { display:flex; align-items:center; justify-content:space-between; padding:8px 0 0; color:#7f8a9c; font-size:12px; }
.ib-board-embed .lt_info .lt_nick { max-width:58%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ib-board-embed .empty_li { min-height:194px; line-height:194px; color:#97a4b8; }
.ib-board-card--questions .ib-board-embed .lat li { display:grid; grid-template-columns:24px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:13px 0; }
.ib-board-card--questions .ib-board-embed .lat li:before { content:"Q"; display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:#ebf9f1; color:#1eae72; font-size:13px; font-weight:900; }
.ib-board-card--questions .ib-board-embed .lat li a { min-width:0; font-size:14px; line-height:1.45; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ib-board-card--questions .ib-board-embed .lt_info { display:contents; }
.ib-board-card--questions .ib-board-embed .lt_info .lt_nick { display:none; }
.ib-board-card--questions .ib-board-embed .lt_info .lt_date { color:#8995a8; font-size:12px; font-weight:700; }
.ib-board-card--questions .ib-board-embed .lt_info .new_icon { width:auto; height:auto; margin:0; background:none; color:#ff4f71; font-size:12px; font-weight:900; line-height:1; text-indent:0; overflow:visible; }
.ib-board-gallery .pic_lt { margin:0; background:transparent; }
.ib-board-gallery .lat_title,
.ib-board-gallery .lt_more { display:none; }
.ib-board-gallery .pic_lt ul { margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ib-board-gallery .pic_lt li { float:none; width:auto; padding:0; }
.ib-board-gallery .pic_lt li .lt_img { display:block; margin:0 0 12px; border-radius:12px; overflow:hidden; background:#eef3fb; aspect-ratio:1.78/1; box-shadow:0 10px 20px rgba(108,126,165,0.1); }
.ib-board-gallery .pic_lt li .lt_img img { width:100%; height:100%; object-fit:cover; }
.ib-board-gallery .pic_lt li > a:last-of-type { display:block; color:#243552; font-size:15px; line-height:1.45; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ib-board-gallery .pic_lt li > a:last-of-type:hover { color:#2f57ff; }
.ib-board-gallery .lt_info { display:flex; align-items:center; gap:6px; justify-content:flex-start; flex-wrap:wrap; padding:8px 0 0; color:#8895a8; font-size:12px; }
.ib-board-gallery .lt_info .lt_nick { max-width:none; }
.ib-board-gallery .lt_info .lt_date:before { content:"·"; margin-right:6px; color:#b4bfd0; }
.ib-board-gallery .lt_info .new_icon { display:none; }
.ib-board-gallery .pic_lt .empty_li { grid-column:1 / -1; min-height:168px; line-height:168px; }
.ib-resources { padding:30px; }
.ib-resource-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.ib-resource-head h3 { margin:0 0 10px; }
.ib-resource-head p { margin:0; color:#66768f; font-size:15px; line-height:1.55; }
.ib-resource-all { display:inline-flex; align-items:center; gap:10px; color:#2f57ff; font-size:15px; font-weight:900; white-space:nowrap; }
.ib-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ib-extra-grid { display:grid; grid-template-columns:1.55fr 2.45fr 1.4fr; gap:18px; margin-top:14px; }
.ib-extra-card { padding:22px 22px 18px; border-radius:12px; }
.ib-extra-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.ib-extra-head h3 { margin:0; color:#1b2844; font-size:17px; font-weight:900; letter-spacing:0; }
.ib-extra-head a { color:#5c74ff; font-size:13px; font-weight:800; }
.ib-highlight-card { position:relative; min-height:184px; overflow:hidden; padding:26px 24px 24px; border-color:#0b1c3b; background:
    radial-gradient(circle at 82% 72%, rgba(83,111,255,.38), transparent 24%),
    linear-gradient(135deg,#061a3c 0%,#071f49 54%,#0a2c65 100%);
    box-shadow:0 18px 36px rgba(8,27,63,.24);
}
.ib-highlight-card:after { content:""; position:absolute; right:8px; bottom:0; display:inline-block; width:140px; height:140px; background:url("../img/naru_regi.png") no-repeat 50% 50%/100%; }
/* .ib-highlight-card:before { content:"</>"; position:absolute; right:48px; bottom:48px; z-index:1; color:#fff; font-size:22px; font-weight:900; } */
.ib-highlight-card h3 { position:relative; z-index:2; max-width:230px; margin:0 0 13px; color:#fff; font-size:18px; line-height:1.35; font-weight:900; letter-spacing:0; }
.ib-highlight-card p { position:relative; z-index:2; max-width:230px; margin:0 0 22px; color:#c9d7f5; font-size:14px; line-height:1.65; }
.ib-highlight-btn { position:relative; z-index:2; display:inline-flex; align-items:center; justify-content:center; gap:10px; height:42px; padding:0 20px; border-radius:8px; background:linear-gradient(135deg,#2f66ff,#2846de); color:#fff; font-size:15px; font-weight:900; box-shadow:0 12px 24px rgba(47,102,255,.28); }
.ib-highlight-btn:hover { color:#fff; text-decoration:none; }
@media (max-width:1280px) {
    #container_wr { width:auto; max-width:none; padding:0 24px; }
    .ib-main { grid-template-columns:minmax(0,1fr); }
    .ib-hero { grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr); }
    .ib-hero-copy h2 { font-size:34px; }
    .ib-hero-media { max-width:680px; }
    .ib-extra-grid { grid-template-columns:1.35fr 2.1fr 1.25fr; }
    .ib-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ib-sidebar .ib-login-card { grid-column:1 / -1; }
}
@media (max-width:1600px) {
    .ib-main { display:block !important; }
    .ib-left { width:100%; }
    .ib-sidebar { width:100%; margin-top:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ib-sidebar .ib-login-card { display:none; }
}
@media (max-width:1100px) {
    .ib-main { grid-template-columns:1fr; }
    .ib-hero { grid-template-columns:minmax(0,1fr); }
    .ib-start-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ib-board-grid { grid-template-columns:1fr; }
    .ib-resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ib-extra-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
    #container_wr { padding:0 14px; }
    .ib-layout { padding-top:16px; }
    .ib-hero { padding:18px; }
    .ib-hero-copy { min-height:0; padding:0; }
    .ib-hero-copy h2 { font-size:38px; }
    .ib-hero-copy p { font-size:16px; }
    .ib-hero-actions { margin-top:20px; }
    .ib-btn { width:100%; }
    .ib-hero-media { justify-self:stretch; max-width:none; }
    .ib-hero-mock { min-height:0; }
    .ib-mock-sidebar { position:relative; width:auto; }
    .ib-mock-main { margin-left:0; }
    .ib-mock-grid,
    .ib-start-grid,
    .ib-board-grid,
    .ib-resource-grid,
    .ib-extra-grid { grid-template-columns:1fr; }
}
