
@font-face{font-family:'Roundex';src:url('https://ocalt.com/font/Roundex.otf') format('opentype');font-display:swap;}
@font-face{font-family:'Rubik';font-weight:300;src:url('https://ocalt.com/font/Rubik-Light.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'Rubik';font-weight:400;src:url('https://ocalt.com/font/Rubik-Regular.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'Rubik';font-weight:500;src:url('https://ocalt.com/font/Rubik-Medium.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'Rubik';font-weight:700;src:url('https://ocalt.com/font/Rubik-Bold.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'Rubik';font-weight:900;src:url('https://ocalt.com/font/Rubik-Black.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'AROneSans';font-weight:400;src:url('https://ocalt.com/font/AROneSans-Regular.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'AROneSans';font-weight:500;src:url('https://ocalt.com/font/AROneSans-Medium.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'AROneSans';font-weight:600;src:url('https://ocalt.com/font/AROneSans-SemiBold.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'AROneSans';font-weight:700;src:url('https://ocalt.com/font/AROneSans-Bold.ttf') format('truetype');font-display:swap;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Rubik',sans-serif;font-weight:400;background:#fff;color:#111;font-size:15px;line-height:1.7;}
.topbar{position:fixed;top:0;left:0;right:0;height:48px;background:#1a1f2e;display:flex;align-items:center;padding:0 16px;z-index:1000;border-bottom:2px solid #04AA6D;gap:12px;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;flex-shrink:0;}
.menu-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .2s;}
.topbar-logo{font-family:'Roundex',sans-serif;font-size:20px;color:#fff;text-decoration:none;letter-spacing:0.3px;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.topbar-logo img{height:26px;width:auto;display:block;}
.sidebar-overlay{display:none;position:fixed;top:48px;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);z-index:850;}
.sidebar{position:fixed;top:48px;left:0;width:258px;height:calc(100vh - 48px);background:#282A35;overflow-y:auto;overflow-x:hidden;z-index:900;padding-bottom:60px;transition:transform .25s ease;}
.sidebar::-webkit-scrollbar{width:4px;}
.sidebar::-webkit-scrollbar-track{background:#1e2030;}
.sidebar::-webkit-scrollbar-thumb{background:#444;border-radius:2px;}
.sidebar-section-header{font-family:'AROneSans',sans-serif;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#4e5568;padding:20px 20px 5px 20px;user-select:none;}
.sidebar a{display:block;padding:7px 16px 7px 24px;color:#b8bcc8;text-decoration:none;font-size:13.5px;font-family:'Rubik',sans-serif;font-weight:400;border-left:3px solid transparent;transition:background .12s,color .12s,border-color .12s;line-height:1.45;}
.sidebar a:hover{background:rgba(255,255,255,.05);color:#fff;border-left-color:rgba(4,170,109,.5);}
.sidebar a.active{background:rgba(4,170,109,.1);color:#04AA6D;border-left-color:#04AA6D;font-weight:500;}
.sidebar-divider{height:1px;background:rgba(255,255,255,.05);margin:10px 0;}
.main{margin-left:258px;margin-top:48px;padding:40px 44px 80px 44px;max-width:980px;min-height:calc(100vh - 48px);}
.main h1{font-family:'Rubik',sans-serif;font-weight:700;font-size:30px;color:#0a0a0a;margin-bottom:14px;line-height:1.25;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.main h2{font-family:'Rubik',sans-serif;font-weight:700;font-size:20px;color:#1a1a1a;margin-top:36px;margin-bottom:10px;border-bottom:2px solid #04AA6D;padding-bottom:6px;}
.main h3{font-family:'Rubik',sans-serif;font-weight:500;font-size:17px;color:#1a1a1a;margin-top:28px;margin-bottom:8px;}
.main p{margin-bottom:14px;color:#333;font-size:15px;}
.main ul,.main ol{margin:0 0 14px 24px;color:#333;}
.main li{margin-bottom:5px;}
.main a{color:#04AA6D;text-decoration:none;}
.main a:hover{text-decoration:underline;}
pre{background:#1e2030;color:#f8f8f2;padding:18px 20px;border-radius:6px;overflow-x:auto;margin:14px 0 20px 0;font-family:'Consolas','Courier New',monospace;font-size:13.5px;line-height:1.65;}
code{font-family:'Consolas','Courier New',monospace;background:#f0f0f0;color:#c0392b;padding:2px 6px;border-radius:3px;font-size:13px;}
pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit;}
.example-box{border:1px solid #d0d0d0;border-radius:5px;margin:20px 0;overflow:hidden;}
.example-box-header{background:#e7f4ee;padding:8px 16px;font-weight:700;font-size:12px;color:#2e7d5e;border-bottom:1px solid #c8e6d8;font-family:'AROneSans',sans-serif;letter-spacing:.4px;text-transform:uppercase;}
.example-box-body{padding:16px;background:#fff;}
.example-box-body pre{margin:0;border-radius:4px;}
.note-box{background:#fffbea;border-left:4px solid #f0c14b;padding:12px 16px;margin:16px 0;font-size:14px;border-radius:0 4px 4px 0;color:#555;}
.info-box{background:#e8f4fd;border-left:4px solid #2196F3;padding:12px 16px;margin:16px 0;font-size:14px;border-radius:0 4px 4px 0;color:#555;}
.page-nav{display:flex;justify-content:space-between;margin-top:60px;padding-top:24px;border-top:1px solid #e8e8e8;gap:12px;}
.page-nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:#04AA6D;color:#fff !important;border-radius:4px;text-decoration:none !important;font-weight:500;font-size:14px;font-family:'AROneSans',sans-serif;transition:background .15s;}
.page-nav a:hover{background:#038a57;}
.page-nav a.prev{background:#3d4055;}
.page-nav a.prev:hover{background:#2a2d3e;}
.page-nav .spacer{flex:1;}
.page-intro{font-size:16px;color:#555;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid #f0f0f0;line-height:1.75;}
.wip{display:inline-block;background:#f0c14b;color:#5a4000;font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;font-family:'AROneSans',sans-serif;letter-spacing:.6px;text-transform:uppercase;vertical-align:middle;}
@media(max-width:768px){
  .menu-toggle{display:flex;}
  .sidebar{transform:translateX(-100%);}
  .sidebar.sidebar-open{transform:translateX(0);}
  .sidebar-overlay.active{display:block;}
  .main{margin-left:0;padding:20px 16px 60px;}
  .main h1{font-size:22px;}
}

/* SIDEBAR CONSOLE LINK */
.sidebar-console-wrap{padding:14px 16px 20px;}
.sidebar-console-link{
    display:block;
    background:#04AA6D;
    color:#fff !important;
    text-decoration:none !important;
    padding:10px 16px;
    border-radius:5px;
    font-family:'AROneSans',sans-serif;
    font-weight:700;
    font-size:13px;
    text-align:center;
    letter-spacing:0.3px;
    border-left:none !important;
    transition:background .15s !important;
}
.sidebar-console-link:hover{background:#038a57 !important;color:#fff !important;border-left-color:transparent !important;}

/* TRY IT BUTTON */
.example-box-footer{
    padding:8px 16px 10px;
    border-top:1px solid #e0e0e0;
    background:#f9f9f9;
    display:flex;
    justify-content:flex-end;
}
.try-btn{
    background:#04AA6D;
    color:#fff;
    border:none;
    padding:6px 18px;
    border-radius:4px;
    font-size:12px;
    font-weight:700;
    font-family:'AROneSans',sans-serif;
    cursor:pointer;
    letter-spacing:0.3px;
    transition:background .15s;
}
.try-btn:hover{background:#038a57;}

/* CONSOLE PAGE */
.console-wrap{
    display:flex;
    flex-direction:row;
    height:calc(100vh - 48px);
    margin-top:48px;
}
.console-editor-panel{
    width:50%;
    display:flex;
    flex-direction:column;
    border-right:2px solid #1a1f2e;
    background:#1e2030;
}
.console-toolbar{
    display:flex;
    align-items:center;
    gap:16px;
    padding:10px 16px;
    background:#13161f;
    border-bottom:1px solid #2a2f42;
    flex-shrink:0;
}
.html-toggle{
    display:flex;
    align-items:center;
    gap:7px;
    color:#b8bcc8;
    font-family:'AROneSans',sans-serif;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    user-select:none;
}
.html-toggle input{accent-color:#04AA6D;width:15px;height:15px;cursor:pointer;}
.run-btn{
    background:#04AA6D;
    color:#fff;
    border:none;
    padding:7px 20px;
    border-radius:4px;
    font-family:'AROneSans',sans-serif;
    font-weight:700;
    font-size:13px;
    cursor:pointer;
    transition:background .15s;
    letter-spacing:0.3px;
}
.run-btn:hover{background:#038a57;}
.run-btn:disabled{background:#3d4055;cursor:not-allowed;}
.exec-time{
    font-family:'Consolas','Courier New',monospace;
    font-size:12px;
    color:#5a6272;
    margin-left:auto;
}
.console-editor{
    flex:1;
    width:100%;
    background:#1e2030;
    color:#f8f8f2;
    border:none;
    outline:none;
    padding:20px;
    font-family:'Consolas','Courier New',monospace;
    font-size:14px;
    line-height:1.65;
    resize:none;
    tab-size:4;
}
.console-editor::placeholder{color:#3d4055;}
.console-output-panel{
    width:50%;
    display:flex;
    flex-direction:column;
    background:#fff;
}
.console-output-header{
    padding:10px 16px;
    background:#13161f;
    border-bottom:1px solid #2a2f42;
    font-family:'AROneSans',sans-serif;
    font-weight:700;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1.2px;
    color:#5a6272;
    flex-shrink:0;
}
.console-output-raw{
    flex:1;
    padding:20px;
    font-family:'Consolas','Courier New',monospace;
    font-size:13.5px;
    line-height:1.65;
    color:#f8f8f2;
    background:#1e2030;
    overflow:auto;
    white-space:pre-wrap;
    word-break:break-all;
}
.console-output-html{
    flex:1;
    padding:20px;
    overflow:auto;
    background:#fff;
    color:#111;
    font-family:'Rubik',sans-serif;
    font-size:14px;
    line-height:1.7;
}
.console-empty{
    color:#3d4055;
    font-family:'Consolas','Courier New',monospace;
    font-size:13px;
    padding:20px;
}

@media(max-width:768px){
    .console-wrap{flex-direction:column;height:auto;}
    .console-editor-panel{width:100%;height:50vh;border-right:none;border-bottom:2px solid #1a1f2e;}
    .console-output-panel{width:100%;height:50vh;}
}
