:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#233445;background:#f4f6f8;font-synthesis:none;font-size:14px}.enrollment-panel{margin-bottom:24px}.enrollment-content{padding:18px 23px}.enrollment-actions{display:flex;align-items:center;gap:16px;margin:20px 0 12px}.enrollment-actions strong{flex:1;font-size:12px}.enrollment-notice{display:flex;align-items:center;gap:8px;color:#22877b;font-size:12px;margin:12px 0}.enrollment-content input[type=checkbox]{width:16px;height:16px;accent-color:#20877b}.setup-warning{border-left:3px solid #cbac64;padding-left:12px;color:#97804c}.route-diagnostics{padding:16px 0;border-top:1px solid #e9edf1;margin-top:18px}.route-diagnostics summary{cursor:pointer;font-weight:600;color:#365361}.route-diagnostics form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px}.route-diagnostics label{display:grid;gap:6px;min-width:120px;flex:1}.route-diagnostics label:first-child{flex:2}.route-diagnostics .hint{margin-top:10px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,input,textarea,select{outline-offset:3px}button{transition:background .15s}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-.8px;line-height:1.4}h2{font-size:17px;line-height:1.6}h3{font-size:14px}p{line-height:1.8;color:#7c8997}code,pre,.mono{font-family:SFMono-Regular,Consolas,monospace}.console{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:#102b35;color:#b3c5cc;display:flex;flex-direction:column;padding:30px 20px;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:11px;color:#f2f7f8;font-weight:650;font-size:18px;margin-bottom:52px}.brand small{display:block;font-size:9px;letter-spacing:1.6px;color:#829fa9;margin-top:5px}.brand-mark{display:flex;align-items:center;justify-content:center;background:#1f8d82;width:37px;height:37px;border-radius:11px;color:#f3fffc}.nav-label{font-size:11px;letter-spacing:1.8px;color:#6c8d98;margin:0 12px 14px}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:0;color:#a5bbc4;padding:14px 13px;border-radius:7px}nav button.active{background:#23454e;color:#f3fffd}nav button span{margin-left:auto;color:#a8d9d0;background:#315963;padding:1px 7px;border-radius:4px;font-size:11px}.sidebar-note{margin-top:60px;border:1px solid #2a4751;border-radius:9px;padding:19px 16px;color:#7daaa8}.sidebar-note strong{display:block;color:#c1d7d8;font-size:12px;margin:12px 0 8px}.sidebar-note p{color:#78959e;font-size:11px;line-height:1.9}.sidebar-bottom{margin-top:auto;padding-top:40px;font-size:11px;display:grid;gap:20px}.sidebar-bottom span{display:flex;align-items:center;gap:8px}.sidebar-bottom button{border:0;background:transparent;color:#9bb5be;display:flex;gap:9px;align-items:center}.workspace{margin-left:232px;flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid #e4e9ed;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 38px;font-size:12px;color:#788693}.topbar>div{display:flex;gap:18px;align-items:center}.slash{margin:0 14px;color:#c3cbd0}.environment{background:#f2f6f6;color:#5d7a79;font-size:11px;padding:5px 9px;border-radius:4px}select{border:1px solid #dfe6ea;border-radius:6px;background:#fff;padding:8px 10px;color:#425968;max-width:280px}main{max-width:1550px;padding:36px 38px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:29px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#6a9d99;display:block;margin-bottom:10px}.page-heading p{font-size:12px;margin-top:8px}.heading-actions{display:flex;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dce4e8;border-radius:6px;padding:10px 13px;background:#fff;color:#425766;font-size:12px;font-weight:550;white-space:nowrap}.button:hover{background:#f2f7f7}.button.primary{background:#20877b;color:#fff;border-color:#20877b}.button.primary:hover{background:#176e64}.icon-button{border:1px solid #e0e7e9;border-radius:6px;padding:9px;display:inline-flex;align-items:center;background:#fff;color:#6e818d}.text-button{border:0;background:none;color:#228c80;font-size:11px;padding:6px 0}.danger{color:#bb5f60!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.stat{border:1px solid #e3e8ec;border-radius:9px;background:#fff;padding:20px 22px}.stat>div{display:flex;justify-content:space-between;color:#84939e;font-size:12px}.stat>div svg{color:#95b2b1}.stat>strong{display:block;font-size:31px;letter-spacing:-1px;font-weight:600;margin:14px 0 8px;color:#203a44}.stat>small{font-size:10px;color:#98a3ae}.content-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(440px,1.25fr);gap:22px;align-items:start}.panel{background:#fff;border:1px solid #e2e8ec;border-radius:9px;overflow:hidden}.panel-heading{padding:21px 23px;border-bottom:1px solid #edf0f3;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading p{font-size:11px;margin-top:4px}.tag{font-size:10px;border:1px solid #e4ebee;padding:5px 8px;white-space:nowrap;border-radius:4px;color:#84939e;display:flex;align-items:center;gap:5px}.device-list{padding:10px}.device{display:flex;align-items:center;gap:13px;width:100%;padding:17px 12px;border:1px solid transparent;background:#fff;text-align:left;border-radius:7px;margin-bottom:6px}.device:hover{background:#f7faf9}.device.selected{border-color:#cfe4df;background:#f2f9f7}.device-icon{display:flex;justify-content:center;align-items:center;width:44px;height:44px;flex-shrink:0;border-radius:9px;background:#e7f1ef;color:#548c83}.device-main{min-width:0;display:grid;gap:8px}.device-main strong{font-size:12px;color:#294c53}.device-main small{display:flex;align-items:center;gap:4px;font-family:monospace;color:#6c848a;font-size:11px}.device-main>span{font-size:9px;color:#91a1a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.device-aside{display:grid;gap:8px;justify-items:end;margin-left:auto}.device-aside code{font-size:10px;color:#809494;white-space:nowrap}.device-aside>svg{display:none}.badge{font-size:10px;border-radius:4px;padding:3px 7px;display:inline-flex;width:max-content;white-space:nowrap}.badge.online{background:#e9f5ef;color:#329279}.badge.offline{background:#f0f2f4;color:#8a96a1}.device-detail{border:1px solid #e2e8ec;background:#fff;border-radius:9px;margin-bottom:22px;padding:23px;position:relative}.device-detail>.badge{position:absolute;right:23px;top:29px}.device-detail h2{font-size:21px}.device-detail dl{margin:22px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.device-detail dl>div:last-child{grid-column:1/-1}.device-detail dt{color:#94a1ab;font-size:10px;margin-bottom:7px}.device-detail dd{margin:0;font-size:14px;color:#37505b}.device-detail .aid{letter-spacing:3px;font-weight:600}.device-detail .mono{font-size:10px;color:#83969f;word-break:break-all}.tabs{display:flex;border-bottom:1px solid #e6ecef;padding:0 20px;gap:22px}.tabs button{background:none;border:0;display:flex;align-items:center;gap:6px;font-size:11px;color:#8a98a3;padding:17px 0 14px;position:relative}.tabs button.active{color:#278477;font-weight:600}.tabs button.active:after{content:"";height:2px;background:#278477;position:absolute;bottom:0;left:0;right:0}.route-toolbar{padding:14px 22px;display:flex;gap:10px;align-items:center;background:#fcfdfd}.route-toolbar select{flex:1;min-width:0;font-size:11px}.route-toolbar .text-button{font-size:10px}.tab-body{padding:22px}.endpoint{background:#f6f8fa;border:1px solid #e5ebee;border-radius:6px;padding:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.endpoint>span{font-size:10px;color:#8999a4;width:100%}.endpoint code{font-size:10px;word-break:break-all;flex:1;color:#45616f}.endpoint button{padding:0;background:none;border:0;color:#7d939f}.info-row{display:flex;justify-content:space-between;font-size:10px;color:#8a9aa5;margin:14px 0 18px;gap:12px}.info-row strong{color:#5e8581;letter-spacing:1.5px;margin-left:6px}details{font-size:11px;color:#6f8b92}summary{cursor:pointer}pre{background:#122d38;color:#c8e5de;padding:17px;border-radius:6px;line-height:1.8;font-size:11px;overflow:auto;margin-top:12px}.hint{font-size:11px;color:#8799a3;line-height:1.9;margin:13px 0}.credentials-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 14px}.credentials-heading h3{font-size:12px}.credentials-heading button{font-size:10px;padding:8px 10px}.credential{border-bottom:1px solid #edf1f3;display:flex;align-items:center;gap:9px;padding:13px 0}.credential>div{flex:1;min-width:0}.credential strong{display:block;font-family:monospace;font-size:9px;color:#57737e;overflow:hidden;text-overflow:ellipsis}.credential small{font-size:9px;color:#98a7af;display:block;margin-top:7px}.credential .icon-button{border:0;padding:5px}.policy{padding-top:18px;margin-top:18px;border-top:1px dashed #e1e9ec;display:grid;gap:9px}.policy strong{font-size:10px;color:#6b828b}.policy span{font-family:monospace;font-size:9px;line-height:1.8;color:#82969f;word-break:break-all}.policy small{font-size:9px;color:#a0aeb5}.empty{padding:44px 22px;text-align:center;color:#91a3ac}.empty>svg{color:#a0b9bd;margin-bottom:13px}.empty h3{font-size:13px;margin-bottom:8px;color:#5c7780}.empty p{font-size:11px}.getting-started{padding:32px}.getting-started h2{font-size:24px;margin:16px 0}.getting-started ol{padding-left:20px;line-height:2.8;color:#7d929c;font-size:12px}.traffic-panel{margin-top:24px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{background:#fafcfd;color:#94a2ab;font-size:10px;font-weight:500;text-align:left;padding:13px 20px}td{border-top:1px solid #edf1f3;padding:15px 20px;color:#7c929d}.empty-cell{text-align:center;padding:40px;font-size:11px}.protocol-tag{border:1px solid #dfe9ea;border-radius:3px;padding:3px 5px;font-size:9px;color:#658a8a}.result{display:flex;align-items:center;gap:4px;font-size:10px}.result.success{color:#4d9986}.result.failure{color:#bb7b70}.live-connections{padding:6px 22px}.live-connections>div{display:flex;align-items:center;gap:15px;font-size:10px;border-bottom:1px solid #edf0f1;padding:12px 0}.live-connections button{margin-left:auto}.live-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#50b89c}.page-footer{display:flex;justify-content:space-between;padding:28px 0 0;color:#9cabaf;font-size:10px;gap:10px}.page-footer span{display:flex;gap:7px;align-items:center}.alert{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 16px;padding:12px 16px;border:1px solid #efd3ce;border-radius:6px;background:#fff4f1;color:#ac6a5a;font-size:12px;word-break:break-word}.modal-backdrop{position:fixed;inset:0;background:#102b3566;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;box-shadow:0 20px 100px #122d3833;position:relative;border-radius:12px;padding:33px;width:480px;max-width:100%;max-height:90vh;overflow:auto}.modal h2{font-size:23px;margin-bottom:10px}.modal p{font-size:12px;margin-bottom:20px}.modal-close{position:absolute;right:16px;top:16px;background:none;border:0;color:#9badb5;padding:4px}.modal-close svg{width:18px}label{display:grid;gap:9px;font-size:11px;color:#66808d;margin:17px 0}input,textarea{border:1px solid #dce5e9;border-radius:6px;padding:12px;color:#3a5664;background:#fff;width:100%;font-size:12px}textarea{resize:vertical;line-height:1.8}label select{max-width:100%}.modal>.button{margin-top:9px;width:100%}.modal label code{font-size:11px;word-break:break-all;padding:10px;background:#f5f8f9;border-radius:5px}.route-form{background:#f8fbfa;padding:8px 23px 20px;border-bottom:1px solid #e3ece9}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.filters{display:flex;margin-bottom:10px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-intro{background:#102f38;padding:12vh 10vw;color:#f0f7f6;display:flex;flex-direction:column;justify-content:center}.login-intro>.brand-mark{margin-bottom:60px;width:48px;height:48px;border-radius:13px}.login-intro .eyebrow{color:#72a99f;font-size:9px}.login-intro h1{font-size:58px;line-height:1.3;letter-spacing:-2px;margin:20px 0}.login-intro p{font-size:13px;color:#86a4ac;max-width:270px}.login-points{display:flex;gap:20px;margin-top:50px;font-size:10px;color:#91b7b5}.login-points span{display:flex;gap:7px;align-items:center}.login-card{align-self:center;justify-self:center;width:360px;max-width:85%;padding:40px 0}.login-card h2{font-size:29px;margin:15px 0 10px}.login-card p{font-size:12px;margin-bottom:35px}.login-card .button{width:100%;padding:13px;margin-top:8px}.login-card>small{display:block;font-size:10px;color:#9ba9b2;line-height:1.8;margin-top:22px}@media(min-width:1500px){main{padding:40px 48px}.content-grid{grid-template-columns:370px 1fr}}@media(max-width:1150px){.sidebar{width:192px;padding:25px 14px}.workspace{margin-left:192px}main{padding:28px 24px}.topbar{padding:0 24px}.content-grid{grid-template-columns:1fr}.device-list{display:flex;overflow:auto}.device{min-width:260px;width:auto;margin:0 8px 0 0}.page-heading{align-items:flex-start}h1{font-size:27px}.stats{gap:10px}.stat{padding:16px}.stat>strong{font-size:26px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.environment{display:none}}@media(max-width:720px){.sidebar{width:66px;padding:22px 10px;align-items:center}.brand{margin-bottom:32px}.brand>div,.nav-label,nav button span,.sidebar-note,.sidebar-bottom{display:none}nav button{font-size:0;padding:13px;gap:0}.workspace{margin-left:66px}.topbar{height:60px;padding:0 16px}.topbar select{max-width:140px;font-size:11px}main{padding:24px 16px}.page-heading{display:block}.heading-actions{justify-content:flex-start;margin-top:20px}h1{font-size:26px}.stats{grid-template-columns:1fr 1fr}.content-grid{display:block}.content-grid>.panel{margin-bottom:20px}.panel-heading{padding:18px}.tab-body{padding:17px}.tabs{gap:15px;padding:0 15px}.tabs button{font-size:10px}.route-toolbar{flex-wrap:wrap;padding:12px 16px}.info-row{display:grid}.page-footer{display:block;line-height:2}.login-shell{grid-template-columns:1fr}.login-intro{padding:40px 10vw}.login-intro>.brand-mark{margin-bottom:20px}.login-intro h1{font-size:40px}.login-points{display:none}.login-card{padding:45px 0}.form-grid{grid-template-columns:1fr}.credential strong{max-width:120px}}.developer-intro,.developer-deployment{padding:24px;margin-bottom:20px}.developer-intro ol{line-height:2}.developer-intro label{display:grid;gap:8px;max-width:560px}.developer-intro .hint svg{vertical-align:middle}.developer-examples pre,.developer-deployment pre{padding:18px;background:#f4f6f8;border-radius:10px;overflow:auto;line-height:1.65}.developer-examples .tabs{margin-top:14px}.device-app-summary{padding:24px;margin-top:20px}.device-app-summary p{line-height:1.8;color:var(--muted,#64748b)}.application-toolbar{display:flex;align-items:end;gap:16px;margin:20px 0}.application-toolbar label{flex:1}.application-detail{padding:18px 0;border-top:1px solid #edf0f4;margin:16px 0}.application-detail .heading-actions{margin-top:16px}.application-detail code{word-break:break-all}.locale-switcher{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;border:1px solid currentColor;border-radius:5px;padding:5px 8px;opacity:.9;font-size:11px;max-width:155px}.locale-switcher select{font:inherit;color:inherit;background:transparent;border:0;outline-offset:3px;padding:2px 0;max-width:120px;min-width:0;cursor:pointer}.locale-switcher option{color:#172313;background:#f6f9f2}.login-locale{position:absolute;right:30px;top:24px;z-index:2}.locale-switcher select:focus-visible{outline:2px solid #739d38}@media(max-width:680px){.locale-switcher{padding:4px 5px;gap:4px;font-size:10px;max-width:105px}.locale-switcher select{max-width:74px}.locale-switcher svg{width:12px}.login-locale{right:16px;top:14px}}.topbar{gap:16px;flex-wrap:wrap}.topbar>div{gap:12px}.sidebar nav button{white-space:normal;text-align:left}.button{white-space:normal}.page-heading h1{overflow-wrap:anywhere}.stats,.metrics,.metric,.stat{min-width:0}.metric small,.stat small{overflow-wrap:anywhere}.panel-heading{gap:18px}.login-shell{position:relative}html[lang=ja] body{font-family:DM Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}html[lang=ko] body{font-family:DM Sans,Apple SD Gothic Neo,Malgun Gothic,sans-serif}
